From 776f5e48e731f14a8ecd300a43a76c6f8788a0c5 Mon Sep 17 00:00:00 2001 From: Bob Ball Date: Fri, 13 Jun 2014 08:14:12 +0100 Subject: [PATCH 1/6] Merge ZUUL_REF branch Change-Id: Ia8801a2aec4211681d42e8295df93188cf03879e --- functions.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/functions.sh b/functions.sh index 6bb9af06..066eb5c6 100644 --- a/functions.sh +++ b/functions.sh @@ -455,18 +455,21 @@ function setup_project { FALLBACK_ZUUL_REF=$(echo $ZUUL_REF | sed -e "s,$branch,master,") fi + if git_has_branch $project $branch; then + git_checkout $project $branch + else + git_checkout $project master + fi + # See if Zuul prepared a ref for this project if git_fetch_at_ref $project $OVERRIDE_ZUUL_REF || \ git_fetch_at_ref $project $FALLBACK_ZUUL_REF; then - # It's there, so check it out. - git_checkout $project FETCH_HEAD - else - if git_has_branch $project $branch; then - git_checkout $project $branch - else - git_checkout $project master - fi + git config --global user.email "openstack@citrix.com" + git config --global user.name "Citrix CI" + + # It's there, so merge it + git merge FETCH_HEAD fi } From dabb72753bb3e3b110d0a15ec7598622e1411220 Mon Sep 17 00:00:00 2001 From: Bob Ball Date: Fri, 8 Aug 2014 15:35:11 +0100 Subject: [PATCH 2/6] Update to force stack to run on saucy Change-Id: I133f004ec749dfd2c360474936b3421d146c33ab --- devstack-vm-gate.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/devstack-vm-gate.sh b/devstack-vm-gate.sh index 068a2fe4..af970079 100755 --- a/devstack-vm-gate.sh +++ b/devstack-vm-gate.sh @@ -366,6 +366,9 @@ EOF exit 1 fi cat >> "$localrc_file" << EOF +# Need to force devstack to run because we currently use saucy +FORCE=yes + SKIP_EXERCISES=${SKIP_EXERCISES},volumes XENAPI_PASSWORD=${DEVSTACK_GATE_XENAPI_PASSWORD} XENAPI_CONNECTION_URL=http://${DEVSTACK_GATE_XENAPI_DOM0_IP} @@ -606,13 +609,13 @@ else echo "... this takes 10 - 15 minutes (logs in logs/devstacklog.txt.gz)" start=$(date +%s) $ANSIBLE primary -f 5 -i "$WORKSPACE/inventory" -m shell \ - -a "cd '$BASE/new/devstack' && sudo -H -u stack stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ + -a "cd '$BASE/new/devstack' && sudo -H -u stack FORCE=yes stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ &> "$WORKSPACE/logs/devstack-early.txt" # Run non controller setup after controller is up. This is necessary # because services like nova apparently expect to have the controller in # place before anything else. $ANSIBLE subnodes -f 5 -i "$WORKSPACE/inventory" -m shell \ - -a "cd '$BASE/new/devstack' && sudo -H -u stack stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ + -a "cd '$BASE/new/devstack' && sudo -H -u stack FORCE=yes stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ &> "$WORKSPACE/logs/devstack-subnodes-early.txt" end=$(date +%s) took=$((($end - $start) / 60)) From 7ad48412a203d4191d6f5e2b83a5bf2a7f31b49b Mon Sep 17 00:00:00 2001 From: Bob Ball Date: Wed, 27 Aug 2014 16:39:26 +0100 Subject: [PATCH 3/6] Remove heat, trove, sahara and ceilometer from XenAPI testing Change-Id: Iea5045d5f615791bb30ec9f7273a672ff9be5ca1 --- features.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/features.yaml b/features.yaml index 50b35f19..f6c11cff 100644 --- a/features.yaml +++ b/features.yaml @@ -1,10 +1,10 @@ config: default: - master: [default, ceilometer, glance, horizon, nova, swift, cinder, keystone] - liberty: [default, ceilometer, glance, horizon, nova, swift, cinder, keystone] - kilo: [default, ceilometer, glance, horizon, nova, swift, cinder, keystone] - juno: [default, ceilometer, glance, horizon, nova, swift, cinder, keystone] - icehouse: [default, ceilometer, glance, horizon, nova, swift, cinder, keystone] + master: [default, glance, horizon, nova, swift, cinder, keystone] + liberty: [default, glance, horizon, nova, swift, cinder, keystone] + kilo: [default, glance, horizon, nova, swift, cinder, keystone] + juno: [default, glance, horizon, nova, swift, cinder, keystone] + icehouse: [default, glance, horizon, nova, swift, cinder, keystone] # This can be used by functional jobs that only want their dependencies installed # and don't need to incur the overhead of installing all services in the process. no_services: [default] From 143370d838918de3604dad77e91a3ae550e51817 Mon Sep 17 00:00:00 2001 From: Bob Ball Date: Fri, 26 Feb 2016 09:16:12 +0000 Subject: [PATCH 4/6] Use sudo -H to install ansible to avoid permission failures. Change-Id: Icf3d139dfba0b6f77e5a6b6ebf796f75585268f6 Conflicts: devstack-vm-gate-wrap.sh --- devstack-vm-gate-wrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devstack-vm-gate-wrap.sh b/devstack-vm-gate-wrap.sh index e62b1256..f325ceb5 100755 --- a/devstack-vm-gate-wrap.sh +++ b/devstack-vm-gate-wrap.sh @@ -434,7 +434,7 @@ set -x # Install ansible sudo -H pip install virtualenv virtualenv /tmp/ansible -/tmp/ansible/bin/pip install ansible==$ANSIBLE_VERSION +sudo -H /tmp/ansible/bin/pip install ansible==$ANSIBLE_VERSION export ANSIBLE=/tmp/ansible/bin/ansible # Write inventory file with groupings From a9fd16144b5682a277c780028e8365e67f068d29 Mon Sep 17 00:00:00 2001 From: Huan Xie Date: Fri, 8 Apr 2016 03:49:06 -0700 Subject: [PATCH 5/6] Add support for xenserver neutron external CI Remove "FORCE=yes" to align with openstack-infro/devstack-gate upstream Move FLAT_NETWORK_BRIDGE item to pre_test_hook when neutron is used Set gate_hook link to our repo(under $WORKSPACE)'s devstack-vm-gate.sh --- devstack-vm-gate-wrap.sh | 2 +- devstack-vm-gate.sh | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/devstack-vm-gate-wrap.sh b/devstack-vm-gate-wrap.sh index f325ceb5..b77f8945 100755 --- a/devstack-vm-gate-wrap.sh +++ b/devstack-vm-gate-wrap.sh @@ -416,7 +416,7 @@ fi if ! function_exists "gate_hook"; then # the command we use to run the gate function gate_hook { - $BASE/new/devstack-gate/devstack-vm-gate.sh + $WORKSPACE/devstack-gate/devstack-vm-gate.sh } export -f gate_hook fi diff --git a/devstack-vm-gate.sh b/devstack-vm-gate.sh index af970079..12e82be8 100755 --- a/devstack-vm-gate.sh +++ b/devstack-vm-gate.sh @@ -375,9 +375,6 @@ XENAPI_CONNECTION_URL=http://${DEVSTACK_GATE_XENAPI_DOM0_IP} VNCSERVER_PROXYCLIENT_ADDRESS=${DEVSTACK_GATE_XENAPI_DOM0_IP} VIRT_DRIVER=xenserver -# A separate xapi network is created with this name-label -FLAT_NETWORK_BRIDGE=vmnet - # A separate xapi network on eth4 serves the purpose of the public network. # This interface is added in Citrix's XenServer environment as an internal # interface @@ -406,6 +403,14 @@ VOLUME_BACKING_DEVICE=/dev/xvdb # Set multi-host config MULTI_HOST=1 EOF + + # neutron network will set FLAT_NETWORK_BRIDGE in pre_test_hook + if [[ $DEVSTACK_GATE_NEUTRON -ne "1" ]]; then + cat >> "$localrc_file" << EOF +# A separate xapi network is created with this name-label +FLAT_NETWORK_BRIDGE=vmnet +EOF + fi fi if [[ "$DEVSTACK_GATE_TEMPEST" -eq "1" ]]; then @@ -609,13 +614,13 @@ else echo "... this takes 10 - 15 minutes (logs in logs/devstacklog.txt.gz)" start=$(date +%s) $ANSIBLE primary -f 5 -i "$WORKSPACE/inventory" -m shell \ - -a "cd '$BASE/new/devstack' && sudo -H -u stack FORCE=yes stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ + -a "cd '$BASE/new/devstack' && sudo -H -u stack stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ &> "$WORKSPACE/logs/devstack-early.txt" # Run non controller setup after controller is up. This is necessary # because services like nova apparently expect to have the controller in # place before anything else. $ANSIBLE subnodes -f 5 -i "$WORKSPACE/inventory" -m shell \ - -a "cd '$BASE/new/devstack' && sudo -H -u stack FORCE=yes stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ + -a "cd '$BASE/new/devstack' && sudo -H -u stack stdbuf -oL -eL ./stack.sh executable=/bin/bash" \ &> "$WORKSPACE/logs/devstack-subnodes-early.txt" end=$(date +%s) took=$((($end - $start) / 60)) From 24daa024bb40e7d5da6439c3bdc07db14aa09658 Mon Sep 17 00:00:00 2001 From: Jianghua Wang Date: Mon, 1 Aug 2016 14:41:41 +0800 Subject: [PATCH 6/6] Skip multi-host setup for nova network setup There is a workaround which always set multi-hosts for Nova network. It creates a br_flat interface which is connected to vmnet and DHCP server listens on this interface. But XenServer has eth3 connected to vmnet. We should use eth3 as the flat interface otherwise the devstack VM has no access to the guest instances. So we shouldn't apply that workaround for XenServer. And we currently don't use multi-hosts for XenServer CI. So let's skipt it. --- devstack-vm-gate.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/devstack-vm-gate.sh b/devstack-vm-gate.sh index 12e82be8..4161d919 100755 --- a/devstack-vm-gate.sh +++ b/devstack-vm-gate.sh @@ -71,15 +71,19 @@ function setup_nova_net_networking { # issue with nova net configuring br100 to take over eth0 # by default. # TODO (clarkb): figure out how to make bridge setup sane with ansible. - ovs_vxlan_bridge "br_pub" $primary_node "True" 1 \ - $FLOATING_HOST_PREFIX $FLOATING_HOST_MASK \ - $sub_nodes - ovs_vxlan_bridge "br_flat" $primary_node "False" 128 \ - $sub_nodes - cat <>"$localrc" + if [[ "$DEVSTACK_GATE_VIRT_DRIVER" != "xenapi" ]]; then + # The following work around shouldn't be applied on xenapi, as xenserver + # has vmnet connected on eth3. + ovs_vxlan_bridge "br_pub" $primary_node "True" 1 \ + $FLOATING_HOST_PREFIX $FLOATING_HOST_MASK \ + $sub_nodes + ovs_vxlan_bridge "br_flat" $primary_node "False" 128 \ + $sub_nodes + cat <>"$localrc" FLAT_INTERFACE=br_flat PUBLIC_INTERFACE=br_pub EOF + fi } function setup_multinode_connectivity { @@ -400,8 +404,8 @@ EXTRA_OPTS=("xenapi_disable_agent=True") # Add a separate device for volumes VOLUME_BACKING_DEVICE=/dev/xvdb -# Set multi-host config -MULTI_HOST=1 +# We use single host for XenAPI test +MULTI_HOST=False EOF # neutron network will set FLAT_NETWORK_BRIDGE in pre_test_hook