Skip to content

functional-loadbalancer #655

functional-loadbalancer

functional-loadbalancer #655

name: functional-loadbalancer
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
paths:
- '.github/workflows/functional-loadbalancer.yml'
- 'go.mod'
- 'openstack/**_lb_**'
- 'CHANGELOG.md'
- 'scripts/*'
schedule:
- cron: '0 0 */3 * *'
jobs:
functional-loadbalancer:
strategy:
fail-fast: false
matrix:
name: ["master"]
openstack_version: ["master"]
ubuntu_version: ["22.04"]
include:
- name: "caracal"
openstack_version: "stable/2024.1"
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"
runs-on: ubuntu-${{ matrix.ubuntu_version }}
name: loadbalancing for OpenStack ${{ matrix.name }} with Octavia and run loadbalancer acceptance tests
steps:
- name: Checkout TPO
uses: actions/checkout@v4
- name: Deploy devstack
uses: EmilienM/devstack-action@v0.15
with:
branch: ${{ matrix.openstack_version }}
conf_overrides: |
enable_plugin octavia https://github.com/openstack/octavia ${{ matrix.openstack_version }}
enable_plugin neutron https://github.com/openstack/neutron ${{ matrix.openstack_version }}
enabled_services: 'octavia,o-api,o-cw,o-hk,o-hm,o-da'
- name: Checkout go
uses: actions/setup-go@v5
with:
go-version: '^1.20'
- name: Run TPO acceptance tests
run: OS_LB_ENVIRONMENT=true ./scripts/acceptancetest.sh
env:
DEVSTACK_PATH: ${{ github.workspace }}/devstack
ACCEPTANCE_TESTS_FILTER: "lb.*v2|v2.*lb"
OS_BRANCH: ${{ matrix.openstack_version }}
- name: Generate logs on failure
run: ./scripts/collectlogs.sh
if: failure()
- name: Upload logs artifacts on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: functional-loadbalancer-${{ matrix.name }}
path: /tmp/devstack-logs/*