designate/devstack/settings
Michael Johnson e6d83dfcf7 Add wsgi module to Designate and remove wsgi script
Changes in python packaging tooling mean that the wsgi_scripts
functionality via PBR may not longer function.

This patch switches Designate from using the PBR wsgi_scripts method to
using a new wsgi module that provides the same behavior as the generated
wsgi scripts provided.

A related devstack patch enables devstack to setup uWSGI to use the new
module path instead of the generated wsgi scripts.

This also aligns Designate to a new proposed OpenStack goal[1].

[1] https://review.opendev.org/c/openstack/governance/+/902807

In order to make the CI work, this patch was merged with:

zuul: Drop centos9 and make grenade non-voting

The requirements repo has dropped upper-constraints for python3.9, so
the centos9-based jobs are no longer working on master, let's drop them.

Also the grenade jobs are broken due to the referenced bug, make them
temporarily non-voting, so that we can merge the fix[0] on master first,
backport it, and then re-enable them.

[0] https://review.opendev.org/c/openstack/designate/+/902846

Related-Bug: 2109577
Depends-On: https://review.opendev.org/c/openstack/devstack/+/902758
Change-Id: If90056ae1de4a6a3557fc870497e6233088bfb02
2025-04-29 15:09:33 +00:00

90 lines
4.1 KiB
Plaintext

