Add support for testing predictable placement
Initially just the predefined ips piece of that functionality because it is the easiest to implement. Testing the other bits will come in followup patches. Change-Id: Ic12b85be917aad1ae8313cb4748b4f11b6b24192
This commit is contained in:
parent
cd4d0d4a58
commit
2cb41b9d1f
@ -314,7 +314,7 @@ function layer_ci_repo {
|
||||
function echo_vars_to_deploy_env {
|
||||
CALLER=$(caller)
|
||||
echo "# Written via echo_vars_to_deploy_env from $CALLER" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||
for VAR in CENTOS_MIRROR http_proxy INTROSPECT MY_IP no_proxy NODECOUNT OVERCLOUD_DEPLOY_ARGS OVERCLOUD_UPDATE_ARGS PACEMAKER SSH_OPTIONS STABLE_RELEASE TRIPLEO_ROOT TRIPLEO_SH_ARGS NETISO_V4 NETISO_V6 TOCI_JOBTYPE UNDERCLOUD_SSL UNDERCLOUD_HEAT_CONVERGENCE RUN_TEMPEST_TESTS RUN_PING_TEST JOB_NAME OVB UNDERCLOUD_IDEMPOTENT MULTINODE CONTROLLER_HOSTS COMPUTE_HOSTS SUBNODES_SSH_KEY TEST_OVERCLOUD_DELETE OVERCLOUD OSINFRA UNDERCLOUD_SANITY_CHECK OVERCLOUD_PINGTEST_ARGS FEATURE_BRANCH OVERCLOUD_ROLES UPGRADE_RELEASE OVERCLOUD_MAJOR_UPGRADE MAJOR_UPGRADE UNDERCLOUD_MAJOR_UPGRADE CA_SERVER UNDERCLOUD_TELEMETRY UNDERCLOUD_UI UNDERCLOUD_VALIDATIONS; do
|
||||
for VAR in CENTOS_MIRROR http_proxy INTROSPECT MY_IP no_proxy NODECOUNT OVERCLOUD_DEPLOY_ARGS OVERCLOUD_UPDATE_ARGS PACEMAKER SSH_OPTIONS STABLE_RELEASE TRIPLEO_ROOT TRIPLEO_SH_ARGS NETISO_V4 NETISO_V6 TOCI_JOBTYPE UNDERCLOUD_SSL UNDERCLOUD_HEAT_CONVERGENCE RUN_TEMPEST_TESTS RUN_PING_TEST JOB_NAME OVB UNDERCLOUD_IDEMPOTENT MULTINODE CONTROLLER_HOSTS COMPUTE_HOSTS SUBNODES_SSH_KEY TEST_OVERCLOUD_DELETE OVERCLOUD OSINFRA UNDERCLOUD_SANITY_CHECK OVERCLOUD_PINGTEST_ARGS FEATURE_BRANCH OVERCLOUD_ROLES UPGRADE_RELEASE OVERCLOUD_MAJOR_UPGRADE MAJOR_UPGRADE UNDERCLOUD_MAJOR_UPGRADE CA_SERVER UNDERCLOUD_TELEMETRY UNDERCLOUD_UI UNDERCLOUD_VALIDATIONS PREDICTABLE_PLACEMENT; do
|
||||
echo "export $VAR=\"${!VAR}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||
done
|
||||
for role in $OVERCLOUD_ROLES; do
|
||||
|
@ -301,6 +301,10 @@ if [ "$MULTINODE" == 0 ] && [ "$OVERCLOUD" == 1 ] ; then
|
||||
# Sanity test we deployed what we said we would
|
||||
source ~/stackrc
|
||||
[ "$NODECOUNT" != $(nova list | grep ACTIVE | wc -l | cut -f1 -d " ") ] && echo "Wrong number of nodes deployed" && exit 1
|
||||
if [ $PREDICTABLE_PLACEMENT == 1 ]; then
|
||||
# Verify our public VIP is the one we specified
|
||||
grep -q 10.0.0.9 ~/overcloudrc || (echo "Wrong public vip deployed " && exit 1)
|
||||
fi
|
||||
|
||||
if [ $PACEMAKER == 1 ] ; then
|
||||
# Wait for the pacemaker cluster to settle and all resources to be
|
||||
|
83
test-environments/ips-from-pool-all.yaml
Normal file
83
test-environments/ips-from-pool-all.yaml
Normal file
@ -0,0 +1,83 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_from_pool.yaml
|
||||
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_from_pool.yaml
|
||||
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
|
||||
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_from_pool.yaml
|
||||
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant_from_pool.yaml
|
||||
|
||||
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_from_pool.yaml
|
||||
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
|
||||
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant_from_pool.yaml
|
||||
|
||||
OS::TripleO::CephStorage::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
|
||||
OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_from_pool.yaml
|
||||
OS::TripleO::CephStorage::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
|
||||
OS::TripleO::SwiftStorage::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_from_pool.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_from_pool.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
|
||||
OS::TripleO::BlockStorage::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_from_pool.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_from_pool.yaml
|
||||
OS::TripleO::BlockStorage::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
|
||||
OS::TripleO::Network::Ports::NetVipMap: /usr/share/openstack-tripleo-heat-templates/network/ports/net_vip_map_external.yaml
|
||||
OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/from_service.yaml
|
||||
|
||||
parameter_defaults:
|
||||
ControlPlaneIP: 192.168.24.200
|
||||
ExternalNetworkVip: 10.0.0.9
|
||||
InternalApiNetworkVip: 172.17.0.9
|
||||
StorageNetworkVip: 172.18.0.9
|
||||
StorageMgmtNetworkVip: 172.19.0.9
|
||||
ServiceVips:
|
||||
redis: 172.17.0.8
|
||||
ControllerIPs:
|
||||
# Each controller will get an IP from the lists below, first controller, first IP
|
||||
external:
|
||||
- 10.0.0.251
|
||||
- 10.0.0.252
|
||||
- 10.0.0.253
|
||||
internal_api:
|
||||
- 172.17.0.251
|
||||
- 172.17.0.252
|
||||
- 172.17.0.253
|
||||
storage:
|
||||
- 172.18.0.251
|
||||
- 172.18.0.252
|
||||
- 172.18.0.253
|
||||
storage_mgmt:
|
||||
- 172.19.0.251
|
||||
- 172.19.0.252
|
||||
- 172.19.0.253
|
||||
tenant:
|
||||
- 172.16.0.251
|
||||
- 172.16.0.252
|
||||
- 172.16.0.253
|
||||
NovaComputeIPs:
|
||||
# Each compute will get an IP from the lists below, first compute, first IP
|
||||
internal_api:
|
||||
- 172.17.0.249
|
||||
storage:
|
||||
- 172.18.0.249
|
||||
tenant:
|
||||
- 172.16.0.249
|
||||
CephStorageIPs:
|
||||
# Each ceph node will get an IP from the lists below, first node, first IP
|
||||
storage:
|
||||
- 172.18.0.248
|
||||
storage_mgmt:
|
||||
- 172.19.0.248
|
||||
|
@ -96,6 +96,7 @@ export CA_SERVER=0
|
||||
export UNDERCLOUD_TELEMETRY=0
|
||||
export UNDERCLOUD_UI=0
|
||||
export UNDERCLOUD_VALIDATIONS=0
|
||||
export PREDICTABLE_PLACEMENT=0
|
||||
|
||||
if [[ $TOCI_JOBTYPE =~ scenario ]]; then
|
||||
export MULTINODE_ENV_NAME=$TOCI_JOBTYPE
|
||||
@ -186,9 +187,10 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
# In ci our overcloud nodes don't have access to an external netwrok
|
||||
# --ntp-server is here to make the deploy command happy, the ci env
|
||||
# is on virt so the clocks should be in sync without it.
|
||||
OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS --control-scale 3 --ntp-server 0.centos.pool.ntp.org -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/network-templates/network-environment.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/net-iso.yaml"
|
||||
OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS --control-scale 3 --ntp-server 0.centos.pool.ntp.org -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/network-templates/network-environment.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/net-iso.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/ips-from-pool-all.yaml"
|
||||
NETISO_V4=1
|
||||
PACEMAKER=1
|
||||
PREDICTABLE_PLACEMENT=1
|
||||
;;
|
||||
nonha)
|
||||
if [[ "${STABLE_RELEASE}" =~ ^(liberty|mitaka)$ ]] ; then
|
||||
|
Loading…
Reference in New Issue
Block a user