diff --git a/devstack/README.rst b/devstack/README.rst index f8c873e..5b24a34 100644 --- a/devstack/README.rst +++ b/devstack/README.rst @@ -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`` diff --git a/devstack/plugin.sh b/devstack/plugin.sh index c9d4349..9189e66 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.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 diff --git a/devstack/settings b/devstack/settings index 94b4916..58f0c88 100644 --- a/devstack/settings +++ b/devstack/settings @@ -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