# Default options
DESIGNATE_BACKEND_DRIVER=${DESIGNATE_BACKEND_DRIVER:=bind9}
DESIGNATE_POOL_ID=${DESIGNATE_POOL_ID:-794ccc2c-d751-44fe-b57f-8894c9f5c842}
DESIGNATE_DEFAULT_NS_RECORD=${DESIGNATE_DEFAULT_NS_RECORD:-ns1.devstack.org.}
DESIGNATE_DEFAULT_NS2_RECORD=${DESIGNATE_DEFAULT_NS_RECORD:-ns2.devstack.org.}
DESIGNATE_NOTIFICATION_DRIVER=${DESIGNATE_NOTIFICATION_DRIVER:-messagingv2}
DESIGNATE_NOTIFICATION_TOPICS=${DESIGNATE_NOTIFICATION_TOPICS:-notifications}
DESIGNATE_PERIODIC_RECOVERY_INTERVAL=${DESIGNATE_PERIODIC_RECOVERY_INTERVAL:-120}
DESIGNATE_PERIODIC_SYNC_INTERVAL=${DESIGNATE_PERIODIC_SYNC_INTERVAL:-1800}
DESIGNATE_COORDINATION_URL=${DESIGNATE_COORDINATION_URL:-"memcached://127.0.0.1:11211"}
DESIGNATE_POLL_INTERVAL=${DESIGNATE_POLL_INTERVAL:-5}
DESIGNATE_POLL_RETRIES=${DESIGNATE_POLL_RETRIES:-6}
DESIGNATE_WSGI_MODE=${DESIGNATE_WSGI_MODE:-"uwsgi"}
DESIGNATE_USE_CATALOG_ZONES=$(trueorfalse False DESIGNATE_USE_CATALOG_ZONES)
# Quota Options
DESIGNATE_QUOTA_ZONES=${DESIGNATE_QUOTA_ZONES:-10}
DESIGNATE_QUOTA_ZONE_RECORDSETS=${DESIGNATE_QUOTA_ZONE_RECORDSETS:-500}
DESIGNATE_QUOTA_ZONE_RECORDS=${DESIGNATE_QUOTA_ZONE_RECORDS:-500}
DESIGNATE_QUOTA_RECORDSET_RECORDS=${DESIGNATE_QUOTA_RECORDSET_RECORDS:-20}
DESIGNATE_QUOTA_API_EXPORT_SIZE=${DESIGNATE_QUOTA_API_EXPORT_SIZE:-1000}
# Default APIs and Extensions
DESIGNATE_ENABLE_API_V2=${DESIGNATE_ENABLE_API_V2:-"True"}
DESIGNATE_ENABLE_API_ADMIN=${DESIGNATE_ENABLE_API_ADMIN:-"True"}
DESIGNATE_ENABLED_EXTENSIONS_V2=${DESIGNATE_ENABLED_EXTENSIONS_V2:-""}
DESIGNATE_ENABLED_EXTENSIONS_ADMIN=${DESIGNATE_ENABLED_EXTENSIONS_ADMIN:-"quotas"}
# Public facing bits
if is_service_enabled tls-proxy; then
DESIGNATE_SERVICE_PROTOCOL="https"
fi
# Default IP/port settings
DESIGNATE_SERVICE_PROTOCOL=${DESIGNATE_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
DESIGNATE_SERVICE_HOST=${DESIGNATE_SERVICE_HOST:-$SERVICE_HOST}
DESIGNATE_SERVICE_HOST2=${DESIGNATE_SERVICE_HOST2:-$SERVICE_HOST}
DESIGNATE_SERVICE_PORT_DNS=${DESIGNATE_SERVICE_PORT_DNS:-53}
DESIGNATE_SERVICE_PORT2_DNS=${DESIGNATE_SERVICE_PORT2_DNS:-1053}
DESIGNATE_SERVICE_PORT_MDNS=${DESIGNATE_SERVICE_PORT_MDNS:-5354}
DESIGNATE_SERVICE_PORT2_MDNS=${DESIGNATE_SERVICE_PORT2_MDNS:-5354}
DESIGNATE_SERVICE_PORT_AGENT=${DESIGNATE_SERVICE_PORT_AGENT:-5358}
DESIGNATE_DIR=$DEST/designate
# Default directories
# Support potential entry-points console scripts in VENV or not
if [[ ${USE_VENV} = True ]]; then
PROJECT_VENV["designate"]=${DESIGNATE_DIR}.venv
DESIGNATE_BIN_DIR=${PROJECT_VENV["designate"]}/bin
else
DESIGNATE_BIN_DIR=$(get_python_exec_prefix)
fi
DESIGNATEDASHBOARD_DIR=$DEST/designate-dashboard
DESIGNATE_CONF_DIR=/etc/designate
DESIGNATE_STATE_PATH=${DESIGNATE_STATE_PATH:=$DATA_DIR/designate}
DESIGNATE_CONF=$DESIGNATE_CONF_DIR/designate.conf
DESIGNATE_LOG_DIR=/var/log/designate
DESIGNATE_ROOTWRAP_CONF=$DESIGNATE_CONF_DIR/rootwrap.conf
DESIGNATE_APIPASTE_CONF=$DESIGNATE_CONF_DIR/api-paste.ini
DESIGNATE_PLUGINS=$DESIGNATE_DIR/devstack/designate_plugins
DESIGNATE_UWSGI=designate.wsgi.api:application
DESIGNATE_UWSGI_CONF=$DESIGNATE_CONF_DIR/designate-api-uwsgi.ini
# Default repositories
DESIGNATE_REPO=${DESIGNATE_REPO:-${GIT_BASE}/openstack/designate.git}
DESIGNATE_BRANCH=${DESIGNATE_BRANCH:-master}
GITREPO["designate-dashboard"]=${DESIGNATEDASHBOARD_REPO:-${GIT_BASE}/openstack/designate-dashboard.git}
GITBRANCH["designate-dashboard"]=${DESIGNATEDASHBOARD_BRANCH:-master}
GITDIR["designate-dashboard"]=$DEST/designate-dashboard
GITREPO["python-designateclient"]=${DESIGNATECLIENT_REPO:-${GIT_BASE}/openstack/python-designateclient.git}
GITBRANCH["python-designateclient"]=${DESIGNATECLIENT_BRANCH:-master}
GITDIR["python-designateclient"]=$DEST/python-designateclient
GITREPO["designate-tempest-plugin"]=${DESIGNATETEMPEST_REPO:-${GIT_BASE}/openstack/designate-tempest-plugin.git}
GITBRANCH["designate-tempest-plugin"]=${DESIGNATETEMPEST_BRANCH:-master}
GITDIR["designate-tempest-plugin"]=$DEST/designate-tempest-plugin
# Turn on all Designate services by default
enable_service designate
enable_service designate-central
enable_service designate-api
enable_service designate-worker
enable_service designate-producer
enable_service designate-mdns
enable_service designate-sink