Update CI Jobs

- Added 'manager_model' flag for old style
  pool-manager + zone-manager

- Added grenade testing for verify_noapi which
  shows we can do an upgrade without impacting the
  data plane

- Removed old keystone v3 test (v2 no longer exists, so
  we are already testing it

- Make py35 job voting

- Stop dsvm jobs on docs / releasenotes / api-ref changes

Change-Id: I0de8d8c3366bb0325a73dd19ce0e1f9a57553d0b
This commit is contained in:
Graham Hayes 2017-12-01 17:11:36 +00:00
parent b343927604
commit 51a6d617d3
7 changed files with 81 additions and 38 deletions

View File

@ -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:

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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 "*********************************************************************"

View File

@ -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