Browse Source

Migrate neutron-tempest-dvr-ha-multinode-full job to zuulv3

This patch migrates definition of
neutron-tempest-dvr-ha-multinode-full job to zuul v3 syntax.

Additionally this patch sets l3_ha config option in neutron
to True to make sure that routers created in tests are HA
always.

Change-Id: I3e48c5109dddc2fca6f3b9c289f416ed4a018a41
Related-Bug: #1804844
changes/79/633979/27
Slawek Kaplonski 3 years ago
parent
commit
b3d26ab2dd
  1. 64
      .zuul.yaml
  2. 3
      playbooks/dvr-multinode-scenario-pre-run.yaml
  3. 15
      playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/post.yaml
  4. 64
      playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/run.yaml

64
.zuul.yaml

@ -227,17 +227,73 @@
- job:
name: neutron-tempest-dvr-ha-multinode-full
parent: legacy-dsvm-base-multinode
run: playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/run.yaml
post-run: playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/post.yaml
parent: tempest-multinode-full
nodeset: openstack-three-node-bionic
timeout: 10800
roles:
- zuul: openstack/neutron-tempest-plugin
required-projects:
- openstack-infra/devstack-gate
- openstack/neutron
- openstack/tempest
nodeset: ubuntu-xenial-3-node
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
irrelevant-files: *tempest-irrelevant-files
voting: false
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
router_distributed: True
l3_ha: True
# NOTE(slaweq): We can get rid of this hardcoded absolute path when
# devstack-tempest job will be switched to use lib/neutron instead of
# lib/neutron-legacy
"/$NEUTRON_CORE_PLUGIN_CONF":
ml2:
mechanism_drivers: openvswitch,l2population
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan
ovs:
tunnel_bridge: br-tun
bridge_mappings: public:br-ex
$NEUTRON_L3_CONF:
DEFAULT:
agent_mode: dvr
agent:
availability_zone: nova
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
group-vars:
subnode:
devstack_services:
q-agt: true
q-l3: true
q-meta: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
router_distributed: True
# NOTE(slaweq): We can get rid of this hardcoded absolute path when
# devstack-tempest job will be switched to use lib/neutron instead of
# lib/neutron-legacy
"/$NEUTRON_CORE_PLUGIN_CONF":
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan
ovs:
tunnel_bridge: br-tun
bridge_mappings: public:br-ex
$NEUTRON_L3_CONF:
DEFAULT:
agent_mode: dvr_snat
agent:
availability_zone: nova
- job:
name: neutron-tempest-iptables_hybrid

3
playbooks/dvr-multinode-scenario-pre-run.yaml

@ -0,0 +1,3 @@
- hosts: all
roles:
- multi-node-setup

15
playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/post.yaml

@ -1,15 +0,0 @@
- hosts: primary
tasks:
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
synchronize:
src: '{{ ansible_user_dir }}/workspace/'
dest: '{{ zuul.executor.log_root }}'
mode: pull
copy_links: true
verify_host: true
rsync_opts:
- --include=/logs/**
- --include=*/
- --exclude=*
- --prune-empty-dirs

64
playbooks/legacy/neutron-tempest-dvr-ha-multinode-full/run.yaml

@ -1,64 +0,0 @@
- hosts: primary
name: Autoconverted job legacy-tempest-dsvm-neutron-dvr-ha-multinode-full from old
job gate-tempest-dsvm-neutron-dvr-ha-multinode-full-ubuntu-xenial-nv
tasks:
- name: Ensure legacy workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- shell:
cmd: |
set -e
set -x
cat > clonemap.yaml << EOF
clonemap:
- name: openstack-infra/devstack-gate
dest: devstack-gate
EOF
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
git://git.openstack.org \
openstack-infra/devstack-gate
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]]
NOVA_VNC_ENABLED=true
VNCSERVER_LISTEN=0.0.0.0
VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP
EOF
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_CONFIGDRIVE=0
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_GATE_USE_PYTHON3=True
# Test DVR works multinode
export DEVSTACK_GATE_NEUTRON_DVR=1
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_GATE_TOPOLOGY="multinode"
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
Loading…
Cancel
Save