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/*