Merge "Devstack scripts update"
This commit is contained in:
commit
dbc6843148
@ -4,20 +4,33 @@ if is_service_enabled murano; then
|
|||||||
if [[ "$1" == "source" ]]; then
|
if [[ "$1" == "source" ]]; then
|
||||||
# Initial source
|
# Initial source
|
||||||
source $TOP_DIR/lib/murano
|
source $TOP_DIR/lib/murano
|
||||||
|
source $TOP_DIR/lib/murano-dashboard
|
||||||
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||||
echo_summary "Installing Murano"
|
echo_summary "Installing Murano"
|
||||||
install_murano
|
install_murano
|
||||||
|
if is_service_enabled horizon; then
|
||||||
|
install_murano_dashboard
|
||||||
|
fi
|
||||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||||
echo_summary "Configuring Murano"
|
echo_summary "Configuring Murano"
|
||||||
configure_murano
|
configure_murano
|
||||||
create_murano_accounts
|
create_murano_accounts
|
||||||
|
if is_service_enabled horizon; then
|
||||||
|
configure_murano_dashboard
|
||||||
|
fi
|
||||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||||
echo_summary "Initializing Murano"
|
echo_summary "Initializing Murano"
|
||||||
init_murano
|
init_murano
|
||||||
|
if is_service_enabled horizon; then
|
||||||
|
init_murano_dashboard
|
||||||
|
fi
|
||||||
start_murano
|
start_murano
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$1" == "unstack" ]]; then
|
if [[ "$1" == "unstack" ]]; then
|
||||||
stop_murano
|
stop_murano
|
||||||
|
if is_service_enabled horizon; then
|
||||||
|
cleanup_murano_dashboard
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -83,15 +83,19 @@ function create_murano_accounts() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function mkdir_chown_stack {
|
||||||
|
if [[ ! -d "$1" ]]; then
|
||||||
|
sudo mkdir -p "$1"
|
||||||
|
fi
|
||||||
|
sudo chown $STACK_USER "$1"
|
||||||
|
}
|
||||||
|
|
||||||
# Entry points
|
# Entry points
|
||||||
# ------------
|
# ------------
|
||||||
|
|
||||||
# configure_murano() - Set config files, create data dirs, etc
|
# configure_murano() - Set config files, create data dirs, etc
|
||||||
function configure_murano {
|
function configure_murano {
|
||||||
if [[ ! -d $MURANO_CONF_DIR ]]; then
|
mkdir_chown_stack "$MURANO_CONF_DIR"
|
||||||
sudo mkdir -p $MURANO_CONF_DIR
|
|
||||||
fi
|
|
||||||
sudo chown $STACK_USER $MURANO_CONF_DIR
|
|
||||||
|
|
||||||
# Copy over Murano configuration file and configure common parameters.
|
# Copy over Murano configuration file and configure common parameters.
|
||||||
cp $MURANO_DIR/etc/murano/murano-api.conf.sample $MURANO_CONF_FILE
|
cp $MURANO_DIR/etc/murano/murano-api.conf.sample $MURANO_CONF_FILE
|
||||||
@ -136,10 +140,6 @@ function init_murano() {
|
|||||||
|
|
||||||
# install_murano() - Collect source and prepare
|
# install_murano() - Collect source and prepare
|
||||||
function install_murano() {
|
function install_murano() {
|
||||||
# temporary workaround until we get rid of this repo
|
|
||||||
git_clone $MURANO_COMMON_REPO $MURANO_COMMON_DIR $MURANO_BRANCH
|
|
||||||
setup_develop $MURANO_COMMON_DIR
|
|
||||||
|
|
||||||
git_clone $MURANO_REPO $MURANO_DIR $MURANO_BRANCH
|
git_clone $MURANO_REPO $MURANO_DIR $MURANO_BRANCH
|
||||||
setup_develop $MURANO_DIR
|
setup_develop $MURANO_DIR
|
||||||
}
|
}
|
||||||
|
178
contrib/devstack/lib/murano-dashboard
Normal file
178
contrib/devstack/lib/murano-dashboard
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
# lib/murano-dashboard
|
||||||
|
|
||||||
|
# Dependencies:
|
||||||
|
#
|
||||||
|
# - ``functions`` file
|
||||||
|
# - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
|
||||||
|
# - ``SERVICE_HOST``
|
||||||
|
|
||||||
|
# ``stack.sh`` calls the entry points in this order:
|
||||||
|
#
|
||||||
|
# - install_murano_dashboard
|
||||||
|
# - configure_murano_dashboard
|
||||||
|
# - cleanup_murano_dashboard
|
||||||
|
|
||||||
|
# Save trace setting
|
||||||
|
XTRACE=$(set +o | grep xtrace)
|
||||||
|
set -o xtrace
|
||||||
|
|
||||||
|
source $TOP_DIR/lib/horizon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
# --------
|
||||||
|
|
||||||
|
HORIZON_CONFIG=${HORIZON_CONFIG:-$HORIZON_DIR/openstack_dashboard/settings.py}
|
||||||
|
|
||||||
|
# Set up default repos
|
||||||
|
MURANO_DASHBOARD_REPO=${MURANO_DASHBOARD_REPO:-${GIT_BASE}/stackforge/murano-dashboard.git}
|
||||||
|
MURANO_DASHBOARD_BRANCH=${MURANO_DASHBOARD_BRANCH:-$MURANO_BRANCH}
|
||||||
|
MURANO_DASHBOARD_DIR=$DEST/murano-dashboard
|
||||||
|
|
||||||
|
MURANO_PYTHONCLIENT_REPO=${MURANO_PYTHONCLIENT_REPO:-${GIT_BASE}/stackforge/python-muranoclient.git}
|
||||||
|
MURANO_PYTHONCLIENT_BRANCH=${MURANO_PYTHONCLIENT_BRANCH:-$MURANO_BRANCH}
|
||||||
|
MURANO_PYTHONCLIENT_DIR=$DEST/murano-pythonclient
|
||||||
|
|
||||||
|
MURANO_METADATACLIENT_REPO=${MURANO_METADATACLIENT_REPO:-${GIT_BASE}/stackforge/murano-metadataclient.git}
|
||||||
|
MURANO_METADATACLIENT_BRANCH=${MURANO_METADATACLIENT_BRANCH:-$MURANO_BRANCH}
|
||||||
|
MURANO_METADATACLIENT_DIR=$DEST/murano-metadataclient
|
||||||
|
|
||||||
|
# Set up default directories
|
||||||
|
MURANO_DASHBOARD_DIR=$DEST/murano-dashboard
|
||||||
|
MURANO_PYTHONCLIENT_DIR=$DEST/python-muranoclient
|
||||||
|
|
||||||
|
# Murano metadata endpoint
|
||||||
|
MURANO_METADATA_PROTOCOL='http'
|
||||||
|
MURANO_METADATA_HOST=${MURANO_METADATA_HOST:-'localhost'}
|
||||||
|
MURANO_METADATA_PORT=${MURANO_METADATA_PORT:-8084}
|
||||||
|
|
||||||
|
MURANO_ADVNET_MAX_HOSTS=${MURANO_ADVNET_MAX_HOSTS:-250}
|
||||||
|
MURANO_ADVNET_MAX_ENVS=${MURANO_ADVNET_MAX_ENVS:-100}
|
||||||
|
MURANO_ADVNET_ENV_NETWORK=${MURANO_ADVNET_ENV_NETWORK:-'10.0.0.0'}
|
||||||
|
MURANO_ADVNET_TOPOLOGY=${MURANO_ADVNET_TOPOLOGY:-'routed'}
|
||||||
|
|
||||||
|
MURANO_DASHBOARD_CACHE_DIR=${MURANO_DASHBOARD_CACHE_DIR:-/tmp/murano}
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
# ---------
|
||||||
|
|
||||||
|
function insert_murano_configuration() {
|
||||||
|
local pattern="$1"
|
||||||
|
local insert_file="$2"
|
||||||
|
local target_file="$3"
|
||||||
|
|
||||||
|
sed -ne "/$pattern/r $insert_file" -e 1x -e '2,${x;p}' -e '${x;p}' -i $target_file
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function remove_murano_configuration() {
|
||||||
|
local config_file="$1"
|
||||||
|
|
||||||
|
if [[ -f "$config_file" ]]; then
|
||||||
|
sed -e '/^#MURANO_CONFIG_SECTION_BEGIN/,/^#MURANO_CONFIG_SECTION_END/ d' -i "$config_file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Entry points
|
||||||
|
# ------------
|
||||||
|
|
||||||
|
# configure_murano_dashboard() - Set config files, create data dirs, etc
|
||||||
|
function configure_murano_dashboard() {
|
||||||
|
local horizon_config_part=$(mktemp)
|
||||||
|
|
||||||
|
mkdir_chown_stack "$MURANO_DASHBOARD_CACHE_DIR"
|
||||||
|
|
||||||
|
# Opening Murano Configuration Section
|
||||||
|
cat << EOF >> "$horizon_config_part"
|
||||||
|
|
||||||
|
#MURANO_CONFIG_SECTION_BEGIN
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
METADATA_CACHE_DIR = '$MURANO_DASHBOARD_CACHE_DIR'
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(METADATA_CACHE_DIR, 'openstack-dashboard.sqlite')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
|
||||||
|
HORIZON_CONFIG['dashboards'] += ('murano',)
|
||||||
|
INSTALLED_APPS += ('muranodashboard','floppyforms',)
|
||||||
|
MIDDLEWARE_CLASSES += ('muranodashboard.middleware.ExceptionMiddleware',)
|
||||||
|
|
||||||
|
ADVANCED_NETWORKING_CONFIG = {
|
||||||
|
'max_environments': $MURANO_ADVNET_MAX_ENVS,
|
||||||
|
'max_hosts': $MURANO_ADVNET_MAX_HOSTS,
|
||||||
|
'env_ip_template': '$MURANO_ADVNET_ENV_NETWORK'
|
||||||
|
}
|
||||||
|
NETWORK_TOPOLOGY = '$MURANO_ADVNET_TOPOLOGY'
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
#MURANO_CONFIG_SECTION_END
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
insert_murano_configuration "from openstack_dashboard import policy" "$horizon_config_part" "$HORIZON_CONFIG"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# init_murano_dashboard() - Initialize databases, etc.
|
||||||
|
function init_murano_dashboard() {
|
||||||
|
# clean up from previous (possibly aborted) runs
|
||||||
|
# create required data files
|
||||||
|
|
||||||
|
local horizon_manage_py="$HORIZON_DIR/manage.py"
|
||||||
|
|
||||||
|
python "$horizon_manage_py" collectstatic --noinput
|
||||||
|
python "$horizon_manage_py" syncdb --noinput
|
||||||
|
|
||||||
|
restart_service $APACHE_NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# install_murano_dashboard() - Collect source and prepare
|
||||||
|
function install_murano_dashboard() {
|
||||||
|
echo_summary "Install Murano Dashboard"
|
||||||
|
|
||||||
|
# Keep this until it appears in global requirements.
|
||||||
|
sudo pip install django-floppyforms>=1.1
|
||||||
|
sudo pip install bunch
|
||||||
|
sudo pip install yaql==0.2.2
|
||||||
|
|
||||||
|
install_murano_pythonclient
|
||||||
|
install_murano_metadataclient
|
||||||
|
|
||||||
|
git_clone $MURANO_DASHBOARD_REPO $MURANO_DASHBOARD_DIR $MURANO_DASHBOARD_BRANCH
|
||||||
|
setup_develop $MURANO_DASHBOARD_DIR
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function install_murano_pythonclient() {
|
||||||
|
git_clone $MURANO_PYTHONCLIENT_REPO $MURANO_PYTHONCLIENT_DIR $MURANO_PYTHONCLIENT_BRANCH
|
||||||
|
setup_develop $MURANO_PYTHONCLIENT_DIR
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function install_murano_metadataclient() {
|
||||||
|
#TODO (dteselkin): remove ASAP. For now it's a required dependency for murano-dashboard.
|
||||||
|
git_clone $MURANO_METADATACLIENT_REPO $MURANO_METADATACLIENT_DIR $MURANO_METADATACLIENT_BRANCH
|
||||||
|
setup_develop $MURANO_METADATACLIENT_DIR
|
||||||
|
}
|
||||||
|
|
||||||
|
# cleanup_murano_dashboard() - Remove residual data files, anything left over from previous
|
||||||
|
# runs that a clean run would need to clean up
|
||||||
|
function cleanup_murano_dashboard() {
|
||||||
|
echo_summary "Cleanup Murano Dashboard"
|
||||||
|
remove_murano_configuration "$HORIZON_CONFIG"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Restore xtrace
|
||||||
|
$XTRACE
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# End:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user