Browse Source

Fix DevStack CI jobs

Change-Id: I5af61a34c5643874af1c2a6525072dd1d4f8845e
changes/10/694610/10
Federico Ressi 2 years ago
parent
commit
1fa8dfe997
  1. 3
      playbooks/multinode-devstack-pre-run.yaml
  2. 0
      playbooks/tobiko-devstack-post-run.yaml
  3. 10
      playbooks/tobiko-devstack-pre-run.yaml
  4. 7
      playbooks/tobiko-devstack-run.yaml
  5. 23
      roles/multi-node-setup/README.rst
  6. 2
      roles/multi-node-setup/defaults/main.yaml
  7. 22
      roles/multi-node-setup/tasks/main.yaml
  8. 1
      zuul.d/project.yaml
  9. 24
      zuul.d/tobiko-devstack.yaml

3
playbooks/multinode-devstack-pre-run.yaml

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

0
playbooks/post-tobiko-devstack.yaml → playbooks/tobiko-devstack-post-run.yaml

10
playbooks/pre-tobiko-devstack.yaml → playbooks/tobiko-devstack-pre-run.yaml

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

7
playbooks/tobiko-devstack.yaml → playbooks/tobiko-devstack-run.yaml

@ -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
roles:
- run-tox

23
roles/multi-node-setup/README.rst

@ -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.

2
roles/multi-node-setup/defaults/main.yaml

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

22
roles/multi-node-setup/tasks/main.yaml

@ -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 }}

1
zuul.d/project.yaml

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

24
zuul.d/tobiko-devstack.yaml

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

Loading…
Cancel
Save