Add 3 node multinode job
The 3 node multinode job tests with a primary node and 2 subnodes. The primary node is used for the undercloud. The 2 subnodes are used for the overcloud. The overcloud services are split between pacemaker managed services and non pacemaker managed services on the 2 subnodes. The first subnode has the minimal set of services for an all-in-one overcloud with the exception of any pacemaker service (galera, rabbitmq, etc) which are on the second subnode. This job adds coverage of non-default composable roles since a custom roles data yaml file has to be used to split up the services in this manner across the 2 subnodes. Depends-On: I8fc39e6d18cd70ff881e2a284234b26261018d67 Change-Id: I0cee6ff8b5c3002d45a6e66e4657baffa99ac5a6
This commit is contained in:
parent
ad673da0ec
commit
b009f75223
|
@ -307,9 +307,13 @@ function layer_ci_repo {
|
||||||
|
|
||||||
|
|
||||||
function echo_vars_to_deploy_env {
|
function echo_vars_to_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 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; 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 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; do
|
||||||
echo "export $VAR=\"${!VAR}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
echo "export $VAR=\"${!VAR}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||||
done
|
done
|
||||||
|
for role in $OVERCLOUD_ROLES; do
|
||||||
|
eval hosts=\${${role}_hosts}
|
||||||
|
echo "export ${role}_hosts=\"${hosts}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
# 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::GlanceRegistry
|
||||||
|
- 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
|
|
@ -0,0 +1,9 @@
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::Controller::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||||
|
OS::TripleO::ControllerApi::Net::SoftwareConfig: ../heat-templates/net-config-multinode.yaml
|
||||||
|
OS::TripleO::Services::Core: multinode-core.yaml
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
ControllerExtraConfig:
|
||||||
|
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||||
|
nova::compute::libvirt::libvirt_virt_type: qemu
|
|
@ -0,0 +1,37 @@
|
||||||
|
heat_template_version: 2016-04-08
|
||||||
|
|
||||||
|
description: >
|
||||||
|
OpenStack Core Service
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
ServiceNetMap:
|
||||||
|
default: {}
|
||||||
|
description: Mapping of service_name -> network name. Typically set
|
||||||
|
via parameter_defaults in the resource registry. This
|
||||||
|
mapping overrides those in ServiceNetMapDefaults.
|
||||||
|
type: json
|
||||||
|
DefaultPasswords:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
EndpointMap:
|
||||||
|
default: {}
|
||||||
|
description: Mapping of service endpoint -> protocol. Typically set
|
||||||
|
via parameter_defaults in the resource registry.
|
||||||
|
type: json
|
||||||
|
Debug:
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
resources:
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
role_data:
|
||||||
|
description: Role data for the Keystone role.
|
||||||
|
value:
|
||||||
|
service_name: core
|
||||||
|
config_settings:
|
||||||
|
tripleo.core.firewall_rules:
|
||||||
|
'999 core':
|
||||||
|
proto: 'udp'
|
||||||
|
dport:
|
||||||
|
- 4789
|
|
@ -77,6 +77,7 @@ export OVB=0
|
||||||
export UCINSTANCEID=NULL
|
export UCINSTANCEID=NULL
|
||||||
export TOCIRUNNER="./toci_instack_ovb.sh"
|
export TOCIRUNNER="./toci_instack_ovb.sh"
|
||||||
export MULTINODE=0
|
export MULTINODE=0
|
||||||
|
export OVERCLOUD_ROLES=""
|
||||||
# Whether or not we run TripleO using OpenStack Infra nodes
|
# Whether or not we run TripleO using OpenStack Infra nodes
|
||||||
export OSINFRA=0
|
export OSINFRA=0
|
||||||
export CONTROLLER_HOSTS=
|
export CONTROLLER_HOSTS=
|
||||||
|
@ -179,16 +180,24 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||||
multinode)
|
multinode)
|
||||||
MULTINODE=1
|
MULTINODE=1
|
||||||
TOCIRUNNER="./toci_instack_osinfra.sh"
|
TOCIRUNNER="./toci_instack_osinfra.sh"
|
||||||
NODECOUNT=1
|
|
||||||
PACEMAKER=1
|
|
||||||
OSINFRA=1
|
OSINFRA=1
|
||||||
|
|
||||||
CONTROLLER_HOSTS=$(sed -n 1,1p /etc/nodepool/sub_nodes)
|
|
||||||
SUBNODES_SSH_KEY=/etc/nodepool/id_rsa
|
|
||||||
UNDERCLOUD_SSL=0
|
UNDERCLOUD_SSL=0
|
||||||
INTROSPECT=0
|
INTROSPECT=0
|
||||||
|
SUBNODES_SSH_KEY=/etc/nodepool/id_rsa
|
||||||
OVERCLOUD_DEPLOY_ARGS="--libvirt-type=qemu -t $OVERCLOUD_DEPLOY_TIMEOUT"
|
OVERCLOUD_DEPLOY_ARGS="--libvirt-type=qemu -t $OVERCLOUD_DEPLOY_TIMEOUT"
|
||||||
OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml -e $MULTINODE_ENV_PATH --compute-scale 0 --overcloud-ssh-user $OVERCLOUD_SSH_USER --validation-errors-nonfatal"
|
|
||||||
|
if [[ "$TOCI_JOBTYPE" =~ "3nodes" ]]; then
|
||||||
|
NODECOUNT=2
|
||||||
|
PACEMAKER=1
|
||||||
|
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"
|
||||||
|
else
|
||||||
|
NODECOUNT=1
|
||||||
|
CONTROLLER_HOSTS=$(sed -n 1,1p /etc/nodepool/sub_nodes)
|
||||||
|
OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml -e $MULTINODE_ENV_PATH --compute-scale 0 --overcloud-ssh-user $OVERCLOUD_SSH_USER --validation-errors-nonfatal"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
undercloud)
|
undercloud)
|
||||||
TOCIRUNNER="./toci_instack_osinfra.sh"
|
TOCIRUNNER="./toci_instack_osinfra.sh"
|
||||||
|
|
Loading…
Reference in New Issue