From e8ce6e4e030c082c418115cc5c3318485a541ced Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Mon, 23 Jan 2017 10:21:26 -0500 Subject: [PATCH] Move Multinode environments to THT Scenarios already live in THT because they contain some data (like TripleO services or data binding) that are specific to TripleO releases. Example: NovaPlacement has been introduced in TriplO Ocata but not support in Newton. That's the reason we moved scenarios templates and pingtests in THT, so they can be branched. This patch does the same for multinode and multinode-3nodes. It moves the roles-data and pingtest to THT. Change-Id: I689d85918d78f51951e0c142f5cfb51b5c1f78f5 --- scripts/common_functions.sh | 2 +- scripts/quickstart/multinode-settings.yml | 2 +- scripts/tripleo.sh | 11 +-- templates/tenantvm_floatingip.yaml | 2 + .../multinode-3nodes-roles-data.yaml | 76 ------------------- test-environments/multinode.yaml | 46 ----------- toci_gate_test.sh | 8 +- 7 files changed, 12 insertions(+), 135 deletions(-) delete mode 100644 test-environments/multinode-3nodes-roles-data.yaml delete mode 100644 test-environments/multinode.yaml diff --git a/scripts/common_functions.sh b/scripts/common_functions.sh index f93386bde..933d671d1 100755 --- a/scripts/common_functions.sh +++ b/scripts/common_functions.sh @@ -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 PINGTEST_TEMPLATE 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; do echo "export $VAR=\"${!VAR}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env done for role in $OVERCLOUD_ROLES; do diff --git a/scripts/quickstart/multinode-settings.yml b/scripts/quickstart/multinode-settings.yml index d4a6104b7..80155cddb 100644 --- a/scripts/quickstart/multinode-settings.yml +++ b/scripts/quickstart/multinode-settings.yml @@ -1,6 +1,6 @@ extra_args: > -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml - -e ${TRIPLEO_ROOT}/tripleo-ci/test-environments/multinode.yaml + -e /usr/share/openstack-tripleo-heat-templates/ci/environments/multinode.yaml -e ${TRIPLEO_ROOT}/tripleo-ci/test-environments/worker-config.yaml --compute-scale 0 ssl_overcloud: false diff --git a/scripts/tripleo.sh b/scripts/tripleo.sh index 67bca1953..e664e46ac 100755 --- a/scripts/tripleo.sh +++ b/scripts/tripleo.sh @@ -153,7 +153,6 @@ OVERCLOUD_SANITYTEST=${OVERCLOUD_SANITYTEST:-""} SANITYTEST_CONTENT_NAME=${SANITYTEST_CONTENT_NAME:-"sanity_test"} SKIP_PINGTEST_CLEANUP=${SKIP_PINGTEST_CLEANUP:-""} OVERCLOUD_PINGTEST=${OVERCLOUD_PINGTEST:-""} -PINGTEST_TEMPLATE=${PINGTEST_TEMPLATE:-"tenantvm_floatingip"} UNDERCLOUD_SANITY_CHECK=${UNDERCLOUD_SANITY_CHECK:-""} REPO_SETUP=${REPO_SETUP:-""} REPO_PREFIX=${REPO_PREFIX:-"/etc/yum.repos.d/"} @@ -1007,10 +1006,12 @@ function overcloud_pingtest { if [ -e /usr/share/openstack-tripleo-heat-templates/ci/pingtests/$MULTINODE_ENV_NAME.yaml ]; then TENANT_PINGTEST_TEMPLATE=/usr/share/openstack-tripleo-heat-templates/ci/pingtests/$MULTINODE_ENV_NAME.yaml else - TENANT_PINGTEST_TEMPLATE=/usr/share/tripleo-ci/$PINGTEST_TEMPLATE.yaml - if [ ! -e $TENANT_PINGTEST_TEMPLATE ]; then - TENANT_PINGTEST_TEMPLATE=$(dirname `readlink -f -- $0`)/../templates/$PINGTEST_TEMPLATE.yaml - fi + if [ -e /usr/share/openstack-tripleo-heat-templates/ci/pingtests/$MULTINODE_ENV_NAME.yaml ]; then + TENANT_PINGTEST_TEMPLATE=/usr/share/openstack-tripleo-heat-templates/ci/pingtests/tenantvm_floatingip.yaml + else + # For Mitaka, we don't have tripleo-heat-templates/ci directory, so we still manage the pingtest here. + TENANT_PINGTEST_TEMPLATE=$TRIPLEO_ROOT/tripleo-ci/templates/tenantvm_floatingip.yaml + fi fi log "Overcloud pingtest, creating tenant-stack heat stack:" openstack stack create -f yaml -t $TENANT_PINGTEST_TEMPLATE $TENANT_STACK_DEPLOY_ARGS tenant-stack || exitval=1 diff --git a/templates/tenantvm_floatingip.yaml b/templates/tenantvm_floatingip.yaml index 6cb9456a1..0f31bc164 100644 --- a/templates/tenantvm_floatingip.yaml +++ b/templates/tenantvm_floatingip.yaml @@ -1,6 +1,8 @@ heat_template_version: 2013-05-23 description: > + This template resides in tripleo-ci for Mitaka CI jobs only. + For Newton and beyond, please look in THT. HOT template to create a new neutron network plus a router to the public network, and for deploying a server into the new network. The template also assigns a floating IP address and sets security group rules. ADAPTED FROM diff --git a/test-environments/multinode-3nodes-roles-data.yaml b/test-environments/multinode-3nodes-roles-data.yaml deleted file mode 100644 index 5c9e14208..000000000 --- a/test-environments/multinode-3nodes-roles-data.yaml +++ /dev/null @@ -1,76 +0,0 @@ -# Specifies which roles (groups of nodes) will be deployed -# Note this is used as an input to the various *.j2.yaml -# jinja2 templates, so that they are converted into *.yaml -# during the plan creation (via a mistral action/workflow). -# -# The format is a list, with the following format: -# -# * name: (string) mandatory, name of the role, must be unique -# -# CountDefault: (number) optional, default number of nodes, defaults to 0 -# sets the default for the {{role.name}}Count parameter in overcloud.yaml -# -# HostnameFormatDefault: (string) optional default format string for hostname -# defaults to '%stackname%-{{role.name.lower()}}-%index%' -# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml -# -# ServicesDefault: (list) optional default list of services to be deployed -# on the role, defaults to an empty list. Sets the default for the -# {{role.name}}Services parameter in overcloud.yaml - -- name: ControllerApi - CountDefault: 1 - ServicesDefault: - - OS::TripleO::Services::CACerts - - OS::TripleO::Services::CinderApi - - OS::TripleO::Services::CinderScheduler - - OS::TripleO::Services::Core - - OS::TripleO::Services::Kernel - - OS::TripleO::Services::Keystone - - OS::TripleO::Services::GlanceApi - - OS::TripleO::Services::HeatApi - - OS::TripleO::Services::HeatApiCfn - - OS::TripleO::Services::HeatApiCloudwatch - - OS::TripleO::Services::HeatEngine - - OS::TripleO::Services::NeutronDhcpAgent - - OS::TripleO::Services::NeutronL3Agent - - OS::TripleO::Services::NeutronMetadataAgent - - OS::TripleO::Services::NeutronApi - - OS::TripleO::Services::NeutronCorePlugin - - OS::TripleO::Services::NeutronOvsAgent - - OS::TripleO::Services::NovaConductor - - OS::TripleO::Services::NovaApi - - OS::TripleO::Services::NovaMetadata - - OS::TripleO::Services::NovaScheduler - - OS::TripleO::Services::NovaConsoleauth - - OS::TripleO::Services::NovaVncProxy - - OS::TripleO::Services::Ntp - - OS::TripleO::Services::SwiftProxy - - OS::TripleO::Services::SwiftStorage - - OS::TripleO::Services::SwiftRingBuilder - - OS::TripleO::Services::Snmp - - OS::TripleO::Services::Timezone - - OS::TripleO::Services::TripleoPackages - - OS::TripleO::Services::TripleoFirewall - - OS::TripleO::Services::NovaCompute - - OS::TripleO::Services::NovaLibvirt - -- name: Controller - CountDefault: 1 - ServicesDefault: - - OS::TripleO::Services::CACerts - - OS::TripleO::Services::CinderBackup - - OS::TripleO::Services::CinderVolume - - OS::TripleO::Services::Core - - OS::TripleO::Services::Kernel - - OS::TripleO::Services::MySQL - - OS::TripleO::Services::RabbitMQ - - OS::TripleO::Services::HAproxy - - OS::TripleO::Services::Keepalived - - OS::TripleO::Services::Memcached - - OS::TripleO::Services::Pacemaker - - OS::TripleO::Services::Ntp - - OS::TripleO::Services::Snmp - - OS::TripleO::Services::Timezone - - OS::TripleO::Services::TripleoPackages - - OS::TripleO::Services::TripleoFirewall diff --git a/test-environments/multinode.yaml b/test-environments/multinode.yaml deleted file mode 100644 index b73c314fe..000000000 --- a/test-environments/multinode.yaml +++ /dev/null @@ -1,46 +0,0 @@ -resource_registry: - OS::TripleO::Controller::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml - OS::TripleO::Compute::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml - -parameter_defaults: - ControllerServices: - - OS::TripleO::Services::CinderApi - - OS::TripleO::Services::CinderScheduler - - OS::TripleO::Services::CinderVolume - - OS::TripleO::Services::Kernel - - OS::TripleO::Services::Keystone - - OS::TripleO::Services::GlanceApi - - OS::TripleO::Services::HeatApi - - OS::TripleO::Services::HeatApiCfn - - OS::TripleO::Services::HeatApiCloudwatch - - OS::TripleO::Services::HeatEngine - - OS::TripleO::Services::MySQL - - OS::TripleO::Services::NeutronDhcpAgent - - OS::TripleO::Services::NeutronL3Agent - - OS::TripleO::Services::NeutronMetadataAgent - - OS::TripleO::Services::NeutronServer - - OS::TripleO::Services::NeutronCorePlugin - - OS::TripleO::Services::NeutronOvsAgent - - OS::TripleO::Services::RabbitMQ - - OS::TripleO::Services::HAproxy - - OS::TripleO::Services::Keepalived - - OS::TripleO::Services::Memcached - - OS::TripleO::Services::Pacemaker - - OS::TripleO::Services::NovaConductor - - OS::TripleO::Services::NovaApi - - OS::TripleO::Services::NovaMetadata - - OS::TripleO::Services::NovaScheduler - - OS::TripleO::Services::Ntp - - OS::TripleO::Services::SwiftProxy - - OS::TripleO::Services::SwiftStorage - - OS::TripleO::Services::SwiftRingBuilder - - OS::TripleO::Services::Snmp - - OS::TripleO::Services::Timezone - - OS::TripleO::Services::NovaCompute - - OS::TripleO::Services::NovaLibvirt - ControllerExtraConfig: - nova::compute::libvirt::services::libvirt_virt_type: qemu - nova::compute::libvirt::libvirt_virt_type: qemu - # Required for Centos 7.3 and Qemu 2.6.0 - nova::compute::libvirt::libvirt_cpu_mode: 'none' - SwiftCeilometerPipelineEnabled: False diff --git a/toci_gate_test.sh b/toci_gate_test.sh index a29ef9668..47409dc30 100755 --- a/toci_gate_test.sh +++ b/toci_gate_test.sh @@ -98,15 +98,11 @@ export UNDERCLOUD_UI=0 export UNDERCLOUD_VALIDATIONS=0 if [[ $TOCI_JOBTYPE =~ scenario ]]; then - # note: we don't need PINGTEST_TEMPLATE here. See tripleo.sh. Though - # we need to export it for logs purpose. - export PINGTEST_TEMPLATE= export MULTINODE_ENV_NAME=$TOCI_JOBTYPE MULTINODE_ENV_PATH=/usr/share/openstack-tripleo-heat-templates/ci/environments/$MULTINODE_ENV_NAME.yaml else - export PINGTEST_TEMPLATE=${PINGTEST_TEMPLATE:-"tenantvm_floatingip"} export MULTINODE_ENV_NAME='multinode' - MULTINODE_ENV_PATH=$TRIPLEO_ROOT/tripleo-ci/test-environments/$MULTINODE_ENV_NAME.yaml + MULTINODE_ENV_PATH=/usr/share/openstack-tripleo-heat-templates/ci/environments/$MULTINODE_ENV_NAME.yaml fi if [[ "$TOCI_JOBTYPE" =~ "periodic" && "$TOCI_JOBTYPE" =~ "-ha" ]]; then TEST_OVERCLOUD_DELETE=1 @@ -246,7 +242,7 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do OVERCLOUD_ROLES="ControllerApi Controller" export ControllerApi_hosts=$(sed -n 1,1p /etc/nodepool/sub_nodes) export Controller_hosts=$(sed -n 2,2p /etc/nodepool/sub_nodes) - OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/multinode-3nodes.yaml --compute-scale 0 --overcloud-ssh-user $OVERCLOUD_SSH_USER --validation-errors-nonfatal -r $TRIPLEO_ROOT/tripleo-ci/test-environments/multinode-3nodes-roles-data.yaml" + OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml -e $TRIPLEO_ROOT/tripleo-ci/test-environments/multinode-3nodes.yaml --compute-scale 0 --overcloud-ssh-user $OVERCLOUD_SSH_USER --validation-errors-nonfatal -r /usr/share/openstack-tripleo-heat-templates/ci/environments/multinode-3nodes.yaml" else NODECOUNT=1 CONTROLLER_HOSTS=$(sed -n 1,1p /etc/nodepool/sub_nodes)