diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 2e44184104..a5536c0dfd 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -1,132 +1,10 @@ -# Setting configuration file for Manila services -# ---------------------------------------------- -# 1) It is possible to set any custom opt to any config group using following: -# $ export MANILA_OPTGROUP_foo_bar=value -# where 'foo' is name of config group and 'bar' is name of option. -# -# 2) 'MANILA_CONFIGURE_GROUPS' contains list of config group names used to create -# config groups, but 'MANILA_ENABLED_BACKENDS' is used to set config groups as -# Manila share back ends. Both can be set like following: -# $ export MANILA_ENABLED_BACKENDS=foo,bar -# where 'foo' and 'bar' are names of config groups with opts for some share -# drivers. By default they are equal. Also be attentive, if you modify both, -# make sure 'MANILA_CONFIGURE_GROUPS' contains all values from -# 'MANILA_ENABLED_BACKENDS'. -# DEFAULT group is always defined, no need to specify it within 'MANILA_CONFIGURE_GROUPS'. -# -# 3) Two default backends are used for compatibility with previous approach. -# They have same configuration except name of backend. Both use generic driver. -# They can be enabled by adding values of following env vars: -# 'MANILA_BACKEND1_CONFIG_GROUP_NAME' and 'MANILA_BACKEND2_CONFIG_GROUP_NAME' -# to the env var 'MANILA_ENABLED_BACKENDS' or will be enabled -# if 'MANILA_ENABLED_BACKENDS' is empty. +# Plugin file for enabling manila services +# ---------------------------------------- # Save trace setting XTRACE=$(set +o | grep xtrace) set -o xtrace -# Defaults -# -------- - -MANILA_GIT_BASE=${MANILA_GIT_BASE:-https://github.com} -MANILA_REPO_ROOT=${MANILA_REPO_ROOT:-openstack} - -MANILACLIENT_REPO=${MANILA_GIT_BASE}/${MANILA_REPO_ROOT}/python-manilaclient.git -MANILACLIENT_BRANCH=${MANILACLIENT_BRANCH:-master} - -MANILA_UI_REPO=${MANILA_GIT_BASE}/${MANILA_REPO_ROOT}/manila-ui.git -MANILA_UI_BRANCH=${MANILA_UI_BRANCH:-$MANILACLIENT_BRANCH} -MANILA_UI_ENABLED=$(trueorfalse True MANILA_UI_ENABLED) - -# set up default directories -MANILA_DIR=${MANILA_DIR:=$DEST/manila} -MANILA_LOCK_PATH=${MANILA_LOCK_PATH:=$OSLO_LOCK_PATH} -MANILA_LOCK_PATH=${MANILA_LOCK_PATH:=$MANILA_DIR/manila_locks} -MANILACLIENT_DIR=${MANILACLIENT_DIR:=$DEST/python-manilaclient} -MANILA_UI_DIR=${MANILA_UI_DIR:=$DEST/manila-ui} -MANILA_STATE_PATH=${MANILA_STATE_PATH:=$DATA_DIR/manila} -MANILA_AUTH_CACHE_DIR=${MANILA_AUTH_CACHE_DIR:-/var/cache/manila} - -MANILA_CONF_DIR=${MANILA_CONF_DIR:-/etc/manila} -MANILA_CONF=$MANILA_CONF_DIR/manila.conf -MANILA_API_PASTE_INI=$MANILA_CONF_DIR/api-paste.ini - -MANILA_DEFAULT_SHARE_TYPE=${MANILA_DEFAULT_SHARE_TYPE:-default} -# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS is expected to contain extra specs key-value pairs, -# that should be assigned to default share type. Both - qualified and unqualified extra specs are supported. -# Pairs are separated by spaces, value is assigned to key using sign of equality. Examples: -# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar' -# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar quuz=xyzzy' -# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar quuz=xyzzy fakeprefix:baz=waldo' -MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS=${MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS:-''} - -# Public facing bits -MANILA_SERVICE_HOST=${MANILA_SERVICE_HOST:-$SERVICE_HOST} -MANILA_SERVICE_PORT=${MANILA_SERVICE_PORT:-8786} -MANILA_SERVICE_PORT_INT=${MANILA_SERVICE_PORT_INT:-18776} -MANILA_SERVICE_PROTOCOL=${MANILA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL} - -# Support entry points installation of console scripts -if [[ -d $MANILA_DIR/bin ]]; then - MANILA_BIN_DIR=$MANILA_DIR/bin -else - MANILA_BIN_DIR=$(get_python_exec_prefix) -fi - -# Common opts -SHARE_NAME_PREFIX=${SHARE_NAME_PREFIX:-share-} -MANILA_ENABLED_SHARE_PROTOCOLS=${ENABLED_SHARE_PROTOCOLS:-"NFS,CIFS"} -MANILA_SCHEDULER_DRIVER=${MANILA_SCHEDULER_DRIVER:-manila.scheduler.drivers.filter.FilterScheduler} -MANILA_SERVICE_SECGROUP="manila-service" - -# Following env var defines whether to apply downgrade migrations setting up DB or not. -# If it is set to False, then only 'upgrade' migrations will be applied. -# If it is set to True, then will be applied 'upgrade', 'downgrade' and 'upgrade' -# migrations again. -MANILA_USE_DOWNGRADE_MIGRATIONS=${MANILA_USE_DOWNGRADE_MIGRATIONS:-"False"} - -# Common info for Generic driver(s) -SHARE_DRIVER=${SHARE_DRIVER:-manila.share.drivers.generic.GenericShareDriver} - -eval USER_HOME=~ -MANILA_PATH_TO_PUBLIC_KEY=${MANILA_PATH_TO_PUBLIC_KEY:-"$USER_HOME/.ssh/id_rsa.pub"} -MANILA_PATH_TO_PRIVATE_KEY=${MANILA_PATH_TO_PRIVATE_KEY:-"$USER_HOME/.ssh/id_rsa"} -MANILA_SERVICE_KEYPAIR_NAME=${MANILA_SERVICE_KEYPAIR_NAME:-"manila-service"} - -MANILA_SERVICE_INSTANCE_USER=${MANILA_SERVICE_INSTANCE_USER:-"manila"} -MANILA_SERVICE_IMAGE_URL=${MANILA_SERVICE_IMAGE_URL:-"https://github.com/uglide/manila-image-elements/releases/download/0.1.0/manila-service-image.qcow2"} -MANILA_SERVICE_IMAGE_NAME=${MANILA_SERVICE_IMAGE_NAME:-"manila-service-image"} -# Third party CI Vendors should set this to false to skip the service image download -MANILA_SERVICE_IMAGE_ENABLED=$(trueorfalse True MANILA_SERVICE_IMAGE_ENABLED) - -MANILA_USE_SERVICE_INSTANCE_PASSWORD=${MANILA_USE_SERVICE_INSTANCE_PASSWORD:-"False"} -MANILA_SERVICE_INSTANCE_PASSWORD=${MANILA_SERVICE_INSTANCE_PASSWORD:-"manila"} - -MANILA_SERVICE_VM_FLAVOR_REF=${MANILA_SERVICE_VM_FLAVOR_REF:-100} -MANILA_SERVICE_VM_FLAVOR_NAME=${MANILA_SERVICE_VM_FLAVOR_NAME:-"manila-service-flavor"} -MANILA_SERVICE_VM_FLAVOR_RAM=${MANILA_SERVICE_VM_FLAVOR_RAM:-128} -MANILA_SERVICE_VM_FLAVOR_DISK=${MANILA_SERVICE_VM_FLAVOR_DISK:-0} -MANILA_SERVICE_VM_FLAVOR_VCPUS=${MANILA_SERVICE_VM_FLAVOR_VCPUS:-1} - -# Support for multi backend configuration (default is no support) -MANILA_MULTI_BACKEND=$(trueorfalse False MANILA_MULTI_BACKEND) -DEPRECATED_TEXT="$DEPRECATED_TEXT\n'MANILA_MULTI_BACKEND' is deprecated, - it makes influence only when is set to True and 'MANILA_ENABLED_BACKENDS' is not set. - Use 'MANILA_ENABLED_BACKENDS' instead if you want to use custom setting. - Set there a list of back end names to be enabled.\n - To configure custom back ends use (any opt in any group can be set in this way) following: - MANILA_OPTGROUP_foo_bar=value - where 'foo' is name of config group and 'bar' is name of option.\n" - -# First share backend data, that will be used in any installation -MANILA_BACKEND1_CONFIG_GROUP_NAME=${MANILA_BACKEND1_CONFIG_GROUP_NAME:-generic1} # deprecated -MANILA_SHARE_BACKEND1_NAME=${MANILA_SHARE_BACKEND1_NAME:-GENERIC1} # deprecated - -# Second share backend data, that will be used only with MANILA_MULTI_BACKEND=True -MANILA_BACKEND2_CONFIG_GROUP_NAME=${MANILA_BACKEND2_CONFIG_GROUP_NAME:-generic2} # deprecated -MANILA_SHARE_BACKEND2_NAME=${MANILA_SHARE_BACKEND2_NAME:-GENERIC2} # deprecated - - # Entry Points # ------------ diff --git a/devstack/settings b/devstack/settings index baaa3be83e..6e481b3600 100644 --- a/devstack/settings +++ b/devstack/settings @@ -1,5 +1,135 @@ -# Devstack settings +# Setting configuration file for manila services +# ---------------------------------------------- +# 1) It is possible to set any custom opt to any config group using following: +# $ export MANILA_OPTGROUP_foo_bar=value +# where 'foo' is name of config group and 'bar' is name of option. +# +# 2) 'MANILA_CONFIGURE_GROUPS' contains list of config group names used to create +# config groups, but 'MANILA_ENABLED_BACKENDS' is used to set config groups as +# Manila share back ends. Both can be set like following: +# $ export MANILA_ENABLED_BACKENDS=foo,bar +# where 'foo' and 'bar' are names of config groups with opts for some share +# drivers. By default they are equal. Also be attentive, if you modify both, +# make sure 'MANILA_CONFIGURE_GROUPS' contains all values from +# 'MANILA_ENABLED_BACKENDS'. +# DEFAULT group is always defined, no need to specify it within 'MANILA_CONFIGURE_GROUPS'. +# +# 3) Two default backends are used for compatibility with previous approach. +# They have same configuration except name of backend. Both use generic driver. +# They can be enabled by adding values of following env vars: +# 'MANILA_BACKEND1_CONFIG_GROUP_NAME' and 'MANILA_BACKEND2_CONFIG_GROUP_NAME' +# to the env var 'MANILA_ENABLED_BACKENDS' or will be enabled +# if 'MANILA_ENABLED_BACKENDS' is empty. + +# Defaults +# -------- +MANILA_GIT_BASE=${MANILA_GIT_BASE:-https://github.com} +MANILA_REPO_ROOT=${MANILA_REPO_ROOT:-openstack} + +MANILACLIENT_REPO=${MANILA_GIT_BASE}/${MANILA_REPO_ROOT}/python-manilaclient.git +MANILACLIENT_BRANCH=${MANILACLIENT_BRANCH:-master} + +MANILA_UI_REPO=${MANILA_GIT_BASE}/${MANILA_REPO_ROOT}/manila-ui.git +MANILA_UI_BRANCH=${MANILA_UI_BRANCH:-$MANILACLIENT_BRANCH} +MANILA_UI_ENABLED=$(trueorfalse True MANILA_UI_ENABLED) + +# Set up default directories +MANILA_DIR=${MANILA_DIR:=$DEST/manila} +MANILA_LOCK_PATH=${MANILA_LOCK_PATH:=$OSLO_LOCK_PATH} +MANILA_LOCK_PATH=${MANILA_LOCK_PATH:=$MANILA_DIR/manila_locks} +MANILACLIENT_DIR=${MANILACLIENT_DIR:=$DEST/python-manilaclient} +MANILA_UI_DIR=${MANILA_UI_DIR:=$DEST/manila-ui} +MANILA_STATE_PATH=${MANILA_STATE_PATH:=$DATA_DIR/manila} +MANILA_AUTH_CACHE_DIR=${MANILA_AUTH_CACHE_DIR:-/var/cache/manila} + +MANILA_CONF_DIR=${MANILA_CONF_DIR:-/etc/manila} +MANILA_CONF=$MANILA_CONF_DIR/manila.conf +MANILA_API_PASTE_INI=$MANILA_CONF_DIR/api-paste.ini + +MANILA_DEFAULT_SHARE_TYPE=${MANILA_DEFAULT_SHARE_TYPE:-default} +# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS is expected to contain extra specs key-value pairs, +# that should be assigned to default share type. Both - qualified and unqualified extra specs are supported. +# Pairs are separated by spaces, value is assigned to key using sign of equality. Examples: +# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar' +# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar quuz=xyzzy' +# MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='foo=bar quuz=xyzzy fakeprefix:baz=waldo' + + +MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS=${MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS:-''} + +# Public facing bits +MANILA_SERVICE_HOST=${MANILA_SERVICE_HOST:-$SERVICE_HOST} +MANILA_SERVICE_PORT=${MANILA_SERVICE_PORT:-8786} +MANILA_SERVICE_PORT_INT=${MANILA_SERVICE_PORT_INT:-18776} +MANILA_SERVICE_PROTOCOL=${MANILA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL} + + +# Support entry points installation of console scripts +if [[ -d $MANILA_DIR/bin ]]; then + MANILA_BIN_DIR=$MANILA_DIR/bin +else + MANILA_BIN_DIR=$(get_python_exec_prefix) +fi + + +# Common opts +SHARE_NAME_PREFIX=${SHARE_NAME_PREFIX:-share-} +MANILA_ENABLED_SHARE_PROTOCOLS=${ENABLED_SHARE_PROTOCOLS:-"NFS,CIFS"} +MANILA_SCHEDULER_DRIVER=${MANILA_SCHEDULER_DRIVER:-manila.scheduler.filter_scheduler.FilterScheduler} +MANILA_SERVICE_SECGROUP="manila-service" + +# Following env var defines whether to apply downgrade migrations setting up DB or not. +# If it is set to False, then only 'upgrade' migrations will be applied. +# If it is set to True, then will be applied 'upgrade', 'downgrade' and 'upgrade' +# migrations again. +MANILA_USE_DOWNGRADE_MIGRATIONS=${MANILA_USE_DOWNGRADE_MIGRATIONS:-"False"} + +# Common info for Generic driver(s) +SHARE_DRIVER=${SHARE_DRIVER:-manila.share.drivers.generic.GenericShareDriver} + +eval USER_HOME=~ +MANILA_PATH_TO_PUBLIC_KEY=${MANILA_PATH_TO_PUBLIC_KEY:-"$USER_HOME/.ssh/id_rsa.pub"} +MANILA_PATH_TO_PRIVATE_KEY=${MANILA_PATH_TO_PRIVATE_KEY:-"$USER_HOME/.ssh/id_rsa"} +MANILA_SERVICE_KEYPAIR_NAME=${MANILA_SERVICE_KEYPAIR_NAME:-"manila-service"} + +MANILA_SERVICE_INSTANCE_USER=${MANILA_SERVICE_INSTANCE_USER:-"manila"} +MANILA_SERVICE_IMAGE_URL=${MANILA_SERVICE_IMAGE_URL:-"https://github.com/uglide/manila-image-elements/releases/download/0.1.0/manila-service-image.qcow2"} +MANILA_SERVICE_IMAGE_NAME=${MANILA_SERVICE_IMAGE_NAME:-"manila-service-image"} + +# Third party CI Vendors should set this to false to skip the service image download +MANILA_SERVICE_IMAGE_ENABLED=$(trueorfalse True MANILA_SERVICE_IMAGE_ENABLED) + +MANILA_USE_SERVICE_INSTANCE_PASSWORD=${MANILA_USE_SERVICE_INSTANCE_PASSWORD:-"False"} +MANILA_SERVICE_INSTANCE_PASSWORD=${MANILA_SERVICE_INSTANCE_PASSWORD:-"manila"} + +MANILA_SERVICE_VM_FLAVOR_REF=${MANILA_SERVICE_VM_FLAVOR_REF:-100} +MANILA_SERVICE_VM_FLAVOR_NAME=${MANILA_SERVICE_VM_FLAVOR_NAME:-"manila-service-flavor"} +MANILA_SERVICE_VM_FLAVOR_RAM=${MANILA_SERVICE_VM_FLAVOR_RAM:-128} +MANILA_SERVICE_VM_FLAVOR_DISK=${MANILA_SERVICE_VM_FLAVOR_DISK:-0} +MANILA_SERVICE_VM_FLAVOR_VCPUS=${MANILA_SERVICE_VM_FLAVOR_VCPUS:-1} + +# Support for multi backend configuration (default is no support) +MANILA_MULTI_BACKEND=$(trueorfalse False MANILA_MULTI_BACKEND) +DEPRECATED_TEXT="$DEPRECATED_TEXT\n'MANILA_MULTI_BACKEND' is deprecated, + it makes influence only when is set to True and 'MANILA_ENABLED_BACKENDS' is not set. + Use 'MANILA_ENABLED_BACKENDS' instead if you want to use custom setting. + Set there a list of back end names to be enabled.\n + To configure custom back ends use (any opt in any group can be set in this way) following: + MANILA_OPTGROUP_foo_bar=value + where 'foo' is name of config group and 'bar' is name of option.\n" + +# First share backend data, that will be used in any installation +MANILA_BACKEND1_CONFIG_GROUP_NAME=${MANILA_BACKEND1_CONFIG_GROUP_NAME:-generic1} # deprecated +MANILA_SHARE_BACKEND1_NAME=${MANILA_SHARE_BACKEND1_NAME:-GENERIC1} # deprecated + +# Second share backend data, that will be used only with MANILA_MULTI_BACKEND=True +MANILA_BACKEND2_CONFIG_GROUP_NAME=${MANILA_BACKEND2_CONFIG_GROUP_NAME:-generic2} # deprecated +MANILA_SHARE_BACKEND2_NAME=${MANILA_SHARE_BACKEND2_NAME:-GENERIC2} # deprecated + + +# Enable manila services +# ---------------------- # We have to add Manila to enabled services for screen_it to work # It consists of 3 parts: m-api (API), m-shr (Share) and m-sch (Scheduler).