Merge "Add pg_createcluster creating process for psql version after 9.3"
diff --git a/data/devstack-plugins-registry.footer b/data/devstack-plugins-registry.footer
deleted file mode 100644
index 669cb8d..0000000
--- a/data/devstack-plugins-registry.footer
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Drivers
-=======
-
-+--------------------+-------------------------------------------------+------------------+
-|Plugin Name |URL |Comments |
-+--------------------+-------------------------------------------------+------------------+
-|dragonflow |git://git.openstack.org/openstack/dragonflow |[d1]_ |
-+--------------------+-------------------------------------------------+------------------+
-|odl |git://git.openstack.org/openstack/networking-odl |[d2]_ |
-+--------------------+-------------------------------------------------+------------------+
-
-.. [d1] demonstrates example of installing 3rd party SDN controller
-.. [d2] demonstrates a pretty advanced set of modes that that allow
- one to run OpenDayLight either from a pre-existing install, or
- also from source
-
-Alternate Configs
-=================
-
-+-------------+------------------------------------------------------------+------------+
-| Plugin Name | URL | Comments |
-| | | |
-+-------------+------------------------------------------------------------+------------+
-|glusterfs |git://git.openstack.org/openstack/devstack-plugin-glusterfs | |
-+-------------+------------------------------------------------------------+------------+
-| | | |
-+-------------+------------------------------------------------------------+------------+
diff --git a/data/devstack-plugins-registry.header b/data/devstack-plugins-registry.header
index 687db04..46d5e60 100644
--- a/data/devstack-plugins-registry.header
+++ b/data/devstack-plugins-registry.header
@@ -1,3 +1,8 @@
+..
+ Note to patch submitters: this file is covered by a periodic proposal
+ job. You should edit the files data/devstack-plugins-registry.footer
+ data/devstack-plugins-registry.header instead of this one.
+
==========================
DevStack Plugin Registry
==========================
@@ -14,6 +19,6 @@
namespace, which includes but is not limited to official OpenStack
projects.
-+------------------+-------------------------------------------------------------------------+
-|Plugin Name |URL |
-+------------------+-------------------------------------------------------------------------+
++----------------------------+-------------------------------------------------------------------------+
+|Plugin Name |URL |
++----------------------------+-------------------------------------------------------------------------+
diff --git a/doc/source/plugin-registry.rst b/doc/source/plugin-registry.rst
index b96883a..29b743f 100644
--- a/doc/source/plugin-registry.rst
+++ b/doc/source/plugin-registry.rst
@@ -1,7 +1,7 @@
..
- Note to reviewers: the intent of this file is to be easy for
- community members to update. As such fast approving (single core +2)
- is fine as long as you've identified that the plugin listed actually exists.
+ Note to patch submitters: this file is covered by a periodic proposal
+ job. You should edit the files data/devstack-plugins-registry.footer
+ data/devstack-plugins-registry.header instead of this one.
==========================
DevStack Plugin Registry
@@ -12,44 +12,186 @@
exist. Any project that wishes to list their plugin here is welcomed
to.
-Official OpenStack Projects
-===========================
+Detected Plugins
+================
-The following are plugins that exist for official OpenStack projects.
+The following are plugins that a script has found in the openstack/
+namespace, which includes but is not limited to official OpenStack
+projects.
-+------------------+---------------------------------------------+--------------------+
-|Plugin Name |URL |Comments |
-+------------------+---------------------------------------------+--------------------+
-|aodh |git://git.openstack.org/openstack/aodh | alarming |
-+------------------+---------------------------------------------+--------------------+
-|barbican |git://git.openstack.org/openstack/barbican | key management |
-+------------------+---------------------------------------------+--------------------+
-|ceilometer |git://git.openstack.org/openstack/ceilometer | metering |
-+------------------+---------------------------------------------+--------------------+
-|congress |git://git.openstack.org/openstack/congress | governance |
-+------------------+---------------------------------------------+--------------------+
-|cue |git://git.openstack.org/openstack/cue | message-broker |
-+------------------+---------------------------------------------+--------------------+
-|gnocchi |git://git.openstack.org/openstack/gnocchi | metric |
-+------------------+---------------------------------------------+--------------------+
-|ironic |git://git.openstack.org/openstack/ironic | baremetal |
-+------------------+---------------------------------------------+--------------------+
-|magnum |git://git.openstack.org/openstack/magnum | |
-+------------------+---------------------------------------------+--------------------+
-|manila |git://git.openstack.org/openstack/manila | file shares |
-+------------------+---------------------------------------------+--------------------+
-|mistral |git://git.openstack.org/openstack/mistral | |
-+------------------+---------------------------------------------+--------------------+
-|rally |git://git.openstack.org/openstack/rally | |
-+------------------+---------------------------------------------+--------------------+
-|sahara |git://git.openstack.org/openstack/sahara | |
-+------------------+---------------------------------------------+--------------------+
-|trove |git://git.openstack.org/openstack/trove | |
-+------------------+---------------------------------------------+--------------------+
-|zaqar |git://git.openstack.org/openstack/zaqar | |
-+------------------+---------------------------------------------+--------------------+
-
-
++----------------------------+-------------------------------------------------------------------------+
+|Plugin Name |URL |
++----------------------------+-------------------------------------------------------------------------+
+|aodh |git://git.openstack.org/openstack/aodh |
++----------------------------+-------------------------------------------------------------------------+
+|app-catalog-ui |git://git.openstack.org/openstack/app-catalog-ui |
++----------------------------+-------------------------------------------------------------------------+
+|astara |git://git.openstack.org/openstack/astara |
++----------------------------+-------------------------------------------------------------------------+
+|barbican |git://git.openstack.org/openstack/barbican |
++----------------------------+-------------------------------------------------------------------------+
+|blazar |git://git.openstack.org/openstack/blazar |
++----------------------------+-------------------------------------------------------------------------+
+|ceilometer |git://git.openstack.org/openstack/ceilometer |
++----------------------------+-------------------------------------------------------------------------+
+|ceilometer-powervm |git://git.openstack.org/openstack/ceilometer-powervm |
++----------------------------+-------------------------------------------------------------------------+
+|cerberus |git://git.openstack.org/openstack/cerberus |
++----------------------------+-------------------------------------------------------------------------+
+|cloudkitty |git://git.openstack.org/openstack/cloudkitty |
++----------------------------+-------------------------------------------------------------------------+
+|collectd-ceilometer-plugin |git://git.openstack.org/openstack/collectd-ceilometer-plugin |
++----------------------------+-------------------------------------------------------------------------+
+|congress |git://git.openstack.org/openstack/congress |
++----------------------------+-------------------------------------------------------------------------+
+|cue |git://git.openstack.org/openstack/cue |
++----------------------------+-------------------------------------------------------------------------+
+|designate |git://git.openstack.org/openstack/designate |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-amqp1 |git://git.openstack.org/openstack/devstack-plugin-amqp1 |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-bdd |git://git.openstack.org/openstack/devstack-plugin-bdd |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-ceph |git://git.openstack.org/openstack/devstack-plugin-ceph |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-glusterfs |git://git.openstack.org/openstack/devstack-plugin-glusterfs |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-hdfs |git://git.openstack.org/openstack/devstack-plugin-hdfs |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-pika |git://git.openstack.org/openstack/devstack-plugin-pika |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-sheepdog |git://git.openstack.org/openstack/devstack-plugin-sheepdog |
++----------------------------+-------------------------------------------------------------------------+
+|devstack-plugin-zmq |git://git.openstack.org/openstack/devstack-plugin-zmq |
++----------------------------+-------------------------------------------------------------------------+
+|dragonflow |git://git.openstack.org/openstack/dragonflow |
++----------------------------+-------------------------------------------------------------------------+
+|drbd-devstack |git://git.openstack.org/openstack/drbd-devstack |
++----------------------------+-------------------------------------------------------------------------+
+|ec2-api |git://git.openstack.org/openstack/ec2-api |
++----------------------------+-------------------------------------------------------------------------+
+|freezer |git://git.openstack.org/openstack/freezer |
++----------------------------+-------------------------------------------------------------------------+
+|freezer-api |git://git.openstack.org/openstack/freezer-api |
++----------------------------+-------------------------------------------------------------------------+
+|freezer-web-ui |git://git.openstack.org/openstack/freezer-web-ui |
++----------------------------+-------------------------------------------------------------------------+
+|gce-api |git://git.openstack.org/openstack/gce-api |
++----------------------------+-------------------------------------------------------------------------+
+|gnocchi |git://git.openstack.org/openstack/gnocchi |
++----------------------------+-------------------------------------------------------------------------+
+|ironic |git://git.openstack.org/openstack/ironic |
++----------------------------+-------------------------------------------------------------------------+
+|ironic-inspector |git://git.openstack.org/openstack/ironic-inspector |
++----------------------------+-------------------------------------------------------------------------+
+|kingbird |git://git.openstack.org/openstack/kingbird |
++----------------------------+-------------------------------------------------------------------------+
+|kuryr |git://git.openstack.org/openstack/kuryr |
++----------------------------+-------------------------------------------------------------------------+
+|magnum |git://git.openstack.org/openstack/magnum |
++----------------------------+-------------------------------------------------------------------------+
+|manila |git://git.openstack.org/openstack/manila |
++----------------------------+-------------------------------------------------------------------------+
+|mistral |git://git.openstack.org/openstack/mistral |
++----------------------------+-------------------------------------------------------------------------+
+|monasca-api |git://git.openstack.org/openstack/monasca-api |
++----------------------------+-------------------------------------------------------------------------+
+|murano |git://git.openstack.org/openstack/murano |
++----------------------------+-------------------------------------------------------------------------+
+|networking-6wind |git://git.openstack.org/openstack/networking-6wind |
++----------------------------+-------------------------------------------------------------------------+
+|networking-bagpipe |git://git.openstack.org/openstack/networking-bagpipe |
++----------------------------+-------------------------------------------------------------------------+
+|networking-bgpvpn |git://git.openstack.org/openstack/networking-bgpvpn |
++----------------------------+-------------------------------------------------------------------------+
+|networking-calico |git://git.openstack.org/openstack/networking-calico |
++----------------------------+-------------------------------------------------------------------------+
+|networking-cisco |git://git.openstack.org/openstack/networking-cisco |
++----------------------------+-------------------------------------------------------------------------+
+|networking-fortinet |git://git.openstack.org/openstack/networking-fortinet |
++----------------------------+-------------------------------------------------------------------------+
+|networking-generic-switch |git://git.openstack.org/openstack/networking-generic-switch |
++----------------------------+-------------------------------------------------------------------------+
+|networking-infoblox |git://git.openstack.org/openstack/networking-infoblox |
++----------------------------+-------------------------------------------------------------------------+
+|networking-l2gw |git://git.openstack.org/openstack/networking-l2gw |
++----------------------------+-------------------------------------------------------------------------+
+|networking-midonet |git://git.openstack.org/openstack/networking-midonet |
++----------------------------+-------------------------------------------------------------------------+
+|networking-mlnx |git://git.openstack.org/openstack/networking-mlnx |
++----------------------------+-------------------------------------------------------------------------+
+|networking-nec |git://git.openstack.org/openstack/networking-nec |
++----------------------------+-------------------------------------------------------------------------+
+|networking-odl |git://git.openstack.org/openstack/networking-odl |
++----------------------------+-------------------------------------------------------------------------+
+|networking-ofagent |git://git.openstack.org/openstack/networking-ofagent |
++----------------------------+-------------------------------------------------------------------------+
+|networking-ovn |git://git.openstack.org/openstack/networking-ovn |
++----------------------------+-------------------------------------------------------------------------+
+|networking-ovs-dpdk |git://git.openstack.org/openstack/networking-ovs-dpdk |
++----------------------------+-------------------------------------------------------------------------+
+|networking-plumgrid |git://git.openstack.org/openstack/networking-plumgrid |
++----------------------------+-------------------------------------------------------------------------+
+|networking-powervm |git://git.openstack.org/openstack/networking-powervm |
++----------------------------+-------------------------------------------------------------------------+
+|networking-sfc |git://git.openstack.org/openstack/networking-sfc |
++----------------------------+-------------------------------------------------------------------------+
+|networking-vsphere |git://git.openstack.org/openstack/networking-vsphere |
++----------------------------+-------------------------------------------------------------------------+
+|neutron |git://git.openstack.org/openstack/neutron |
++----------------------------+-------------------------------------------------------------------------+
+|neutron-lbaas |git://git.openstack.org/openstack/neutron-lbaas |
++----------------------------+-------------------------------------------------------------------------+
+|neutron-lbaas-dashboard |git://git.openstack.org/openstack/neutron-lbaas-dashboard |
++----------------------------+-------------------------------------------------------------------------+
+|neutron-vpnaas |git://git.openstack.org/openstack/neutron-vpnaas |
++----------------------------+-------------------------------------------------------------------------+
+|nova-docker |git://git.openstack.org/openstack/nova-docker |
++----------------------------+-------------------------------------------------------------------------+
+|nova-powervm |git://git.openstack.org/openstack/nova-powervm |
++----------------------------+-------------------------------------------------------------------------+
+|octavia |git://git.openstack.org/openstack/octavia |
++----------------------------+-------------------------------------------------------------------------+
+|osprofiler |git://git.openstack.org/openstack/osprofiler |
++----------------------------+-------------------------------------------------------------------------+
+|rally |git://git.openstack.org/openstack/rally |
++----------------------------+-------------------------------------------------------------------------+
+|sahara |git://git.openstack.org/openstack/sahara |
++----------------------------+-------------------------------------------------------------------------+
+|sahara-dashboard |git://git.openstack.org/openstack/sahara-dashboard |
++----------------------------+-------------------------------------------------------------------------+
+|scalpels |git://git.openstack.org/openstack/scalpels |
++----------------------------+-------------------------------------------------------------------------+
+|searchlight |git://git.openstack.org/openstack/searchlight |
++----------------------------+-------------------------------------------------------------------------+
+|senlin |git://git.openstack.org/openstack/senlin |
++----------------------------+-------------------------------------------------------------------------+
+|smaug |git://git.openstack.org/openstack/smaug |
++----------------------------+-------------------------------------------------------------------------+
+|solum |git://git.openstack.org/openstack/solum |
++----------------------------+-------------------------------------------------------------------------+
+|tacker |git://git.openstack.org/openstack/tacker |
++----------------------------+-------------------------------------------------------------------------+
+|tap-as-a-service |git://git.openstack.org/openstack/tap-as-a-service |
++----------------------------+-------------------------------------------------------------------------+
+|tricircle |git://git.openstack.org/openstack/tricircle |
++----------------------------+-------------------------------------------------------------------------+
+|trove |git://git.openstack.org/openstack/trove |
++----------------------------+-------------------------------------------------------------------------+
+|trove-dashboard |git://git.openstack.org/openstack/trove-dashboard |
++----------------------------+-------------------------------------------------------------------------+
+|vitrage |git://git.openstack.org/openstack/vitrage |
++----------------------------+-------------------------------------------------------------------------+
+|vitrage-dashboard |git://git.openstack.org/openstack/vitrage-dashboard |
++----------------------------+-------------------------------------------------------------------------+
+|vmware-nsx |git://git.openstack.org/openstack/vmware-nsx |
++----------------------------+-------------------------------------------------------------------------+
+|watcher |git://git.openstack.org/openstack/watcher |
++----------------------------+-------------------------------------------------------------------------+
+|watcher-dashboard |git://git.openstack.org/openstack/watcher-dashboard |
++----------------------------+-------------------------------------------------------------------------+
+|zaqar |git://git.openstack.org/openstack/zaqar |
++----------------------------+-------------------------------------------------------------------------+
Drivers
=======
@@ -78,34 +220,3 @@
+-------------+------------------------------------------------------------+------------+
| | | |
+-------------+------------------------------------------------------------+------------+
-
-Additional Services
-===================
-
-+-----------------+------------------------------------------------------------+------------+
-| Plugin Name | URL | Comments |
-| | | |
-+-----------------+------------------------------------------------------------+------------+
-|amqp1 |git://git.openstack.org/openstack/devstack-plugin-amqp1 | |
-+-----------------+------------------------------------------------------------+------------+
-|bdd |git://git.openstack.org/openstack/devstack-plugin-bdd | |
-+-----------------+------------------------------------------------------------+------------+
-|ec2-api |git://git.openstack.org/openstack/ec2-api |[as1]_ |
-+-----------------+------------------------------------------------------------+------------+
-|glusterfs |git://git.openstack.org/openstack/devstack-plugin-glusterfs | |
-+-----------------+------------------------------------------------------------+------------+
-|hdfs |git://git.openstack.org/openstack/devstack-plugin-hdfs | |
-+-----------------+------------------------------------------------------------+------------+
-|ironic-inspector |git://git.openstack.org/openstack/ironic-inspector | |
-+-----------------+------------------------------------------------------------+------------+
-|pika |git://git.openstack.org/openstack/devstack-plugin-pika | |
-+-----------------+------------------------------------------------------------+------------+
-|sheepdog |git://git.openstack.org/openstack/devstack-plugin-sheepdog | |
-+-----------------+------------------------------------------------------------+------------+
-|zmq |git://git.openstack.org/openstack/devstack-plugin-zmq | |
-+-----------------+------------------------------------------------------------+------------+
-| | | |
-+-----------------+------------------------------------------------------------+------------+
-
-.. [as1] first functional devstack plugin, hence why used in most of
- the examples.
diff --git a/functions-common b/functions-common
index a26cc50..0b690da 100644
--- a/functions-common
+++ b/functions-common
@@ -322,7 +322,7 @@
# XXX: old code paths seem to have assumed SUSE platforms also
# had "yum". Keep this ordered above yum so we don't try to
# install the rh package. suse calls it just "lsb"
- sudo zypper -y install lsb
+ sudo zypper -n install lsb
elif [[ -x $(which dnf 2>/dev/null) ]]; then
sudo dnf install -y redhat-lsb-core
elif [[ -x $(which yum 2>/dev/null) ]]; then
@@ -380,7 +380,8 @@
DISTRO="sle${os_RELEASE%.*}"
elif [[ "$os_VENDOR" =~ (Red.*Hat) || \
"$os_VENDOR" =~ (CentOS) || \
- "$os_VENDOR" =~ (OracleLinux) ]]; then
+ "$os_VENDOR" =~ (OracleLinux) || \
+ "$os_VENDOR" =~ (Virtuozzo) ]]; then
# Drop the . release as we assume it's compatible
# XXX re-evaluate when we get RHEL10
DISTRO="rhel${os_RELEASE::1}"
@@ -421,7 +422,7 @@
[ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || \
[ "$os_VENDOR" = "CentOS" ] || [ "$os_VENDOR" = "OracleLinux" ] || \
- [ "$os_VENDOR" = "CloudLinux" ] || [ "$os_VENDOR" = "kvmibm" ]
+ [ "$os_VENDOR" = "Virtuozzo" ] || [ "$os_VENDOR" = "kvmibm" ]
}
@@ -433,7 +434,7 @@
GetOSVersion
fi
- [ "$os_VENDOR" = "openSUSE" ] || [ "$os_VENDOR" = "SUSE LINUX" ]
+ [[ "$os_VENDOR" =~ (openSUSE) || "$os_VENDOR" == "SUSE LINUX" ]]
}
diff --git a/lib/glance b/lib/glance
index 4df2310..3743e16 100644
--- a/lib/glance
+++ b/lib/glance
@@ -55,6 +55,8 @@
GLANCE_POLICY_JSON=$GLANCE_CONF_DIR/policy.json
GLANCE_SCHEMA_JSON=$GLANCE_CONF_DIR/schema-image.json
GLANCE_SWIFT_STORE_CONF=$GLANCE_CONF_DIR/glance-swift-store.conf
+GLANCE_GLARE_CONF=$GLANCE_CONF_DIR/glance-glare.conf
+GLANCE_GLARE_PASTE_INI=$GLANCE_CONF_DIR/glance-glare-paste.ini
if is_ssl_enabled_service "glance" || is_service_enabled tls-proxy; then
GLANCE_SERVICE_PROTOCOL="https"
@@ -69,6 +71,8 @@
GLANCE_SERVICE_PROTOCOL=${GLANCE_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
GLANCE_REGISTRY_PORT=${GLANCE_REGISTRY_PORT:-9191}
GLANCE_REGISTRY_PORT_INT=${GLANCE_REGISTRY_PORT_INT:-19191}
+GLANCE_GLARE_PORT=${GLANCE_GLARE_PORT:-9494}
+GLANCE_GLARE_HOSTPORT=${GLANCE_GLARE_HOSTPORT:-$GLANCE_SERVICE_HOST:$GLANCE_GLARE_PORT}
# Functions
# ---------
@@ -93,6 +97,9 @@
sudo install -d -o $STACK_USER $GLANCE_CONF_DIR $GLANCE_METADEF_DIR
# Copy over our glance configurations and update them
+ if is_service_enabled g-glare; then
+ cp $GLANCE_DIR/etc/glance-glare.conf $GLANCE_GLARE_CONF
+ fi
cp $GLANCE_DIR/etc/glance-registry.conf $GLANCE_REGISTRY_CONF
iniset $GLANCE_REGISTRY_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
iniset $GLANCE_REGISTRY_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
@@ -129,6 +136,9 @@
# Store specific configs
iniset $GLANCE_API_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR/
+ if is_service_enabled g-glare; then
+ iniset $GLANCE_GLARE_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR/
+ fi
iniset $GLANCE_API_CONF DEFAULT registry_host $GLANCE_SERVICE_HOST
iniset $GLANCE_API_CONF DEFAULT workers "$API_WORKERS"
@@ -144,6 +154,23 @@
iniset $GLANCE_API_CONF DEFAULT graceful_shutdown_timeout "$SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT"
iniset $GLANCE_SWIFT_STORE_CONF ref1 user $SERVICE_PROJECT_NAME:glance-swift
+
+ # Store the glare in swift if enabled.
+ if is_service_enabled g-glare; then
+ iniset $GLANCE_GLARE_CONF glance_store default_store swift
+ iniset $GLANCE_GLARE_CONF glance_store swift_store_create_container_on_put True
+
+ iniset $GLANCE_GLARE_CONF glance_store swift_store_config_file $GLANCE_SWIFT_STORE_CONF
+ iniset $GLANCE_GLARE_CONF glance_store default_swift_reference ref1
+ iniset $GLANCE_GLARE_CONF glance_store stores "file, http, swift"
+ iniset $GLANCE_GLARE_CONF DEFAULT graceful_shutdown_timeout "$SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT"
+
+ # commenting is not strictly necessary but it's confusing to have bad values in conf
+ inicomment $GLANCE_GLARE_CONF glance_store swift_store_user
+ inicomment $GLANCE_GLARE_CONF glance_store swift_store_key
+ inicomment $GLANCE_GLARE_CONF glance_store swift_store_auth_address
+ fi
+
iniset $GLANCE_SWIFT_STORE_CONF ref1 key $SERVICE_PASSWORD
iniset $GLANCE_SWIFT_STORE_CONF ref1 auth_address $KEYSTONE_SERVICE_URI/v3
iniset $GLANCE_SWIFT_STORE_CONF ref1 user_domain_id default
@@ -220,6 +247,29 @@
iniset $GLANCE_API_CONF DEFAULT cinder_endpoint_template "https://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/%(project_id)s"
iniset $GLANCE_CACHE_CONF DEFAULT cinder_endpoint_template "https://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/%(project_id)s"
fi
+
+ # Configure GLANCE_GLARE (Glance Glare)
+ if is_service_enabled g-glare; then
+ local dburl
+ dburl=`database_connection_url glance`
+ setup_colorized_logging $GLANCE_GLARE_CONF DEFAULT tenant user
+ iniset $GLANCE_GLARE_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
+ iniset $GLANCE_GLARE_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
+ iniset $GLANCE_GLARE_CONF DEFAULT bind_port $GLANCE_GLARE_PORT
+ inicomment $GLANCE_GLARE_CONF DEFAULT log_file
+ iniset $GLANCE_GLARE_CONF DEFAULT workers "$API_WORKERS"
+
+ iniset $GLANCE_GLARE_CONF database connection $dburl
+ iniset $GLANCE_GLARE_CONF paste_deploy flavor keystone
+ configure_auth_token_middleware $GLANCE_GLARE_CONF glare $GLANCE_AUTH_CACHE_DIR/artifact
+ # Register SSL certificates if provided
+ if is_ssl_enabled_service glance; then
+ ensure_certificates GLANCE
+ iniset $GLANCE_GLARE_CONF DEFAULT cert_file "$GLANCE_SSL_CERT"
+ iniset $GLANCE_GLARE_CONF DEFAULT key_file "$GLANCE_SSL_KEY"
+ fi
+ cp $GLANCE_DIR/etc/glance-glare-paste.ini $GLANCE_GLARE_PASTE_INI
+ fi
}
# create_glance_accounts() - Set up common required glance accounts
@@ -229,6 +279,7 @@
# SERVICE_PROJECT_NAME glance service
# SERVICE_PROJECT_NAME glance-swift ResellerAdmin (if Swift is enabled)
# SERVICE_PROJECT_NAME glance-search search (if Search is enabled)
+# SERVICE_PROJECT_NAME glare service (if enabled)
function create_glance_accounts {
if is_service_enabled g-api; then
@@ -252,13 +303,25 @@
"$GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT" \
"$GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT"
fi
+
+ # Add glance-glare service and endpoints
+ if is_service_enabled g-glare; then
+ create_service_user "glare"
+ get_or_create_service "glare" "artifact" "Glance Artifact Service"
+
+ get_or_create_endpoint "artifact" \
+ "$REGION_NAME" \
+ "$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT" \
+ "$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT" \
+ "$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT"
+ fi
}
# create_glance_cache_dir() - Part of the init_glance() process
function create_glance_cache_dir {
# Create cache dir
- sudo install -d -o $STACK_USER $GLANCE_AUTH_CACHE_DIR/api $GLANCE_AUTH_CACHE_DIR/registry $GLANCE_AUTH_CACHE_DIR/search
- rm -f $GLANCE_AUTH_CACHE_DIR/api/* $GLANCE_AUTH_CACHE_DIR/registry/* $GLANCE_AUTH_CACHE_DIR/search/*
+ sudo install -d -o $STACK_USER $GLANCE_AUTH_CACHE_DIR/api $GLANCE_AUTH_CACHE_DIR/registry $GLANCE_AUTH_CACHE_DIR/search $GLANCE_AUTH_CACHE_DIR/artifact
+ rm -f $GLANCE_AUTH_CACHE_DIR/api/* $GLANCE_AUTH_CACHE_DIR/registry/* $GLANCE_AUTH_CACHE_DIR/search/* $GLANCE_AUTH_CACHE_DIR/artifact/*
}
# init_glance() - Initialize databases, etc.
@@ -326,6 +389,15 @@
if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT; then
die $LINENO "g-api did not start"
fi
+
+ #Start g-glare after g-reg/g-api/g-search
+ if is_service_enabled g-glare; then
+ run_process g-glare "$GLANCE_BIN_DIR/glance-glare --config-file=$GLANCE_CONF_DIR/glance-glare.conf"
+ echo "Waiting for Glare [g-glare] ($GLANCE_GLARE_HOSTPORT) to start..."
+ if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT; then
+ die $LINENO " Glare [g-glare] did not start"
+ fi
+ fi
}
# stop_glance() - Stop running processes
@@ -333,6 +405,10 @@
# Kill the Glance screen windows
stop_process g-api
stop_process g-reg
+
+ if is_service_enabled g-glare; then
+ stop_process g-glare
+ fi
}
# Restore xtrace
diff --git a/lib/tempest b/lib/tempest
index caf8f11..4fb3e5e 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -322,7 +322,9 @@
local tmp_cfg_file
tmp_cfg_file=$(mktemp)
cd $TEMPEST_DIR
- tox -revenv --notest
+ if [[ "$OFFLINE" != "True" ]]; then
+ tox -revenv --notest
+ fi
# NOTE(mtreinish): Respect constraints on tempest verify-config venv
tox -evenv -- pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
tox -evenv -- tempest verify-config -uro $tmp_cfg_file
@@ -552,9 +554,9 @@
iniset $TEMPEST_CONFIG auth tempest_roles "Member"
if [[ $TEMPEST_USE_TEST_ACCOUNTS == "True" ]]; then
if [[ $TEMPEST_HAS_ADMIN == "True" ]]; then
- tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password $admin_password --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY --with-admin etc/accounts.yaml
+ tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password "$password" --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY --with-admin etc/accounts.yaml
else
- tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password $admin_password --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY etc/accounts.yaml
+ tempest-account-generator -c $TEMPEST_CONFIG --os-username $admin_username --os-password "$password" --os-tenant-name $admin_tenant_name -r $TEMPEST_CONCURRENCY etc/accounts.yaml
fi
iniset $TEMPEST_CONFIG auth use_dynamic_credentials False
iniset $TEMPEST_CONFIG auth test_accounts_file "etc/accounts.yaml"
diff --git a/tools/generate-devstack-plugins-list.sh b/tools/generate-devstack-plugins-list.sh
index 0176785..8a1f743 100644
--- a/tools/generate-devstack-plugins-list.sh
+++ b/tools/generate-devstack-plugins-list.sh
@@ -43,38 +43,18 @@
test -r data/devstack-plugins-registry.header && cat data/devstack-plugins-registry.header
-if test -n "$git_dir"; then
- pushd ${git_dir} >/dev/null
- for i in *; do
- pushd ${i} >/dev/null
- if output="$(git log --diff-filter=A --format='%cd' --date=short -1 -- devstack/plugin.sh)"; then
- test -n "$output" && plugins[$i]=${output}
- fi
- popd >/dev/null
- done
- popd >/dev/null
+sorted_plugins=$(python tools/generate-devstack-plugins-list.py)
- sorted_plugins=( $(for k in "${!plugins[@]}"; do echo "$k"; done | sort))
-
- for k in "${sorted_plugins[@]}"; do
- project=${k:0:18}
- giturl="git://git.openstack.org/openstack/${k:0:26}"
- pdate="${plugins[$k]}"
- printf "|%-18s|%-60s (%-10s)|\n" "${project}" "${giturl}" "${pdate}"
- printf "+------------------+-------------------------------------------------------------------------+\n"
- done
-
-else
- sorted_plugins=$(python tools/generate-devstack-plugins-list.py)
-
- for k in ${sorted_plugins}; do
- project=${k:0:18}
- giturl="git://git.openstack.org/openstack/${k:0:26}"
- printf "|%-18s|%-73s|\n" "${project}" "${giturl}"
- printf "+------------------+-------------------------------------------------------------------------+\n"
- done
-
-fi
+for k in ${sorted_plugins}; do
+ project=${k:0:28}
+ giturl="git://git.openstack.org/openstack/${k:0:26}"
+ printf "|%-28s|%-73s|\n" "${project}" "${giturl}"
+ printf "+----------------------------+-------------------------------------------------------------------------+\n"
+done
test -r data/devstack-plugins-registry.footer && cat data/devstack-plugins-registry.footer
) > doc/source/plugin-registry.rst
+
+if [[ -n ${1} ]]; then
+ cp doc/source/plugin-registry.rst ${1}/doc/source/plugin-registry.rst
+fi