diff --git a/tests/multi-node-bridge.yaml b/tests/multi-node-bridge.yaml new file mode 100644 index 00000000..d05d50f4 --- /dev/null +++ b/tests/multi-node-bridge.yaml @@ -0,0 +1,54 @@ +- name: Test the multi-node-bridge role + hosts: + - switch + - peers + roles: + - multi-node-bridge + post_tasks: + - become: yes + block: + - name: openvswitch should be installed + package: + name: "{{ ovs_package }}" + state: installed + register: ovs_installed + + - name: openvswitch should be running + service: + name: "{{ ovs_service }}" + state: started + enabled: yes + register: ovs_running + + - name: bridge should exist + openvswitch_bridge: + bridge: "{{ bridge_name }}" + register: ovs_bridge + + - name: port should exist + command: ovs-vsctl show + changed_when: false + register: ovs_port + + - name: switch should be reachable + command: ping -c 4 {{ bridge_address_prefix }}.{{ bridge_address_offset }} + changed_when: false + failed_when: false + register: ovs_ping_switch + + - name: peer should be reachable + command: ping -c 4 {{ bridge_address_prefix }}.{{ bridge_address_offset + 1 }} + changed_when: false + failed_when: false + register: ovs_ping_peer + + - name: assert test results + assert: + that: + - not ovs_installed | changed + - not ovs_running | changed + - not ovs_bridge | changed + - ovs_port.rc == 0 + - "'Port \"br-infra_' in ovs_port.stdout" + - ovs_ping_switch.rc == 0 + - ovs_ping_peer.rc == 0 diff --git a/tests/multinode.yaml b/tests/multinode.yaml index 2a32ea28..5e42ad5a 100644 --- a/tests/multinode.yaml +++ b/tests/multinode.yaml @@ -9,3 +9,4 @@ - include: multi-node-known-hosts.yaml - include: multi-node-hosts-file.yaml - include: multi-node-firewall.yaml +- include: multi-node-bridge.yaml diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index f8e02f6d..4eab44b8 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -63,6 +63,7 @@ - ^roles/configure-unbound/.* - ^roles/fetch-zuul-cloner/.* - ^roles/mirror-info/.* + - ^roles/multi-node-bridge/.* - ^roles/multi-node-firewall/.* - ^roles/multi-node-hosts-file/.* - ^roles/multi-node-known-hosts/.*