github.com/gophercloud/gophercloud@v1.14.1/.github/workflows/functional-networking.yaml (about) 1 name: functional-networking 2 on: 3 pull_request: 4 paths: 5 - '**networking**' 6 jobs: 7 functional-networking: 8 strategy: 9 fail-fast: false 10 matrix: 11 include: 12 - name: "master" 13 openstack_version: "master" 14 ubuntu_version: "22.04" 15 - name: "caracal" 16 openstack_version: "stable/2024.1" 17 ubuntu_version: "22.04" 18 - name: "bobcat" 19 openstack_version: "stable/2023.2" 20 ubuntu_version: "22.04" 21 - name: "antelope" 22 openstack_version: "stable/2023.1" 23 ubuntu_version: "22.04" 24 runs-on: ubuntu-${{ matrix.ubuntu_version }} 25 name: Deploy OpenStack ${{ matrix.name }} with Neutron and run networking acceptance tests 26 steps: 27 - name: Checkout Gophercloud 28 uses: actions/checkout@v4 29 - name: Create additional neutron policies 30 run: | 31 mkdir /tmp/neutron-policies 32 cat << EOF >> /tmp/neutron-policies/port_binding.yaml 33 --- 34 "create_port:binding:profile": "rule:admin_only or rule:service_api" 35 "update_port:binding:profile": "rule:admin_only or rule:service_api" 36 EOF 37 - name: Deploy devstack 38 uses: EmilienM/devstack-action@e82a9cbead099cba72f99537e82a360c3e319c69 39 with: 40 branch: ${{ matrix.openstack_version }} 41 conf_overrides: | 42 enable_plugin neutron-dynamic-routing https://github.com/openstack/neutron-dynamic-routing ${{ matrix.openstack_version }} 43 enable_plugin neutron-vpnaas https://github.com/openstack/neutron-vpnaas ${{ matrix.openstack_version }} 44 enable_plugin networking-bgpvpn https://github.com/openstack/networking-bgpvpn.git ${{ matrix.openstack_version }} 45 Q_ML2_PLUGIN_EXT_DRIVERS=qos,port_security,dns_domain_keywords 46 47 [[post-config|\$NEUTRON_CONF]] 48 [oslo_policy] 49 policy_dirs = /tmp/neutron-policies 50 enabled_services: 'neutron-dns,neutron-qos,neutron-segments,neutron-trunk,neutron-uplink-status-propagation,neutron-network-segment-range,neutron-port-forwarding' 51 - name: Checkout go 52 uses: actions/setup-go@v5 53 with: 54 go-version: '^1.15' 55 - name: Run Gophercloud acceptance tests 56 run: ./script/acceptancetest 57 env: 58 DEVSTACK_PATH: ${{ github.workspace }}/devstack 59 ACCEPTANCE_TESTS_FILTER: "^(?!.*fwaas_v2.*).*networking.*$" 60 OS_BRANCH: ${{ matrix.openstack_version }} 61 - name: Generate logs on failure 62 run: ./script/collectlogs 63 if: failure() 64 - name: Upload logs artifacts on failure 65 if: failure() 66 uses: actions/upload-artifact@v4 67 with: 68 name: functional-networking-${{ matrix.name }} 69 path: /tmp/devstack-logs/*