diff --git a/.zuul.yaml b/.zuul.yaml index 92907c96b..ff6f6a8c2 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -5,7 +5,7 @@ database: mysql python_version: py27 identity_v3_only: 0 - worker_model: 0 + manager_model: 0 backend: pdns4 required-projects: - openstack-infra/devstack-gate @@ -17,6 +17,11 @@ run: playbooks/legacy/designate-devstack-base/run.yaml post-run: playbooks/legacy/designate-devstack-base/post.yaml timeout: 4200 + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ - job: name: designate-devstack-agent-base @@ -31,6 +36,11 @@ run: playbooks/legacy/designate-devstack-agent-base/run.yaml post-run: playbooks/legacy/designate-devstack-agent-base/post.yaml timeout: 4200 + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ - job: name: grenade-devstack-designate-pdns4 @@ -76,13 +86,6 @@ vars: backend: pdns4 -- job: - name: designate-devstack-pdns4-identity-v3-only - parent: designate-devstack-base - vars: - backend: pdns4 - identity_v3_only: 1 - - job: name: designate-devstack-pdns4-postgres parent: designate-devstack-base @@ -93,16 +96,15 @@ - job: name: designate-devstack-pdns4-py35 parent: designate-devstack-base - voting: false vars: backend: pdns4 python_version: py35 - job: - name: designate-devstack-pdns4-worker-model + name: designate-devstack-pdns4-manager-model parent: designate-devstack-base vars: - worker_model: 1 + manager_model: 1 - project-template: name: designate-devstack-jobs @@ -111,8 +113,7 @@ - designate-devstack-bind9 - designate-devstack-pdns4 - designate-devstack-pdns4-postgres - - designate-devstack-pdns4-worker-model - - designate-devstack-pdns4-identity-v3-only + - designate-devstack-pdns4-manager-model - designate-devstack-pdns4-py35 - grenade-devstack-designate-pdns4 gate: @@ -121,8 +122,7 @@ - designate-devstack-bind9 - designate-devstack-pdns4 - designate-devstack-pdns4-postgres - - designate-devstack-pdns4-worker-model - - designate-devstack-pdns4-identity-v3-only + - designate-devstack-pdns4-manager-model - grenade-devstack-designate-pdns4 experimental: jobs: diff --git a/devstack/plugin.sh b/devstack/plugin.sh index fa3ade9a6..6bbd291b8 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -68,15 +68,17 @@ function configure_designate { iniset $DESIGNATE_CONF coordination backend_url $DESIGNATE_COORDINATION_URL fi - # 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 + 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` + # 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 # API Configuration @@ -93,7 +95,7 @@ function configure_designate { iniset $DESIGNATE_CONF service:mdns listen ${DESIGNATE_SERVICE_HOST}:${DESIGNATE_SERVICE_PORT_MDNS} # Worker Configuration - if is_service_enabled designate-worker; then + 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 @@ -299,13 +301,17 @@ function start_designate { 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-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" 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" - 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" + 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 proxies if enabled diff --git a/devstack/upgrade/resources.sh b/devstack/upgrade/resources.sh index 109728612..bfe91bd14 100755 --- a/devstack/upgrade/resources.sh +++ b/devstack/upgrade/resources.sh @@ -6,6 +6,7 @@ source $GRENADE_DIR/grenaderc source $GRENADE_DIR/functions source $TOP_DIR/openrc admin admin +source $TOP_DIR/stackrc set -o xtrace @@ -17,6 +18,9 @@ DESIGNATE_ZONE_EMAIL=hostmaster@example.com DESIGNATE_RRSET_NAME=www.example.com. DESIGNATE_RRSET_TYPE=A DESIGNATE_RRSET_RECORD=10.0.0.1 +# used with dig to look up in DNS +DIG_FLAGS="-p $DESIGNATE_SERVICE_PORT_DNS @$SERVICE_HOST" +DIG_TIMEOUT=30 function _set_designate_user { OS_TENANT_NAME=$DESIGNATE_PROJECT @@ -25,6 +29,25 @@ function _set_designate_user { OS_PASSWORD=$DESIGNATE_PASS } +function _ensure_recordset_present { + local record_name=$1 + local record_type=$2 + local record_value=$3 + + if [ "$DESIGNATE_BACKEND_DRIVER" = "fake" ] ; then + # if the backend is fake, there will be no actual DNS records + return 0 + fi + + if ! timeout $DIG_TIMEOUT sh -c "while ! dig +short $DIG_FLAGS $record_name $record_type | grep \"$record_value\"; do sleep 1; done"; then + die $LINENO "Error: record $record_name ($record_type) not found in DNS" + fi + + # Display for debugging + dig $DIG_FLAGS $record_name $record_type + + return 0 +} function create { @@ -121,7 +144,8 @@ function verify { } function verify_noapi { - : + env + _ensure_recordset_present $DESIGNATE_RRSET_NAME $DESIGNATE_RRSET_TYPE $DESIGNATE_RRSET_RECORD } function destroy { diff --git a/devstack/upgrade/settings b/devstack/upgrade/settings index 96641b2c7..af6949f28 100644 --- a/devstack/upgrade/settings +++ b/devstack/upgrade/settings @@ -4,5 +4,8 @@ register_db_to_save designate devstack_localrc base enable_plugin designate https://git.openstack.org/openstack/designate devstack_localrc target enable_plugin designate https://git.openstack.org/openstack/designate -devstack_localrc base enable_service designate-api designate-central designate-pool-manager designate-zone-manager designate-mdns designate-agent designate-sink designate horizon -devstack_localrc target enable_service designate-api designate-central designate-pool-manager designate-zone-manager designate-mdns designate-agent designate-sink designate horizon +devstack_localrc base enable_service designate-api designate-central designate-producer designate-worker designate-mdns designate-agent designate-sink designate horizon +devstack_localrc target enable_service designate-api designate-central designate-producer designate-worker designate-mdns designate-agent designate-sink designate horizon + +BASE_RUN_SMOKE=False +TARGET_RUN_SMOKE=False diff --git a/devstack/upgrade/shutdown.sh b/devstack/upgrade/shutdown.sh index 62e329779..8228d22cd 100755 --- a/devstack/upgrade/shutdown.sh +++ b/devstack/upgrade/shutdown.sh @@ -18,11 +18,21 @@ set -o xtrace 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 +if is_service_enabled designate-worker; then + stop_process designate-worker + stop_process designate-producer +else + stop_process designate-pool-manager + stop_process designate-zone-manager +fi # sanity check that service is actually down -ensure_services_stopped designate-api designate-central designate-pool-manager designate-zone-manager designate-mdns designate-agent designate-sink +ensure_services_stopped designate-api designate-central designate-mdns designate-agent designate-sink +if is_service_enabled designate-worker; then + ensure_services_stopped designate-worker designate-producer +else + ensure_services_stopped designate-pool-manager designate-zone-manager +fi diff --git a/devstack/upgrade/upgrade.sh b/devstack/upgrade/upgrade.sh index 29a880e3d..c40c795bd 100755 --- a/devstack/upgrade/upgrade.sh +++ b/devstack/upgrade/upgrade.sh @@ -72,8 +72,8 @@ $DESIGNATE_BIN_DIR/designate-manage --config-file $DESIGNATE_CONF \ # Start designate 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-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" +run_process designate-producer "$DESIGNATE_BIN_DIR/designate-producer --config-file $DESIGNATE_CONF" +run_process designate-worker "$DESIGNATE_BIN_DIR/designate-worker --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" @@ -88,7 +88,7 @@ if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget --no-proxy -q -O- $DESIGNATE_S fi # Don't succeed unless the service come up -ensure_services_started designate-api designate-central designate-pool-manager designate-zone-manager designate-mdns designate-agent designate-sink +ensure_services_started designate-api designate-central designate-producer designate-worker designate-mdns designate-agent designate-sink set +o xtrace echo "*********************************************************************" diff --git a/playbooks/legacy/designate-devstack-base/run.yaml b/playbooks/legacy/designate-devstack-base/run.yaml index cbaff5f20..58d667831 100644 --- a/playbooks/legacy/designate-devstack-base/run.yaml +++ b/playbooks/legacy/designate-devstack-base/run.yaml @@ -61,7 +61,7 @@ export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False" fi - if [ "{{ worker_model }}" == "0" ] ; then + if [ "{{ manager_model }}" == "1" ] ; then export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service designate-worker designate-producer" export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service designate-pool-manager designate-zone-manager" fi