Merge "Support for s3 backend of glance"
diff --git a/.zuul.yaml b/.zuul.yaml
index b5477d1..3632dc0 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -956,15 +956,6 @@
# things, this job is not experimental but often is used to test
# things that are not yet production ready or to test what will be
# the new default after a deprecation period has ended.
- # * neutron-fullstack-with-uwsgi: maintained by neutron for fullstack test
- # when neutron-api is served by uwsgi, it's in exprimental for testing.
- # the next cycle we can remove this job if things turn out to be
- # stable enough.
- # * neutron-functional-with-uwsgi: maintained by neutron for functional
- # test. Next cycle we can remove this one if things turn out to be
- # stable engouh with uwsgi.
- # * neutron-ovn-tempest-with-uwsgi: maintained by neutron for tempest test.
- # Next cycle we can remove this if everything run out stable enough.
# * nova-multi-cell: maintained by nova and now is voting in the
# check queue for nova changes but relies on devstack configuration
@@ -972,9 +963,6 @@
jobs:
- nova-multi-cell
- nova-next
- - neutron-fullstack-with-uwsgi
- - neutron-functional-with-uwsgi
- - neutron-ovn-tempest-with-uwsgi
- devstack-plugin-ceph-tempest-py3:
irrelevant-files:
- ^.*\.rst$
diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst
index 9a1fd4e..3cfba71 100644
--- a/doc/source/configuration.rst
+++ b/doc/source/configuration.rst
@@ -323,7 +323,7 @@
[[local|localrc]]
DEST=/opt/stack/
- LOGFILE=$LOGDIR/stack.sh.log
+ LOGFILE=$DEST/stack.sh.log
LOG_COLOR=False
Database Backend
diff --git a/files/apache-placement-api.template b/files/apache-placement-api.template
deleted file mode 100644
index 011abb9..0000000
--- a/files/apache-placement-api.template
+++ /dev/null
@@ -1,27 +0,0 @@
-# NOTE(sbauza): This virtualhost is only here because some directives can
-# only be set by a virtualhost or server context, so that's why the port is not bound.
-# TODO(sbauza): Find a better way to identify a free port that is not corresponding to an existing
-# vhost.
-<VirtualHost *:8780>
- WSGIDaemonProcess placement-api processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
- WSGIProcessGroup placement-api
- WSGIScriptAlias / %PUBLICWSGI%
- WSGIApplicationGroup %{GLOBAL}
- WSGIPassAuthorization On
- <IfVersion >= 2.4>
- ErrorLogFormat "%M"
- </IfVersion>
- ErrorLog /var/log/%APACHE_NAME%/placement-api.log
- %SSLENGINE%
- %SSLCERTFILE%
- %SSLKEYFILE%
-</VirtualHost>
-
-Alias /placement %PUBLICWSGI%
-<Location /placement>
- SetHandler wsgi-script
- Options +ExecCGI
- WSGIProcessGroup placement-api
- WSGIApplicationGroup %{GLOBAL}
- WSGIPassAuthorization On
-</Location>
diff --git a/inc/python b/inc/python
index 2083b74..c94e5a4 100644
--- a/inc/python
+++ b/inc/python
@@ -199,13 +199,7 @@
echo "Using python $PYTHON3_VERSION to install $package_dir"
else
local cmd_pip="python$PYTHON3_VERSION -m pip"
- # See
- # https://github.com/pypa/setuptools/issues/2232
- # http://lists.openstack.org/pipermail/openstack-discuss/2020-August/016905.html
- # this makes setuptools >=50 use the platform distutils.
- # We only want to do this on global pip installs, not if
- # installing in a virtualenv
- local sudo_pip="sudo -H LC_ALL=en_US.UTF-8 SETUPTOOLS_USE_DISTUTILS=stdlib "
+ local sudo_pip="sudo -H LC_ALL=en_US.UTF-8"
echo "Using python $PYTHON3_VERSION to install $package_dir"
fi
diff --git a/lib/keystone b/lib/keystone
index 7d6b05f..8f4f4b1 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -51,15 +51,6 @@
KEYSTONE_PUBLIC_UWSGI_CONF=$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini
KEYSTONE_PUBLIC_UWSGI=$KEYSTONE_BIN_DIR/keystone-wsgi-public
-# KEYSTONE_DEPLOY defines how keystone is deployed, allowed values:
-# - mod_wsgi : Run keystone under Apache HTTPd mod_wsgi
-# - uwsgi : Run keystone under uwsgi
-if [[ "$WSGI_MODE" == "uwsgi" ]]; then
- KEYSTONE_DEPLOY=uwsgi
-else
- KEYSTONE_DEPLOY=mod_wsgi
-fi
-
# Select the Identity backend driver
KEYSTONE_IDENTITY_BACKEND=${KEYSTONE_IDENTITY_BACKEND:-sql}
@@ -144,15 +135,9 @@
# cleanup_keystone() - Remove residual data files, anything left over from previous
# runs that a clean run would need to clean up
function cleanup_keystone {
- if [ "$KEYSTONE_DEPLOY" == "mod_wsgi" ]; then
- # These files will be created if we are running WSGI_MODE="mod_wsgi"
- disable_apache_site keystone
- sudo rm -f $(apache_site_config_for keystone)
- else
- stop_process "keystone"
- remove_uwsgi_config "$KEYSTONE_PUBLIC_UWSGI_CONF" "keystone-wsgi-public"
- sudo rm -f $(apache_site_config_for keystone-wsgi-public)
- fi
+ stop_process "keystone"
+ remove_uwsgi_config "$KEYSTONE_PUBLIC_UWSGI_CONF" "keystone-wsgi-public"
+ sudo rm -f $(apache_site_config_for keystone-wsgi-public)
}
# _config_keystone_apache_wsgi() - Set WSGI config files of Keystone
@@ -241,12 +226,7 @@
iniset $KEYSTONE_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
- if [ "$KEYSTONE_DEPLOY" == "mod_wsgi" ]; then
- iniset $KEYSTONE_CONF DEFAULT logging_exception_prefix "%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s"
- _config_keystone_apache_wsgi
- else # uwsgi
- write_uwsgi_config "$KEYSTONE_PUBLIC_UWSGI_CONF" "$KEYSTONE_PUBLIC_UWSGI" "/identity"
- fi
+ write_uwsgi_config "$KEYSTONE_PUBLIC_UWSGI_CONF" "$KEYSTONE_PUBLIC_UWSGI" "/identity"
iniset $KEYSTONE_CONF DEFAULT max_token_size 16384
@@ -543,10 +523,6 @@
if is_service_enabled ldap; then
setup_develop $KEYSTONE_DIR ldap
fi
-
- if [ "$KEYSTONE_DEPLOY" == "mod_wsgi" ]; then
- install_apache_wsgi
- fi
}
# start_keystone() - Start running processes
@@ -559,12 +535,7 @@
auth_protocol="http"
fi
- if [ "$KEYSTONE_DEPLOY" == "mod_wsgi" ]; then
- enable_apache_site keystone
- restart_apache_server
- else # uwsgi
- run_process keystone "$(which uwsgi) --procname-prefix keystone --ini $KEYSTONE_PUBLIC_UWSGI_CONF" ""
- fi
+ run_process keystone "$(which uwsgi) --procname-prefix keystone --ini $KEYSTONE_PUBLIC_UWSGI_CONF" ""
echo "Waiting for keystone to start..."
# Check that the keystone service is running. Even if the tls tunnel
@@ -589,12 +560,7 @@
# stop_keystone() - Stop running processes
function stop_keystone {
- if [ "$KEYSTONE_DEPLOY" == "mod_wsgi" ]; then
- disable_apache_site keystone
- restart_apache_server
- else
- stop_process keystone
- fi
+ stop_process keystone
}
# bootstrap_keystone() - Initialize user, role and project
diff --git a/lib/placement b/lib/placement
index 63fdfb6..6297ab2 100644
--- a/lib/placement
+++ b/lib/placement
@@ -71,32 +71,6 @@
remove_uwsgi_config "$PLACEMENT_UWSGI_CONF" "placement-api"
}
-# _config_placement_apache_wsgi() - Set WSGI config files
-function _config_placement_apache_wsgi {
- local placement_api_apache_conf
- local venv_path=""
- local placement_bin_dir=""
- placement_bin_dir=$(get_python_exec_prefix)
- placement_api_apache_conf=$(apache_site_config_for placement-api)
-
- if [[ ${USE_VENV} = True ]]; then
- venv_path="python-path=${PROJECT_VENV["placement"]}/lib/$(python_version)/site-packages"
- placement_bin_dir=${PROJECT_VENV["placement"]}/bin
- fi
-
- sudo cp $FILES/apache-placement-api.template $placement_api_apache_conf
- sudo sed -e "
- s|%APACHE_NAME%|$APACHE_NAME|g;
- s|%PUBLICWSGI%|$placement_bin_dir/placement-api|g;
- s|%SSLENGINE%|$placement_ssl|g;
- s|%SSLCERTFILE%|$placement_certfile|g;
- s|%SSLKEYFILE%|$placement_keyfile|g;
- s|%USER%|$STACK_USER|g;
- s|%VIRTUALENV%|$venv_path|g
- s|%APIWORKERS%|$API_WORKERS|g
- " -i $placement_api_apache_conf
-}
-
# create_placement_conf() - Write config
function create_placement_conf {
rm -f $PLACEMENT_CONF
@@ -112,11 +86,7 @@
sudo install -d -o $STACK_USER $PLACEMENT_CONF_DIR
create_placement_conf
- if [[ "$WSGI_MODE" == "uwsgi" ]]; then
- write_uwsgi_config "$PLACEMENT_UWSGI_CONF" "$PLACEMENT_UWSGI" "/placement"
- else
- _config_placement_apache_wsgi
- fi
+ write_uwsgi_config "$PLACEMENT_UWSGI_CONF" "$PLACEMENT_UWSGI" "/placement"
if [[ "$PLACEMENT_ENFORCE_SCOPE" == "True" || "$ENFORCE_SCOPE" == "True" ]]; then
iniset $PLACEMENT_CONF oslo_policy enforce_new_defaults True
iniset $PLACEMENT_CONF oslo_policy enforce_scope True
@@ -147,7 +117,6 @@
# install_placement() - Collect source and prepare
function install_placement {
- install_apache_wsgi
# Install the openstackclient placement client plugin for CLI
pip_install_gr osc-placement
git_clone $PLACEMENT_REPO $PLACEMENT_DIR $PLACEMENT_BRANCH
@@ -156,12 +125,7 @@
# start_placement_api() - Start the API processes ahead of other things
function start_placement_api {
- if [[ "$WSGI_MODE" == "uwsgi" ]]; then
- run_process "placement-api" "$(which uwsgi) --procname-prefix placement --ini $PLACEMENT_UWSGI_CONF"
- else
- enable_apache_site placement-api
- restart_apache_server
- fi
+ run_process "placement-api" "$(which uwsgi) --procname-prefix placement --ini $PLACEMENT_UWSGI_CONF"
echo "Waiting for placement-api to start..."
if ! wait_for_service $SERVICE_TIMEOUT $PLACEMENT_SERVICE_PROTOCOL://$PLACEMENT_SERVICE_HOST/placement; then
@@ -175,12 +139,7 @@
# stop_placement() - Disable the api service and stop it.
function stop_placement {
- if [[ "$WSGI_MODE" == "uwsgi" ]]; then
- stop_process "placement-api"
- else
- disable_apache_site placement-api
- restart_apache_server
- fi
+ stop_process "placement-api"
}
# Restore xtrace
diff --git a/stack.sh b/stack.sh
index dcfd398..bfa0573 100755
--- a/stack.sh
+++ b/stack.sh
@@ -308,8 +308,11 @@
# adding delorean-deps repo to provide current master rpms
sudo wget https://trunk.rdoproject.org/centos9-master/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
else
- # For stable/unmaintained branches use corresponding release rpm
- sudo dnf -y install centos-release-openstack-${rdo_release}
+ if sudo dnf provides centos-release-openstack-${rdo_release} >/dev/null 2>&1; then
+ sudo dnf -y install centos-release-openstack-${rdo_release}
+ else
+ sudo wget https://trunk.rdoproject.org/centos9-${rdo_release}/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
+ fi
fi
fi
sudo dnf -y update