Fix DevStack CI jobs

Change-Id: I5af61a34c5643874af1c2a6525072dd1d4f8845e
This commit is contained in:
Federico Ressi 2019-11-15 18:38:01 +01:00
parent bbd005ce52
commit 1fa8dfe997
9 changed files with 66 additions and 26 deletions

View File

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

View File

@ -40,3 +40,13 @@
roles: roles:
- role: copy-build-sshkey - role: copy-build-sshkey
copy_sshkey_target_user: stack copy_sshkey_target_user: stack
- hosts: all
roles:
- multi-node-setup
- hosts: all
roles:
- orchestrate-devstack

View File

@ -14,13 +14,6 @@
--- ---
# Changes that run through tobiko-devstack are likely to have an impact on
# the devstack part of the job, so we keep devstack in the main play to
# avoid zuul retrying on legitimate failures.
- hosts: all
roles:
- orchestrate-devstack
- hosts: tempest - hosts: tempest
roles: roles:
- run-tox - run-tox

View File

@ -0,0 +1,23 @@
Set up connection between infra bridge and Neutron external bridge
Network topology used in CI multinode jobs is described In `Devstack documention
<https://opendev.org/openstack/devstack-gate/src/branch/master/multinode_setup_info.txt#L81>`_
In case when DVR is used, there is also additional bridge ``br-infra`` added
on each node to provide connectivity to floating IPs from main node.
This bridge needs to be connected with bridge used by Neutron as
external bridge. Typically it is ``br-ex`` and this role adds patch ports
between those bridges.
**Role Variables**
.. zuul:rolevar:: neutron_external_bridge_name
:default: br-ex
Name of the Neutron external bridge.
.. zuul:rolevar:: infra_bridge_name
:default: br-infra
Name of the infra bridge.

View File

@ -0,0 +1,2 @@
infra_bridge_name: br-infra
neutron_external_bridge_name: br-ex

View File

@ -0,0 +1,22 @@
- name: Configure Neutron bridge for multi node setup
when: "( ansible_play_hosts | length ) > 1"
block:
- name: Ensure the infra bridge exists
become: yes
openvswitch_bridge:
bridge: "{{ infra_bridge_name }}"
- name: Ensure the Neutron external bridge exists
become: yes
openvswitch_bridge:
bridge: "{{ neutron_external_bridge_name }}"
- name: Create patch port between bridges
become: yes
command: >-
ovs-vsctl --may-exist add-port {{ infra_bridge_name }} patch-{{ neutron_external_bridge_name }}
-- set interface patch-{{ neutron_external_bridge_name }} type=patch options:peer=patch-{{ infra_bridge_name }}
-- --may-exist add-port {{ neutron_external_bridge_name }} patch-{{ infra_bridge_name }}
-- set interface patch-{{ infra_bridge_name }} type=patch options:peer=patch-{{ neutron_external_bridge_name }}

View File

@ -18,7 +18,6 @@
- tobiko-devstack-functional - tobiko-devstack-functional
- tobiko-devstack-scenario - tobiko-devstack-scenario
- tobiko-devstack-faults
- tobiko-devstack-faults-centos-7 - tobiko-devstack-faults-centos-7
- tobiko-devstack-faults-centos-7-queens - tobiko-devstack-faults-centos-7-queens
- tobiko-devstack-faults-ubuntu-bionic - tobiko-devstack-faults-ubuntu-bionic

View File

@ -76,10 +76,9 @@
log: true log: true
yaml: true yaml: true
yml: true yml: true
pre-run: playbooks/tobiko-devstack-pre-run.yaml
pre-run: playbooks/pre-tobiko-devstack.yaml run: playbooks/tobiko-devstack-run.yaml
run: playbooks/tobiko-devstack.yaml post-run: playbooks/tobiko-devstack-post-run.yaml
post-run: playbooks/post-tobiko-devstack.yaml
irrelevant-files: irrelevant-files:
- ^.*\.rst$ - ^.*\.rst$
- ^doc/ - ^doc/
@ -152,7 +151,6 @@
- job: - job:
name: tobiko-devstack-scenario name: tobiko-devstack-scenario
parent: tobiko-devstack-octavia parent: tobiko-devstack-octavia
nodeset: openstack-single-node
description: | description: |
Integration test that runs all tests against DevStack provided cloud Integration test that runs all tests against DevStack provided cloud
vars: vars:
@ -169,14 +167,10 @@
- job: - job:
name: tobiko-devstack-scenario-multinode name: tobiko-devstack-multinode
parent: tobiko-devstack-scenario parent: tobiko-devstack-octavia
abstract: true abstract: true
description: | description: Base Tobiko devstack job with multinode.
Base Tobiko devstack job with multinode.
roles:
- zuul: openstack/neutron-tempest-plugin
pre-run: playbooks/multinode-devstack-pre-run.yaml
vars: vars:
topology: multinode topology: multinode
devstack_localrc: devstack_localrc:
@ -206,8 +200,8 @@
- job: - job:
name: tobiko-devstack-faults name: tobiko-devstack-faults
voting: false parent: tobiko-devstack-multinode
parent: tobiko-devstack-scenario-multinode abstract: true
description: | description: |
Base Tobiko devstack job to execute scenario+faults+scenario test cases. Base Tobiko devstack job to execute scenario+faults+scenario test cases.
vars: vars:
@ -244,7 +238,7 @@
name: tobiko-devstack-faults-ubuntu-bionic name: tobiko-devstack-faults-ubuntu-bionic
parent: tobiko-devstack-faults parent: tobiko-devstack-faults
nodeset: openstack-three-node-bionic nodeset: openstack-three-node-bionic
voting: false voting: true
vars: vars:
devstack_services: devstack_services:
tls-proxy: true tls-proxy: true