Use bootstrap subnodes environment in CI
Use the bootstrap subnode environment in CI that was added in I6be94604a46382e6288df1b36b9de8fab58696cc instead of bootstrapping the subnodes manually first. Even when using the environment, we need to do a minimal bootstrap to do some cleanup from the infra spawned nodes and initially install the agent packages. Change-Id: I90619e8027b43dd2f2efc5a9d3cc7de80a906fb5
This commit is contained in:
parent
32e1bb6789
commit
4a4c8a1c76
37
scripts/bootstrap-overcloud-full-minimal.sh
Executable file
37
scripts/bootstrap-overcloud-full-minimal.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
export STABLE_RELEASE=${STABLE_RELEASE:-""}
|
||||
|
||||
# Source deploy.env if it exists. It should exist if we are running under
|
||||
# tripleo-ci
|
||||
export TRIPLEO_ROOT=${TRIPLEO_ROOT:-"/opt/stack/new"}
|
||||
if [ -f "$TRIPLEO_ROOT/tripleo-ci/deploy.env" ]; then
|
||||
source $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||
fi
|
||||
|
||||
# Ensure epel-release is not installed
|
||||
sudo yum erase -y epel-release || :
|
||||
|
||||
# Copied from toci_gate_test.sh...need to apply this fix on subnodes as well
|
||||
# TODO(pabelanger): Why is python-requests installed from pip?
|
||||
sudo rm -rf /usr/lib/python2.7/site-packages/requests
|
||||
# Reinstall python-requests if it was already installed, otherwise it will be
|
||||
# installed later when other packages are installed.
|
||||
if rpm -q python-requests; then
|
||||
sudo yum reinstall -y python-requests
|
||||
fi
|
||||
|
||||
# Clear out any puppet modules on the node placed their by infra configuration
|
||||
sudo rm -rf /etc/puppet/modules/*
|
||||
|
||||
# This will remove any puppet configuration done my infra setup
|
||||
sudo yum -y remove puppet facter hiera
|
||||
|
||||
# Update everything
|
||||
sudo yum -y update
|
||||
|
||||
# git is needed since oooq multinode jobs does a git clone
|
||||
# See https://bugs.launchpad.net/tripleo-quickstart/+bug/1667043
|
||||
sudo yum -y install git python-heat-agent*
|
@ -334,7 +334,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 PREDICTABLE_PLACEMENT OPSTOOLS_REPO_ENABLED UPGRADE_ENV UNDERCLOUD_CONTAINERS; 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 OPSTOOLS_REPO_ENABLED UPGRADE_ENV UNDERCLOUD_CONTAINERS BOOTSTRAP_SUBNODES_MINIMAL; do
|
||||
echo "export $VAR=\"${!VAR}\"" >> $TRIPLEO_ROOT/tripleo-ci/deploy.env
|
||||
done
|
||||
for role in $OVERCLOUD_ROLES; do
|
||||
|
@ -7,6 +7,7 @@ gating_repo_enabled: true
|
||||
tripleo_root: "{{ lookup('env','TRIPLEO_ROOT') }}"
|
||||
extra_args: >
|
||||
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml
|
||||
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-centos.yaml
|
||||
-e ${TRIPLEO_ROOT}/tripleo-ci/test-environments/worker-config.yaml
|
||||
-e /usr/share/openstack-tripleo-heat-templates/environments/debug.yaml
|
||||
--compute-scale 0
|
||||
|
@ -1387,13 +1387,20 @@ function bootstrap_subnodes {
|
||||
|
||||
bootstrap_subnodes_repos
|
||||
|
||||
local bootstrap_script
|
||||
if [ "$BOOTSTRAP_SUBNODES_MINIMAL" = "1" ]; then
|
||||
bootstrap_script=bootstrap-overcloud-full-minimal.sh
|
||||
else
|
||||
bootstrap_script=bootstrap-overcloud-full.sh
|
||||
fi
|
||||
|
||||
for ip in $sub_nodes; do
|
||||
log "Bootstrapping $ip"
|
||||
# Run overcloud full bootstrap script
|
||||
log "Running bootstrap-overcloud-full.sh on $ip"
|
||||
ssh $SSH_OPTIONS -t -i /etc/nodepool/id_rsa $ip \
|
||||
TRIPLEO_ROOT=$TRIPLEO_ROOT \
|
||||
$TRIPLEO_ROOT/tripleo-ci/scripts/bootstrap-overcloud-full.sh
|
||||
$TRIPLEO_ROOT/tripleo-ci/scripts/$bootstrap_script
|
||||
done
|
||||
|
||||
log "Bootstrap subnodes - DONE".
|
||||
|
@ -101,6 +101,7 @@ export UNDERCLOUD_CONTAINERS=0
|
||||
export PREDICTABLE_PLACEMENT=0
|
||||
export OPSTOOLS_REPO_ENABLED=0
|
||||
export POSTCI=1
|
||||
export BOOTSTRAP_SUBNODES_MINIMAL=1
|
||||
|
||||
if [[ $TOCI_JOBTYPE =~ upgrades ]]; then
|
||||
# We deploy a master Undercloud and an Overcloud with the
|
||||
@ -200,6 +201,9 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
fi
|
||||
if [[ $TOCI_JOBTYPE =~ 'multinode-upgrades' ]] ; then
|
||||
OVERCLOUD_MAJOR_UPGRADE=1
|
||||
# We still bootstrap subnodes manually for multinode-upgrades
|
||||
# because we are deploying Newton initially.
|
||||
BOOTSTRAP_SUBNODES_MINIMAL=0
|
||||
UNDERCLOUD_SSL=0
|
||||
export UNDERCLOUD_SANITY_CHECK=0
|
||||
if [[ $TOCI_JOBTYPE == 'multinode-upgrades' ]] ; then
|
||||
@ -266,6 +270,7 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
INTROSPECT=0
|
||||
SUBNODES_SSH_KEY=/etc/nodepool/id_rsa
|
||||
OVERCLOUD_DEPLOY_ARGS="--libvirt-type=qemu -t $OVERCLOUD_DEPLOY_TIMEOUT"
|
||||
BOOTSTRAP_SUBNODES_MINIMAL=1
|
||||
|
||||
if [[ "$TOCI_JOBTYPE" =~ "3nodes" ]]; then
|
||||
NODECOUNT=2
|
||||
@ -273,11 +278,11 @@ 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 /usr/share/openstack-tripleo-heat-templates/ci/environments/multinode-3nodes.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 /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-centos.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)
|
||||
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"
|
||||
OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-centos.yaml -e $MULTINODE_ENV_PATH --compute-scale 0 --overcloud-ssh-user $OVERCLOUD_SSH_USER --validation-errors-nonfatal"
|
||||
fi
|
||||
;;
|
||||
undercloud)
|
||||
|
Loading…
Reference in New Issue
Block a user