Skip to content

functional-networking #24

functional-networking

functional-networking #24

name: functional-networking
on:
pull_request:
paths:
- '**networking**'
schedule:
- cron: '0 0 */3 * *'
jobs:
functional-networking:
strategy:
fail-fast: false
matrix:
include:
- name: "master"
openstack_version: "master"
ubuntu_version: "22.04"
- name: "bobcat"
openstack_version: "stable/2023.2"
ubuntu_version: "22.04"
- name: "antelope"
openstack_version: "stable/2023.1"
ubuntu_version: "22.04"
- name: "zed"
openstack_version: "stable/zed"
ubuntu_version: "20.04"
- name: "yoga"
openstack_version: "stable/yoga"
ubuntu_version: "20.04"
- name: "xena"
openstack_version: "stable/xena"
ubuntu_version: "20.04"
- name: "wallaby"
openstack_version: "stable/wallaby"
ubuntu_version: "20.04"
- name: "victoria"
openstack_version: "stable/victoria"
ubuntu_version: "20.04"
runs-on: ubuntu-${{ matrix.ubuntu_version }}
name: Deploy OpenStack ${{ matrix.name }} with Neutron and run networking acceptance tests
steps:
- name: Checkout Gophercloud
uses: actions/checkout@v4
- name: Deploy devstack
uses: EmilienM/[email protected]
with:
branch: ${{ matrix.openstack_version }}
conf_overrides: |
enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing ${{ matrix.openstack_version }}
enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas ${{ matrix.openstack_version }}
Q_ML2_PLUGIN_EXT_DRIVERS=qos,port_security,dns_domain_keywords
enabled_services: 'neutron-dns,neutron-qos,neutron-segments,neutron-trunk,neutron-uplink-status-propagation,neutron-network-segment-range,neutron-port-forwarding'
- name: Checkout go
uses: actions/setup-go@v4
with:
go-version: '^1.20'
- name: Run Gophercloud acceptance tests
run: ./script/acceptancetest
env:
DEVSTACK_PATH: ${{ github.workspace }}/devstack
ACCEPTANCE_TESTS_FILTER: "^(?!.*fwaas_v2.*).*networking.*$"
OS_BRANCH: ${{ matrix.openstack_version }}
- name: Generate logs on failure
run: ./script/collectlogs
if: failure()
- name: Upload logs artifacts on failure
if: failure()
uses: actions/upload-artifact@v3
with:
name: functional-networking-${{ matrix.name }}
path: /tmp/devstack-logs/*