Add settings for OVB in RDO Cloud

Adding settings to make tripleo-ci OVB jobs work in RDO Cloud.
- add and conditionally load infrastructure servers IP settings
- disable network sharing since we are not admins in RDO Cloud
- modify flavor settings to match RDO Cloud requirements
- add additional ovb environment file for RDO Cloud settings

Change-Id: I032d6e3558a44d4f90a0de092dec980e95d1f33e
This commit is contained in:
Gabriele Cerami 2017-07-06 12:09:15 +02:00 committed by Ronelle Landy
parent 6860a9967c
commit 4a8b331ce4
6 changed files with 61 additions and 2 deletions

View File

@ -29,5 +29,5 @@ function previous_release_from {
function is_featureset_mixed_upgrade {
local FEATURESET_FILE="$1"
[ $(shyaml get-value mixed_upgrade < $FEATURESET_FILE) = "True" ]
[ $(shyaml get-value mixed_upgrade "False"< $FEATURESET_FILE) = "True" ]
}

20
scripts/rdocloud.env Normal file
View File

@ -0,0 +1,20 @@
#!/bin/bash
export PUBLIC_IP_NET=38.145.32.0/22
export PUBLIC_IP_GATEWAY=38.145.32.254
export PUBLIC_IP_FLOATING_START=38.145.32.16
export PUBLIC_IP_FLOATING_END=38.145.32.250
# The total number of testenv-workers running, to allow for timeouts
# Should be slightly higher then the max number of CI slaves running.
export TOTALOVBENVS=70
export QUOTA_RAM=3145728
export QUOTA_FIPS=75
export QUOTA_NETS=1000
export QUOTA_PORTS=10000
export TEBROKERIP=192.168.103.254
export MIRRORIP=192.168.103.253
export PROXYIP=192.168.103.252
export http_proxy="http://$PROXYIP:3128/"

View File

@ -40,6 +40,12 @@ sed -i -e "s/key_name:.*/key_name: ${KEY_NAME}/" $ENVFILE
sed -i -e "s/node_count:.*/node_count: ${NODECOUNT}/" $ENVFILE
sed -i -e "s/provision_net_shared:.*/provision_net_shared: true/" $ENVFILE
sed -i -e "s/public_net_shared:.*/public_net_shared: true/" $ENVFILE
if [[ $NODEPOOL_PROVIDER == "rdo-cloud-tripleo" ]]; then
sed -i -e "s/provision_net_shared:.*/provision_net_shared: false/" $ENVFILE
sed -i -e "s/public_net_shared:.*/public_net_shared: false/" $ENVFILE
sed -i -e "s/bmc_flavor:.*/bmc_flavor: ci.m1.small/" $ENVFILE
sed -i -e "s/baremetal_flavor:.*/baremetal_flavor: ci.m1.large/" $ENVFILE
fi
if [ -n "$CREATE_UNDERCLOUD" ]; then
sed -i -e "s/undercloud_name:.*/undercloud_name: extra-node/" $ENVFILE
sed -i -e "s/undercloud_flavor:.*/undercloud_flavor: m1.small/" $ENVFILE
@ -105,6 +111,11 @@ if [ $NETISO != 'none' ]; then
nova interface-attach --net-id $(neutron net-show -F id -f value $PUBLICNET) $UCINSTANCE
fi
for PORT_SECURITY_NET in $PROVISIONNET $PUBLICNET; do
neutron port-update $(openstack port list --network $PORT_SECURITY_NET --server $UCINSTANCE -f value -c ID) \
--no-security-groups --port-security-enabled=False
done
# This writes out the env file as env-ID.yaml while overwrites the one we have created
/opt/stack/openstack-virtual-baremetal/bin/build-nodes-json --env env-${ENVNUM}.yaml \
--nodes_json ${TE_DATAFILE:-~/instackenv.json} $BUILD_NODES_JSON_EXTRA_ARGS

View File

@ -1,8 +1,12 @@
#!/bin/bash
source /etc/nodepoolrc
# Keep X number of testenv workers running, each testenv worker exists after processing a single job
BASEPATH=$(realpath $(dirname $0)/../..)
ENVFILE=$BASEPATH/scripts/rh1.env
if [[ $NODEPOOL_PROVIDER == "rdo-cloud-tripleo" ]]; then
ENVFILE=$BASEPATH/scripts/rdocloud.env
fi
TENUM=0

View File

@ -0,0 +1,15 @@
# This file contains settings that are specific to RDO Cloud.
# These settings will override the ovb default settings
bmc_flavor: ci.m1.small
baremetal_flavor: ci.m1.large
undercloud_flavor: ci.m1.large
custom_nameserver:
- 38.145.33.91
- 38.145.32.66
- 38.145.32.79
undercloud_undercloud_nameservers: "{{ custom_nameserver }}"
external_net: '38.145.32.0/22'
overcloud_dns_servers: "{{ custom_nameserver }}"
ntp_server: 'pool.ntp.org'

View File

@ -34,8 +34,14 @@ if [ -f /etc/nodepool/provider ] ; then
export EPEL_MIRROR=http://$NODEPOOL_MIRROR_HOST/epel
# host setup
export RHCLOUD=''
if [ $NODEPOOL_CLOUD == 'tripleo-test-cloud-rh1' ]; then
source $(dirname $0)/scripts/rh1.env
RHCLOUD='rh1'
elif [ $NODEPOOL_PROVIDER == 'rdo-cloud-tripleo' ]; then
RHCLOUD='rdocloud'
fi
if [ $RHCLOUD != '' ]; then
source $(dirname $0)/scripts/$RHCLOUD.env
# In order to save space remove the cached git repositories, at this point in
# CI the ones we are interested in have been cloned to /opt/stack/new. We
@ -130,6 +136,9 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
UCINSTANCEID=$(http_proxy= curl http://169.254.169.254/openstack/2015-10-15/meta_data.json | python -c 'import json, sys; print json.load(sys.stdin)["uuid"]')
PLAYBOOK="ovb.yml"
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb.yml"
if [[ -f "$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb-$RHCLOUD.yml" ]]; then
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb-$RHCLOUD.yml"
fi
UNDERCLOUD="undercloud"
;;
multinode)