Fix devstack settings and plugin.sh for Tatu.
This commit is contained in:
parent
6a546abc52
commit
7f55b15f63
@ -15,6 +15,6 @@ repository. See contrib/vagrant to create a vagrant VM.
|
||||
|
||||
> cat local.conf
|
||||
[[local|localrc]]
|
||||
enable_plugin designate https://git.openstack.org/openstack/designate
|
||||
enable_plugin tatu https://github.com/pinodeca/tatu
|
||||
|
||||
3. run ``stack.sh``
|
||||
|
@ -1,19 +1,12 @@
|
||||
# Install and start **Designate** service in Devstack
|
||||
# Install and start **Tatu** service in Devstack
|
||||
|
||||
# Save trace setting
|
||||
XTRACE=$(set +o | grep xtrace)
|
||||
set +o xtrace
|
||||
|
||||
# Get backend configuration
|
||||
# -------------------------
|
||||
if is_service_enabled designate && [[ -r $DESIGNATE_PLUGINS/backend-$DESIGNATE_BACKEND_DRIVER ]]; then
|
||||
# Load plugin
|
||||
source $DESIGNATE_PLUGINS/backend-$DESIGNATE_BACKEND_DRIVER
|
||||
fi
|
||||
|
||||
# Helper Functions
|
||||
# ----------------
|
||||
function setup_colorized_logging_designate {
|
||||
function setup_colorized_logging_tatu {
|
||||
local conf_file=$1
|
||||
local conf_section=$2
|
||||
local project_var=${3:-"project_name"}
|
||||
@ -29,227 +22,121 @@ function setup_colorized_logging_designate {
|
||||
# DevStack Plugin
|
||||
# ---------------
|
||||
|
||||
# cleanup_designate - Remove residual data files, anything left over from previous
|
||||
# cleanup_tatu - Remove residual data files, anything left over from previous
|
||||
# runs that a clean run would need to clean up
|
||||
function cleanup_designate {
|
||||
sudo rm -rf $DESIGNATE_STATE_PATH $DESIGNATE_AUTH_CACHE_DIR
|
||||
cleanup_designate_backend
|
||||
function cleanup_tatu {
|
||||
sudo rm -rf $TATU_STATE_PATH $TATU_AUTH_CACHE_DIR
|
||||
cleanup_tatu_backend
|
||||
}
|
||||
|
||||
# configure_designate - Set config files, create data dirs, etc
|
||||
function configure_designate {
|
||||
[ ! -d $DESIGNATE_CONF_DIR ] && sudo mkdir -m 755 -p $DESIGNATE_CONF_DIR
|
||||
sudo chown $STACK_USER $DESIGNATE_CONF_DIR
|
||||
# configure_tatu - Set config files, create data dirs, etc
|
||||
function configure_tatu {
|
||||
[ ! -d $TATU_CONF_DIR ] && sudo mkdir -m 755 -p $TATU_CONF_DIR
|
||||
sudo chown $STACK_USER $TATU_CONF_DIR
|
||||
|
||||
[ ! -d $DESIGNATE_LOG_DIR ] && sudo mkdir -m 755 -p $DESIGNATE_LOG_DIR
|
||||
sudo chown $STACK_USER $DESIGNATE_LOG_DIR
|
||||
[ ! -d $TATU_LOG_DIR ] && sudo mkdir -m 755 -p $TATU_LOG_DIR
|
||||
sudo chown $STACK_USER $TATU_LOG_DIR
|
||||
|
||||
# (Re)create ``designate.conf``
|
||||
rm -f $DESIGNATE_CONF
|
||||
# (Re)create ``tatu.conf``
|
||||
rm -f $TATU_CONF
|
||||
|
||||
# General Configuration
|
||||
iniset_rpc_backend designate $DESIGNATE_CONF DEFAULT
|
||||
iniset $DESIGNATE_CONF DEFAULT rpc_response_timeout 5
|
||||
iniset_rpc_backend tatu $TATU_CONF DEFAULT
|
||||
iniset $TATU_CONF DEFAULT rpc_response_timeout 5
|
||||
|
||||
iniset $DESIGNATE_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
||||
iniset $DESIGNATE_CONF DEFAULT state_path $DESIGNATE_STATE_PATH
|
||||
iniset $DESIGNATE_CONF DEFAULT root-helper sudo designate-rootwrap $DESIGNATE_ROOTWRAP_CONF
|
||||
iniset $DESIGNATE_CONF storage:sqlalchemy connection `database_connection_url designate`
|
||||
|
||||
# Quota Configuration
|
||||
iniset $DESIGNATE_CONF DEFAULT quota_zones $DESIGNATE_QUOTA_ZONES
|
||||
iniset $DESIGNATE_CONF DEFAULT quota_zone_recordsets $DESIGNATE_QUOTA_ZONE_RECORDSETS
|
||||
iniset $DESIGNATE_CONF DEFAULT quota_zone_records $DESIGNATE_QUOTA_ZONE_RECORDS
|
||||
iniset $DESIGNATE_CONF DEFAULT quota_recordset_records $DESIGNATE_QUOTA_RECORDSET_RECORDS
|
||||
iniset $DESIGNATE_CONF DEFAULT quota_api_export_size $DESIGNATE_QUOTA_API_EXPORT_SIZE
|
||||
|
||||
# Coordination Configuration
|
||||
if [[ -n "$DESIGNATE_COORDINATION_URL" ]]; then
|
||||
iniset $DESIGNATE_CONF coordination backend_url $DESIGNATE_COORDINATION_URL
|
||||
fi
|
||||
|
||||
if is_service_enabled designate-pool-manager; then
|
||||
# Pool Manager Configuration
|
||||
iniset $DESIGNATE_CONF service:pool_manager pool_id $DESIGNATE_POOL_ID
|
||||
iniset $DESIGNATE_CONF service:pool_manager cache_driver $DESIGNATE_POOL_MANAGER_CACHE_DRIVER
|
||||
iniset $DESIGNATE_CONF service:pool_manager periodic_recovery_interval $DESIGNATE_PERIODIC_RECOVERY_INTERVAL
|
||||
iniset $DESIGNATE_CONF service:pool_manager periodic_sync_interval $DESIGNATE_PERIODIC_SYNC_INTERVAL
|
||||
|
||||
# Pool Manager Cache
|
||||
if [ "$DESIGNATE_POOL_MANAGER_CACHE_DRIVER" == "sqlalchemy" ]; then
|
||||
iniset $DESIGNATE_CONF pool_manager_cache:sqlalchemy connection `database_connection_url designate_pool_manager`
|
||||
fi
|
||||
fi
|
||||
iniset $TATU_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
||||
iniset $TATU_CONF DEFAULT state_path $TATU_STATE_PATH
|
||||
iniset $TATU_CONF DEFAULT root-helper sudo tatu-rootwrap $TATU_ROOTWRAP_CONF
|
||||
iniset $TATU_CONF storage:sqlalchemy connection `database_connection_url tatu`
|
||||
|
||||
# API Configuration
|
||||
sudo cp $DESIGNATE_DIR/etc/designate/api-paste.ini $DESIGNATE_APIPASTE_CONF
|
||||
iniset $DESIGNATE_CONF service:api enabled_extensions_v2 $DESIGNATE_ENABLED_EXTENSIONS_V2
|
||||
iniset $DESIGNATE_CONF service:api enabled_extensions_admin $DESIGNATE_ENABLED_EXTENSIONS_ADMIN
|
||||
iniset $DESIGNATE_CONF service:api api_base_uri $DESIGNATE_SERVICE_PROTOCOL://$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT/
|
||||
iniset $DESIGNATE_CONF service:api enable_api_v2 $DESIGNATE_ENABLE_API_V2
|
||||
iniset $DESIGNATE_CONF service:api enable_api_admin $DESIGNATE_ENABLE_API_ADMIN
|
||||
|
||||
# mDNS Configuration
|
||||
iniset $DESIGNATE_CONF service:mdns listen ${DESIGNATE_SERVICE_HOST}:${DESIGNATE_SERVICE_PORT_MDNS}
|
||||
|
||||
# Worker Configuration
|
||||
if ! is_service_enabled designate-pool-manager; then
|
||||
iniset $DESIGNATE_CONF service:worker enabled True
|
||||
iniset $DESIGNATE_CONF service:worker notify True
|
||||
iniset $DESIGNATE_CONF service:worker poll_max_retries $DESIGNATE_POLL_RETRIES
|
||||
iniset $DESIGNATE_CONF service:worker poll_retry_interval $DESIGNATE_POLL_INTERVAL
|
||||
fi
|
||||
|
||||
# Set up Notifications/Ceilometer Integration
|
||||
iniset $DESIGNATE_CONF DEFAULT notification_driver "$DESIGNATE_NOTIFICATION_DRIVER"
|
||||
iniset $DESIGNATE_CONF DEFAULT notification_topics "$DESIGNATE_NOTIFICATION_TOPICS"
|
||||
sudo cp $TATU_DIR/etc/tatu/api-paste.ini $TATU_APIPASTE_CONF
|
||||
iniset $TATU_CONF service:api api_base_uri $TATU_SERVICE_PROTOCOL://$TATU_SERVICE_HOST:$TATU_SERVICE_PORT/
|
||||
|
||||
# Root Wrap
|
||||
sudo cp $DESIGNATE_DIR/etc/designate/rootwrap.conf.sample $DESIGNATE_ROOTWRAP_CONF
|
||||
iniset $DESIGNATE_ROOTWRAP_CONF DEFAULT filters_path $DESIGNATE_DIR/etc/designate/rootwrap.d root-helper
|
||||
sudo cp $TATU_DIR/etc/tatu/rootwrap.conf.sample $TATU_ROOTWRAP_CONF
|
||||
iniset $TATU_ROOTWRAP_CONF DEFAULT filters_path $TATU_DIR/etc/tatu/rootwrap.d root-helper
|
||||
|
||||
# Oslo Concurrency
|
||||
iniset $DESIGNATE_CONF oslo_concurrency lock_path "$DESIGNATE_STATE_PATH"
|
||||
iniset $TATU_CONF oslo_concurrency lock_path "$TATU_STATE_PATH"
|
||||
|
||||
# Set up the rootwrap sudoers for designate
|
||||
local rootwrap_sudoer_cmd="$DESIGNATE_BIN_DIR/designate-rootwrap $DESIGNATE_ROOTWRAP_CONF *"
|
||||
# Set up the rootwrap sudoers for tatu
|
||||
local rootwrap_sudoer_cmd="$TATU_BIN_DIR/tatu-rootwrap $TATU_ROOTWRAP_CONF *"
|
||||
local tempfile=`mktemp`
|
||||
echo "$STACK_USER ALL=(root) NOPASSWD: $rootwrap_sudoer_cmd" >$tempfile
|
||||
chmod 0440 $tempfile
|
||||
sudo chown root:root $tempfile
|
||||
sudo mv $tempfile /etc/sudoers.d/designate-rootwrap
|
||||
sudo mv $tempfile /etc/sudoers.d/tatu-rootwrap
|
||||
|
||||
# TLS Proxy Configuration
|
||||
if is_service_enabled tls-proxy; then
|
||||
# Set the service port for a proxy to take the original
|
||||
iniset $DESIGNATE_CONF service:api listen ${DESIGNATE_SERVICE_HOST}:${DESIGNATE_SERVICE_PORT_INT}
|
||||
iniset $TATU_CONF service:api listen ${TATU_SERVICE_HOST}:${TATU_SERVICE_PORT_INT}
|
||||
else
|
||||
iniset $DESIGNATE_CONF service:api listen ${DESIGNATE_SERVICE_HOST}:${DESIGNATE_SERVICE_PORT}
|
||||
iniset $TATU_CONF service:api listen ${TATU_SERVICE_HOST}:${TATU_SERVICE_PORT}
|
||||
fi
|
||||
|
||||
# Setup the Keystone Integration
|
||||
if is_service_enabled keystone; then
|
||||
iniset $DESIGNATE_CONF service:api auth_strategy keystone
|
||||
configure_auth_token_middleware $DESIGNATE_CONF designate $DESIGNATE_AUTH_CACHE_DIR
|
||||
iniset $TATU_CONF service:api auth_strategy keystone
|
||||
configure_auth_token_middleware $TATU_CONF tatu $TATU_AUTH_CACHE_DIR
|
||||
fi
|
||||
|
||||
# Logging Configuration
|
||||
if [ "$SYSLOG" != "False" ]; then
|
||||
iniset $DESIGNATE_CONF DEFAULT use_syslog True
|
||||
iniset $TATU_CONF DEFAULT use_syslog True
|
||||
fi
|
||||
|
||||
# Format logging
|
||||
if [ "$LOG_COLOR" == "True" ] && [ "$SYSLOG" == "False" ]; then
|
||||
setup_colorized_logging_designate $DESIGNATE_CONF DEFAULT "tenant" "user"
|
||||
setup_colorized_logging_tatu $TATU_CONF DEFAULT "tenant" "user"
|
||||
fi
|
||||
|
||||
# Backend Plugin Configuation
|
||||
configure_designate_backend
|
||||
configure_tatu_backend
|
||||
}
|
||||
|
||||
function configure_designatedashboard {
|
||||
function configure_tatudashboard {
|
||||
# Compile message catalogs
|
||||
if [ -d ${DESIGNATEDASHBOARD_DIR}/designatedashboard/locale ]; then
|
||||
(cd ${DESIGNATEDASHBOARD_DIR}/designatedashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
||||
if [ -d ${TATUDASHBOARD_DIR}/tatudashboard/locale ]; then
|
||||
(cd ${TATUDASHBOARD_DIR}/tatudashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
||||
fi
|
||||
}
|
||||
|
||||
# Configure the needed tempest options
|
||||
function configure_designate_tempest() {
|
||||
if is_service_enabled tempest; then
|
||||
# Tell tempest we're available
|
||||
iniset $TEMPEST_CONFIG service_available designate True
|
||||
|
||||
# Tell tempest which APIs are available
|
||||
iniset $TEMPEST_CONFIG dns_feature_enabled api_v2 $DESIGNATE_ENABLE_API_V2
|
||||
iniset $TEMPEST_CONFIG dns_feature_enabled api_admin $DESIGNATE_ENABLE_API_ADMIN
|
||||
iniset $TEMPEST_CONFIG dns_feature_enabled api_v2_root_recordsets True
|
||||
iniset $TEMPEST_CONFIG dns_feature_enabled api_v2_quotas True
|
||||
iniset $TEMPEST_CONFIG dns_feature_enabled bug_1573141_fixed True
|
||||
|
||||
# Tell tempest where are nameservers are.
|
||||
nameservers=$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_DNS
|
||||
# TODO(kiall): Remove hardcoded list of plugins
|
||||
case $DESIGNATE_BACKEND_DRIVER in
|
||||
bind9|powerdns)
|
||||
nameservers="$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_DNS"
|
||||
;;
|
||||
akamai)
|
||||
nameservers="$DESIGNATE_AKAMAI_NAMESERVERS"
|
||||
;;
|
||||
dynect)
|
||||
nameservers="$DESIGNATE_DYNECT_NAMESERVERS"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! -z "$DESIGNATE_NAMESERVERS" ]; then
|
||||
nameservers=$DESIGNATE_NAMESERVERS
|
||||
fi
|
||||
|
||||
iniset $TEMPEST_CONFIG dns nameservers $nameservers
|
||||
|
||||
# For legacy functionaltests
|
||||
iniset $TEMPEST_CONFIG designate nameservers $nameservers
|
||||
fi
|
||||
}
|
||||
|
||||
# create_designate_accounts - Set up common required designate accounts
|
||||
# create_tatu_accounts - Set up common required tatu accounts
|
||||
|
||||
# Tenant User Roles
|
||||
# ------------------------------------------------------------------
|
||||
# service designate admin # if enabled
|
||||
function create_designate_accounts {
|
||||
if is_service_enabled designate-api; then
|
||||
create_service_user "designate"
|
||||
# service tatu admin # if enabled
|
||||
function create_tatu_accounts {
|
||||
if is_service_enabled tatu-api; then
|
||||
create_service_user "tatu"
|
||||
|
||||
get_or_create_service "designate" "dns" "Designate DNS Service"
|
||||
get_or_create_endpoint "dns" \
|
||||
get_or_create_service "tatu" "ssh" "Tatu SSH Service"
|
||||
get_or_create_endpoint "ssh" \
|
||||
"$REGION_NAME" \
|
||||
"$DESIGNATE_SERVICE_PROTOCOL://$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT/"
|
||||
"$TATU_SERVICE_PROTOCOL://$TATU_SERVICE_HOST:$TATU_SERVICE_PORT/"
|
||||
fi
|
||||
}
|
||||
|
||||
# create_designate_pool_configuration - Create Pool Configuration
|
||||
function create_designate_pool_configuration {
|
||||
# Sync Pools Config
|
||||
designate-manage pool update --file $DESIGNATE_CONF_DIR/pools.yaml
|
||||
|
||||
# Allow Backends to do backend specific tasks
|
||||
if function_exists create_designate_pool_configuration_backend; then
|
||||
create_designate_pool_configuration_backend
|
||||
fi
|
||||
}
|
||||
|
||||
# init_designate - Initialize etc.
|
||||
function init_designate {
|
||||
# init_tatu - Initialize etc.
|
||||
function init_tatu {
|
||||
# Create cache dir
|
||||
sudo mkdir -p $DESIGNATE_AUTH_CACHE_DIR
|
||||
sudo chown $STACK_USER $DESIGNATE_AUTH_CACHE_DIR
|
||||
rm -f $DESIGNATE_AUTH_CACHE_DIR/*
|
||||
sudo mkdir -p $TATU_AUTH_CACHE_DIR
|
||||
sudo chown $STACK_USER $TATU_AUTH_CACHE_DIR
|
||||
rm -f $TATU_AUTH_CACHE_DIR/*
|
||||
|
||||
# Some Designate Backends require mdns be bound to port 53, make that
|
||||
# doable.
|
||||
sudo setcap 'cap_net_bind_service=+ep' $(readlink -f /usr/bin/python)
|
||||
# (Re)create tatu database
|
||||
recreate_database tatu utf8
|
||||
|
||||
# (Re)create designate database
|
||||
recreate_database designate utf8
|
||||
# Init and migrate tatu database
|
||||
tatu-manage database sync
|
||||
|
||||
# Init and migrate designate database
|
||||
designate-manage database sync
|
||||
|
||||
if [ "$DESIGNATE_POOL_MANAGER_CACHE_DRIVER" == "sqlalchemy" ]; then
|
||||
# (Re)create designate_pool_manager cache
|
||||
recreate_database designate_pool_manager utf8
|
||||
|
||||
# Init and migrate designate pool-manager-cache
|
||||
designate-manage pool-manager-cache sync
|
||||
fi
|
||||
|
||||
init_designate_backend
|
||||
init_tatu_backend
|
||||
}
|
||||
|
||||
# install_designate - Collect source and prepare
|
||||
function install_designate {
|
||||
# install_tatu - Collect source and prepare
|
||||
function install_tatu {
|
||||
if is_ubuntu; then
|
||||
install_package libcap2-bin
|
||||
elif is_fedora; then
|
||||
@ -257,144 +144,102 @@ function install_designate {
|
||||
install_package libcap bind-utils
|
||||
fi
|
||||
|
||||
git_clone $DESIGNATE_REPO $DESIGNATE_DIR $DESIGNATE_BRANCH
|
||||
setup_develop $DESIGNATE_DIR
|
||||
git_clone $TATU_REPO $TATU_DIR $TATU_BRANCH
|
||||
setup_develop $TATU_DIR
|
||||
|
||||
install_designate_backend
|
||||
install_tatu_backend
|
||||
}
|
||||
|
||||
# install_designateclient - Collect source and prepare
|
||||
function install_designateclient {
|
||||
if use_library_from_git "python-designateclient"; then
|
||||
git_clone_by_name "python-designateclient"
|
||||
setup_dev_lib "python-designateclient"
|
||||
# install_tatuclient - Collect source and prepare
|
||||
function install_tatuclient {
|
||||
if use_library_from_git "python-tatuclient"; then
|
||||
git_clone_by_name "python-tatuclient"
|
||||
setup_dev_lib "python-tatuclient"
|
||||
else
|
||||
pip_install_gr "python-designateclient"
|
||||
pip_install_gr "python-tatuclient"
|
||||
fi
|
||||
}
|
||||
|
||||
# install_designatedashboard - Collect source and prepare
|
||||
function install_designatedashboard {
|
||||
git_clone_by_name "designate-dashboard"
|
||||
setup_dev_lib "designate-dashboard"
|
||||
# install_tatudashboard - Collect source and prepare
|
||||
function install_tatudashboard {
|
||||
git_clone_by_name "tatu-dashboard"
|
||||
setup_dev_lib "tatu-dashboard"
|
||||
|
||||
for panel in _1710_project_dns_panel_group.py \
|
||||
_1720_project_dns_panel.py \
|
||||
_1721_dns_zones_panel.py \
|
||||
_1722_dns_reversedns_panel.py; do
|
||||
ln -fs $DESIGNATEDASHBOARD_DIR/designatedashboard/enabled/$panel $HORIZON_DIR/openstack_dashboard/local/enabled/$panel
|
||||
for panel in _3980_tatu_panel_group.py \
|
||||
_3981_tatu_ca_panel.py \
|
||||
_3982_tatu_user_panel.py \
|
||||
_3983_tatu_host_panel.py; do
|
||||
ln -fs $TATUDASHBOARD_DIR/tatudashboard/enabled/$panel $HORIZON_DIR/openstack_dashboard/local/enabled/$panel
|
||||
done
|
||||
}
|
||||
|
||||
# install_designatetempest - Collect source and prepare
|
||||
function install_designatetempest {
|
||||
git_clone_by_name "designate-tempest-plugin"
|
||||
setup_dev_lib "designate-tempest-plugin"
|
||||
}
|
||||
|
||||
# start_designate - Start running processes
|
||||
function start_designate {
|
||||
start_designate_backend
|
||||
|
||||
run_process designate-central "$DESIGNATE_BIN_DIR/designate-central --config-file $DESIGNATE_CONF"
|
||||
run_process designate-api "$DESIGNATE_BIN_DIR/designate-api --config-file $DESIGNATE_CONF"
|
||||
run_process designate-mdns "$DESIGNATE_BIN_DIR/designate-mdns --config-file $DESIGNATE_CONF"
|
||||
run_process designate-agent "$DESIGNATE_BIN_DIR/designate-agent --config-file $DESIGNATE_CONF"
|
||||
run_process designate-sink "$DESIGNATE_BIN_DIR/designate-sink --config-file $DESIGNATE_CONF"
|
||||
if is_service_enabled designate-pool-manager; then
|
||||
run_process designate-pool-manager "$DESIGNATE_BIN_DIR/designate-pool-manager --config-file $DESIGNATE_CONF"
|
||||
run_process designate-zone-manager "$DESIGNATE_BIN_DIR/designate-zone-manager --config-file $DESIGNATE_CONF"
|
||||
else
|
||||
run_process designate-worker "$DESIGNATE_BIN_DIR/designate-worker --config-file $DESIGNATE_CONF"
|
||||
run_process designate-producer "$DESIGNATE_BIN_DIR/designate-producer --config-file $DESIGNATE_CONF"
|
||||
fi
|
||||
|
||||
# start_tatu - Start running processes
|
||||
function start_tatu {
|
||||
start_tatu_backend
|
||||
|
||||
run_process tatu-central "$TATU_BIN_DIR/tatu-central --config-file $TATU_CONF"
|
||||
run_process tatu-api "$TATU_BIN_DIR/tatu-api --config-file $TATU_CONF"
|
||||
|
||||
# Start proxies if enabled
|
||||
if is_service_enabled designate-api && is_service_enabled tls-proxy; then
|
||||
start_tls_proxy designate-api '*' $DESIGNATE_SERVICE_PORT $DESIGNATE_SERVICE_HOST $DESIGNATE_SERVICE_PORT_INT &
|
||||
if is_service_enabled tatu-api && is_service_enabled tls-proxy; then
|
||||
start_tls_proxy tatu-api '*' $TATU_SERVICE_PORT $TATU_SERVICE_HOST $TATU_SERVICE_PORT_INT &
|
||||
fi
|
||||
|
||||
if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget --no-proxy -q -O- $DESIGNATE_SERVICE_PROTOCOL://$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT; do sleep 1; done"; then
|
||||
die $LINENO "Designate did not start"
|
||||
if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget --no-proxy -q -O- $TATU_SERVICE_PROTOCOL://$TATU_SERVICE_HOST:$TATU_SERVICE_PORT; do sleep 1; done"; then
|
||||
die $LINENO "Tatu did not start"
|
||||
fi
|
||||
}
|
||||
|
||||
# stop_designate - Stop running processes
|
||||
function stop_designate {
|
||||
stop_process designate-central
|
||||
stop_process designate-api
|
||||
stop_process designate-pool-manager
|
||||
stop_process designate-zone-manager
|
||||
stop_process designate-mdns
|
||||
stop_process designate-agent
|
||||
stop_process designate-sink
|
||||
stop_process designate-worker
|
||||
stop_process designate-producer
|
||||
# stop_tatu - Stop running processes
|
||||
function stop_tatu {
|
||||
stop_process tatu-central
|
||||
stop_process tatu-api
|
||||
|
||||
stop_designate_backend
|
||||
stop_tatu_backend
|
||||
}
|
||||
|
||||
# This is the main for plugin.sh
|
||||
if is_service_enabled designate; then
|
||||
# Sanify check for agent backend
|
||||
# ------------------------------
|
||||
if ! is_service_enabled designate-agent && [ "$DESIGNATE_BACKEND_DRIVER" == "agent" ]; then
|
||||
die $LINENO "To use the agent backend, you must enable the designate-agent service"
|
||||
fi
|
||||
|
||||
if is_service_enabled tatu; then
|
||||
if [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||
echo_summary "Installing Designate client"
|
||||
install_designateclient
|
||||
echo_summary "Installing Tatu client"
|
||||
install_tatuclient
|
||||
|
||||
echo_summary "Installing Designate"
|
||||
install_designate
|
||||
echo_summary "Installing Tatu"
|
||||
install_tatu
|
||||
|
||||
if is_service_enabled horizon; then
|
||||
echo_summary "Installing Designate dashboard"
|
||||
install_designatedashboard
|
||||
fi
|
||||
|
||||
if is_service_enabled tempest; then
|
||||
echo_summary "Installing Designate Tempest Plugin"
|
||||
install_designatetempest
|
||||
echo_summary "Installing Tatu dashboard"
|
||||
install_tatudashboard
|
||||
fi
|
||||
|
||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||
echo_summary "Configuring Designate"
|
||||
configure_designate
|
||||
echo_summary "Configuring Tatu"
|
||||
configure_tatu
|
||||
if is_service_enabled horizon; then
|
||||
echo_summary "Configuring Designate dashboard"
|
||||
configure_designatedashboard
|
||||
echo_summary "Configuring Tatu dashboard"
|
||||
configure_tatudashboard
|
||||
fi
|
||||
|
||||
if is_service_enabled keystone; then
|
||||
echo_summary "Creating Designate Keystone accounts"
|
||||
create_designate_accounts
|
||||
echo_summary "Creating Tatu Keystone accounts"
|
||||
create_tatu_accounts
|
||||
fi
|
||||
|
||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||
echo_summary "Initializing Designate"
|
||||
init_designate
|
||||
echo_summary "Initializing Tatu"
|
||||
init_tatu
|
||||
|
||||
echo_summary "Starting Designate"
|
||||
start_designate
|
||||
|
||||
echo_summary "Creating Pool Configuration"
|
||||
create_designate_pool_configuration
|
||||
elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then
|
||||
echo_summary "Configuring Tempest options for Designate"
|
||||
configure_designate_tempest
|
||||
echo_summary "Starting Tatu"
|
||||
start_tatu
|
||||
fi
|
||||
|
||||
if [[ "$1" == "unstack" ]]; then
|
||||
stop_designate
|
||||
stop_tatu
|
||||
fi
|
||||
|
||||
if [[ "$1" == "clean" ]]; then
|
||||
echo_summary "Cleaning Designate"
|
||||
cleanup_designate
|
||||
echo_summary "Cleaning Tatu"
|
||||
cleanup_tatu
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -6,87 +6,46 @@ plugin_requires tatu dragonflow # TODO(pino): remove this dependency
|
||||
# Default options
|
||||
TATU_USE_BARBICAN=${TATU_USE_BARBICAN:-"True"}
|
||||
TATU_USE_PAT_BASTIONS=${TATU_USE_PAT_BASTIONS:-"True"}
|
||||
TATU_TOTAL_PAT_BASTIONS=${TATU_TOTAL_PATS:-2}
|
||||
TATU_PAT_BASTIONS_PER_INSTANCE=${TATU_TOTAL_PATS:-2}
|
||||
TATU_DNS_ZONE_NAME=${TATU_DNS_ZONE_NAME:}
|
||||
DESIGNATE_BACKEND_DRIVER=${DESIGNATE_BACKEND_DRIVER:=bind9}
|
||||
DESIGNATE_AGENT_BACKEND_DRIVER=${DESIGNATE_AGENT_BACKEND_DRIVER:-"fake"}
|
||||
DESIGNATE_POOL_MANAGER_CACHE_DRIVER=${DESIGNATE_POOL_MANAGER_CACHE_DRIVER:-memcache}
|
||||
DESIGNATE_POOL_ID=${DESIGNATE_POOL_ID:-794ccc2c-d751-44fe-b57f-8894c9f5c842}
|
||||
DESIGNATE_DEFAULT_NS_RECORD=${DESIGNATE_DEFAULT_NS_RECORD:-ns1.devstack.org.}
|
||||
DESIGNATE_NOTIFICATION_DRIVER=${DESIGNATE_NOTIFICATION_DRIVER:-}
|
||||
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:-}
|
||||
DESIGNATE_POLL_INTERVAL=${DESIGNATE_POLL_INTERVAL:-5}
|
||||
DESIGNATE_POLL_RETRIES=${DESIGNATE_POLL_RETRIES:-6}
|
||||
|
||||
# Quota Options
|
||||
DESIGNATE_QUOTA_ZONES=${DESIGNATE_QUOTA_ZONES:-100}
|
||||
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"}
|
||||
TATU_TOTAL_PAT_BASTIONS=${TATU_TOTAL_PAT_BASTIONS:-2}
|
||||
TATU_PAT_BASTIONS_PER_INSTANCE=${TATU_PAT_BASTIONS_PER_INSTANCE:-2}
|
||||
TATU_DNS_ZONE_NAME=${TATU_DNS_ZONE_NAME:-example.com.}
|
||||
TATU_DNS_ZONE_EMAIL=${TATU_DNS_ZONE_EMAIL:-"admin@admin"}
|
||||
|
||||
# Public facing bits
|
||||
if is_service_enabled tls-proxy; then
|
||||
DESIGNATE_SERVICE_PROTOCOL="https"
|
||||
TATU_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_PORT=${DESIGNATE_SERVICE_PORT:-9001}
|
||||
DESIGNATE_SERVICE_PORT_INT=${DESIGNATE_SERVICE_PORT_INT:-19001}
|
||||
DESIGNATE_SERVICE_PORT_DNS=${DESIGNATE_SERVICE_PORT_DNS:-53}
|
||||
DESIGNATE_SERVICE_PORT_MDNS=${DESIGNATE_SERVICE_PORT_MDNS:-5354}
|
||||
DESIGNATE_SERVICE_PORT_AGENT=${DESIGNATE_SERVICE_PORT_AGENT:-5358}
|
||||
TATU_SERVICE_PROTOCOL=${TATU_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
TATU_SERVICE_HOST=${TATU_SERVICE_HOST:-$SERVICE_HOST}
|
||||
TATU_SERVICE_PORT=${TATU_SERVICE_PORT:-8322}
|
||||
TATU_SERVICE_PORT_INT=${TATU_SERVICE_PORT_INT:-18322}
|
||||
|
||||
# Default directories
|
||||
DESIGNATE_BIN_DIR=$(get_python_exec_prefix)
|
||||
DESIGNATE_DIR=$DEST/designate
|
||||
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_AUTH_CACHE_DIR=${DESIGNATE_AUTH_CACHE_DIR:-/var/cache/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
|
||||
TATU_BIN_DIR=$(get_python_exec_prefix)
|
||||
TATU_DIR=$DEST/tatu
|
||||
TATUDASHBOARD_DIR=$DEST/tatu-dashboard
|
||||
TATU_CONF_DIR=/etc/tatu
|
||||
TATU_STATE_PATH=${TATU_STATE_PATH:=$DATA_DIR/tatu}
|
||||
TATU_CONF=$TATU_CONF_DIR/tatu.conf
|
||||
TATU_LOG_DIR=/var/log/tatu
|
||||
TATU_AUTH_CACHE_DIR=${TATU_AUTH_CACHE_DIR:-/var/cache/tatu}
|
||||
TATU_ROOTWRAP_CONF=$TATU_CONF_DIR/rootwrap.conf
|
||||
TATU_APIPASTE_CONF=$TATU_CONF_DIR/api-paste.ini
|
||||
|
||||
# Default repositories
|
||||
DESIGNATE_REPO=${DESIGNATE_REPO:-${GIT_BASE}/openstack/designate.git}
|
||||
DESIGNATE_BRANCH=${DESIGNATE_BRANCH:-master}
|
||||
TATU_REPO=${TATU_REPO:-${GIT_BASE}/pinodeca/tatu.git}
|
||||
TATU_BRANCH=${TATU_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["tatu-dashboard"]=${TATUDASHBOARD_REPO:-${GIT_BASE}/pinodeca/tatu-dashboard.git}
|
||||
GITBRANCH["tatu-dashboard"]=${TATUDASHBOARD_BRANCH:-master}
|
||||
GITDIR["tatu-dashboard"]=$DEST/tatu-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["python-tatuclient"]=${TATUCLIENT_REPO:-${GIT_BASE}/pinodeca/python-tatuclient.git}
|
||||
GITBRANCH["python-tatuclient"]=${TATUCLIENT_BRANCH:-master}
|
||||
GITDIR["python-tatuclient"]=$DEST/python-tatuclient
|
||||
|
||||
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
|
||||
|
||||
# Tell Tempest this project is present
|
||||
TEMPEST_SERVICES+=,designate
|
||||
|
||||
# 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-agent
|
||||
enable_service designate-sink
|
||||
# Turn on all Tatu services by default
|
||||
enable_service tatu
|
||||
enable_service tatu-api
|
||||
|
Loading…
x
Reference in New Issue
Block a user