github.com/leeclow-ops/gophercloud@v1.2.1/.github/workflows/functional-networking.yaml (about) 1 name: functional-networking 2 on: 3 pull_request: 4 paths: 5 - '**networking**' 6 schedule: 7 - cron: '0 0 */3 * *' 8 jobs: 9 functional-networking: 10 strategy: 11 fail-fast: false 12 matrix: 13 include: 14 - name: "master" 15 openstack_version: "master" 16 ubuntu_version: "20.04" 17 devstack_conf_overrides: | 18 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing master 19 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas master 20 - name: "zed" 21 openstack_version: "stable/zed" 22 ubuntu_version: "20.04" 23 devstack_conf_overrides: | 24 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/zed 25 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas stable/zed 26 - name: "yoga" 27 openstack_version: "stable/yoga" 28 ubuntu_version: "20.04" 29 devstack_conf_overrides: | 30 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/yoga 31 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas stable/yoga 32 - name: "xena" 33 openstack_version: "stable/xena" 34 ubuntu_version: "20.04" 35 devstack_conf_overrides: | 36 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/xena 37 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas stable/xena 38 - name: "wallaby" 39 openstack_version: "stable/wallaby" 40 ubuntu_version: "20.04" 41 devstack_conf_overrides: | 42 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/wallaby 43 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas stable/wallaby 44 - name: "victoria" 45 openstack_version: "stable/victoria" 46 ubuntu_version: "20.04" 47 devstack_conf_overrides: | 48 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/victoria 49 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas stable/victoria 50 - name: "ussuri" 51 openstack_version: "stable/ussuri" 52 ubuntu_version: "18.04" 53 devstack_conf_overrides: | 54 enable_plugin neutron-fwaas https://github.com/openstack/neutron-fwaas stable/ussuri 55 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing stable/ussuri 56 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas ussuri-eol 57 - name: "train" 58 openstack_version: "stable/train" 59 ubuntu_version: "18.04" 60 devstack_conf_overrides: | 61 enable_plugin neutron-fwaas https://github.com/openstack/neutron-fwaas stable/train 62 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing train-eol 63 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas train-eol 64 runs-on: ubuntu-${{ matrix.ubuntu_version }} 65 name: Deploy OpenStack ${{ matrix.name }} with Neutron and run networking acceptance tests 66 steps: 67 - name: Checkout Gophercloud 68 uses: actions/checkout@v3 69 - name: Deploy devstack 70 uses: EmilienM/devstack-action@v0.11 71 with: 72 branch: ${{ matrix.openstack_version }} 73 conf_overrides: | 74 Q_ML2_PLUGIN_EXT_DRIVERS=qos,port_security,dns_domain_keywords 75 ${{ matrix.devstack_conf_overrides }} 76 enabled_services: 'neutron-dns,neutron-qos,neutron-segments,neutron-trunk,neutron-uplink-status-propagation,neutron-network-segment-range,neutron-port-forwarding' 77 - name: Checkout go 78 uses: actions/setup-go@v4 79 with: 80 go-version: '^1.15' 81 - name: Run Gophercloud acceptance tests 82 run: ./script/acceptancetest 83 env: 84 DEVSTACK_PATH: ${{ github.workspace }}/devstack 85 ACCEPTANCE_TESTS_FILTER: "^.*networking.*$" 86 OS_BRANCH: ${{ matrix.openstack_version }} 87 - name: Generate logs on failure 88 run: ./script/collectlogs 89 if: failure() 90 - name: Upload logs artifacts on failure 91 if: failure() 92 uses: actions/upload-artifact@v3 93 with: 94 name: functional-networking-${{ matrix.name }} 95 path: /tmp/devstack-logs/*