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 {
|
||||
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
|
||||
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 TOCIRUNNER="./toci_instack_ovb.sh"
|
||||
export MULTINODE=0
|
||||
export OVERCLOUD_ROLES=""
|
||||
# Whether or not we run TripleO using OpenStack Infra nodes
|
||||
export OSINFRA=0
|
||||
export CONTROLLER_HOSTS=
|
||||
|
@ -179,16 +180,24 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
|||
multinode)
|
||||
MULTINODE=1
|
||||
TOCIRUNNER="./toci_instack_osinfra.sh"
|
||||
NODECOUNT=1
|
||||
PACEMAKER=1
|
||||
OSINFRA=1
|
||||
|
||||
CONTROLLER_HOSTS=$(sed -n 1,1p /etc/nodepool/sub_nodes)
|
||||
SUBNODES_SSH_KEY=/etc/nodepool/id_rsa
|
||||
UNDERCLOUD_SSL=0
|
||||
INTROSPECT=0
|
||||
SUBNODES_SSH_KEY=/etc/nodepool/id_rsa
|
||||
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)
|
||||
TOCIRUNNER="./toci_instack_osinfra.sh"
|
||||
|
|
Loading…
Reference in New Issue