#!/usr/bin/env bash set -eux # Clean any cached yum metadata, it maybe stale sudo yum clean all # cd to toci directory so relative paths work (below and in toci_devtest.sh) cd $(dirname $0) # Mirrors # This Fedora Mirror is in the same data center as our CI rack export FEDORA_MIRROR=http://dl.fedoraproject.org/pub/fedora/linux # This Mirror has resonable latency and throughput to our rack #export CENTOS_MIRROR=http://mirror.hmc.edu/centos # The CentOS mirror above is down right now. Pinning to the master # one until it comes back. export CENTOS_MIRROR=http://mirror.centos.org/centos # This EPEL Mirror is in the same data center as our CI rack export EPEL_MIRROR=http://dl.fedoraproject.org/pub/epel export http_proxy=http://192.168.1.100:3128/ export GEARDSERVER=192.168.1.1 export PYPIMIRROR=192.168.1.101 export NODECOUNT=2 export INTROSPECT=0 export PACEMAKER=0 # NOTE(bnemec): At this time, the undercloud install + image build is taking from # 1 hour to 1 hour and 15 minutes on the jobs I checked. The devstack gate timeout # is 170 minutes, so subtracting 90 should leave us an hour and 20 minutes for # the deploy. Hopefully that's enough, while still leaving some cushion to come # in under the gate timeout so we can collect logs. OVERCLOUD_DEPLOY_TIMEOUT=$((DEVSTACK_GATE_TIMEOUT-90)) export OVERCLOUD_DEPLOY_ARGS="--libvirt-type=qemu -t $OVERCLOUD_DEPLOY_TIMEOUT" export OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS -e /tmp/tripleo-ci/test-environments/swap-partition.yaml" export TRIPLEO_SH_ARGS= export NETISO_V4=0 # Set the fedora mirror, this is more reliable then relying on the repolist returned by metalink sudo sed -i -e "s|^#baseurl=http://download.fedoraproject.org/pub/fedora/linux|baseurl=$FEDORA_MIRROR|;/^metalink/d" /etc/yum.repos.d/fedora*.repo # start dstat early sudo yum install -y dstat # TODO add it to the gate image building mkdir -p "$WORKSPACE/logs" dstat -tcmndrylpg --output "$WORKSPACE/logs/dstat-csv.log" >/dev/null & disown # Switch defaults based on the job name for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do case $JOB_TYPE_PART in overcloud) ;; ceph) NODECOUNT=4 OVERCLOUD_DEPLOY_ARGS="$OVERCLOUD_DEPLOY_ARGS --ceph-storage-scale 2 -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-ceph-devel.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/net-multiple-nics.yaml -e /tmp/tripleo-ci/test-environments/net-iso.yaml" export NETISO_V4=1 ;; ha) NODECOUNT=4 # 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 /usr/share/openstack-tripleo-heat-templates/environments/net-multiple-nics.yaml -e /tmp/tripleo-ci/test-environments/net-iso.yaml" export NETISO_V4=1 PACEMAKER=1 ;; nonha) INTROSPECT=1 ;; containers) # TODO : remove this when the containers job is passing again exit 1 TRIPLEO_SH_ARGS="--use-containers" ;; periodic) export DELOREAN_REPO_URL=http://trunk.rdoproject.org/centos7/consistent ;; liberty) # This is handled in tripleo.sh (it always uses centos7-liberty/current) unset DELOREAN_REPO_URL ;; esac done # print the final values of control variables to console env | grep -E "(TOCI_JOBTYPE)=" # Allow the instack node to have traffic forwards through here sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT echo 1 | sudo dd of=/proc/sys/net/ipv4/ip_forward TIMEOUT_SECS=$((DEVSTACK_GATE_TIMEOUT*60)) # ./testenv-client kill everything in its own process group it it hits a timeout # run it in a separate group to avoid getting killed along with it set -m ./testenv-client -b $GEARDSERVER:4730 -t $TIMEOUT_SECS -- ./toci_instack.sh