Skip to content

Commit 44d55f0

Browse files
authored
Merge pull request gophercloud#2637 from Koodt/fwaas_v2_add_tests_workflow
[FWaaS_v2]: Add FWaaS_V2 workflow and enable tests
2 parents fa800fc + 0140149 commit 44d55f0

File tree

5 files changed

+79
-15
lines changed

5 files changed

+79
-15
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: functional-fwaas_v2
2+
on:
3+
pull_request:
4+
paths:
5+
- '**networking/extensions/fwaas_v2**'
6+
schedule:
7+
- cron: '0 0 */3 * *'
8+
jobs:
9+
functional-fwaas_v2:
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
name: ["master"]
14+
openstack_version: ["master"]
15+
ubuntu_version: ["22.04"]
16+
include:
17+
- name: "antelope"
18+
openstack_version: "stable/2023.1"
19+
ubuntu_version: "22.04"
20+
- name: "zed"
21+
openstack_version: "stable/zed"
22+
ubuntu_version: "22.04"
23+
runs-on: ubuntu-${{ matrix.ubuntu_version }}
24+
name: Deploy OpenStack ${{ matrix.name }} with enabled FWaaS_v2 and run networking acceptance tests
25+
steps:
26+
- name: Checkout Gophercloud
27+
uses: actions/checkout@v3
28+
- name: Deploy devstack
29+
uses: EmilienM/[email protected]
30+
with:
31+
branch: ${{ matrix.openstack_version }}
32+
conf_overrides: |
33+
enable_plugin neutron-fwaas https://opendev.org/openstack/neutron-fwaas ${{ matrix.openstack_version }}
34+
Q_AGENT=openvswitch
35+
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,l2population
36+
Q_ML2_PLUGIN_TYPE_DRIVERS=flat,gre,vlan,vxlan
37+
Q_ML2_TENANT_NETWORK_TYPE=vxlan
38+
Q_TUNNEL_TYPES=vxlan,gre
39+
enabled_services: 'q-svc,q-agt,q-dhcp,q-l3,q-meta,q-fwaas-v2,-cinder,-horizon,-tempest,-swift,-c-sch,-c-api,-c-vol,-c-bak,-ovn,-ovn-controller,-ovn-northd,-q-ovn-metadata-agent'
40+
- name: Checkout go
41+
uses: actions/setup-go@v4
42+
with:
43+
go-version: '^1.15'
44+
- name: Run Gophercloud acceptance tests
45+
run: ./script/acceptancetest
46+
env:
47+
DEVSTACK_PATH: ${{ github.workspace }}/devstack
48+
ACCEPTANCE_TESTS_FILTER: "^.*fwaas_v2.*$"
49+
OS_BRANCH: ${{ matrix.openstack_version }}
50+
- name: Generate logs on failure
51+
run: ./script/collectlogs
52+
if: failure()
53+
- name: Upload logs artifacts on failure
54+
if: failure()
55+
uses: actions/upload-artifact@v3
56+
with:
57+
name: functional-fwaas_v2-${{ matrix.name }}
58+
path: /tmp/devstack-logs/*

.github/workflows/functional-networking.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
run: ./script/acceptancetest
6969
env:
7070
DEVSTACK_PATH: ${{ github.workspace }}/devstack
71-
ACCEPTANCE_TESTS_FILTER: "^.*networking.*$"
71+
ACCEPTANCE_TESTS_FILTER: "^(?!.*fwaas_v2.*).*networking.*$"
7272
OS_BRANCH: ${{ matrix.openstack_version }}
7373
- name: Generate logs on failure
7474
run: ./script/collectlogs

acceptance/openstack/networking/v2/extensions/fwaas_v2/groups_test.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import (
1313
)
1414

1515
func TestGroupCRUD(t *testing.T) {
16-
clients.SkipReleasesAbove(t, "stable/ussuri")
16+
// Releases below Victoria are not maintained.
17+
// FWaaS_v2 is not compatible with releases below Zed.
18+
clients.SkipReleasesBelow(t, "stable/zed")
1719

1820
client, err := clients.NewNetworkV2Client()
1921
th.AssertNoErr(t, err)
@@ -48,38 +50,38 @@ func TestGroupCRUD(t *testing.T) {
4850
EgressFirewallPolicyID: &firewall_policy_id,
4951
}
5052

51-
groupUpdated, err := groups.Update(client, createdGroup.ID, updateOpts).Extract()
53+
updatedGroup, err := groups.Update(client, createdGroup.ID, updateOpts).Extract()
5254
if err != nil {
5355
t.Fatalf("Unable to update firewall group %s: %v", createdGroup.ID, err)
5456
}
5557

5658
th.AssertNoErr(t, err)
57-
th.AssertEquals(t, groupUpdated.Name, groupName)
58-
th.AssertEquals(t, groupUpdated.Description, description)
59-
th.AssertEquals(t, groupUpdated.AdminStateUp, adminStateUp)
60-
th.AssertEquals(t, groupUpdated.IngressFirewallPolicyID, firewall_policy_id)
61-
th.AssertEquals(t, groupUpdated.EgressFirewallPolicyID, firewall_policy_id)
59+
th.AssertEquals(t, updatedGroup.Name, groupName)
60+
th.AssertEquals(t, updatedGroup.Description, description)
61+
th.AssertEquals(t, updatedGroup.AdminStateUp, adminStateUp)
62+
th.AssertEquals(t, updatedGroup.IngressFirewallPolicyID, firewall_policy_id)
63+
th.AssertEquals(t, updatedGroup.EgressFirewallPolicyID, firewall_policy_id)
6264

63-
t.Logf("Updated firewall group %s", groupUpdated.ID)
65+
t.Logf("Updated firewall group %s", updatedGroup.ID)
6466

65-
removeIngressPolicy, err := groups.RemoveIngressPolicy(client, groupUpdated.ID).Extract()
67+
removeIngressPolicy, err := groups.RemoveIngressPolicy(client, updatedGroup.ID).Extract()
6668
if err != nil {
6769
t.Fatalf("Unable to remove ingress firewall policy from firewall group %s: %v", removeIngressPolicy.ID, err)
6870
}
6971

7072
th.AssertEquals(t, removeIngressPolicy.IngressFirewallPolicyID, "")
7173
th.AssertEquals(t, removeIngressPolicy.EgressFirewallPolicyID, firewall_policy_id)
7274

73-
t.Logf("Ingress policy removed from firewall group %s", groupUpdated.ID)
75+
t.Logf("Ingress policy removed from firewall group %s", updatedGroup.ID)
7476

75-
removeEgressPolicy, err := groups.RemoveEgressPolicy(client, groupUpdated.ID).Extract()
77+
removeEgressPolicy, err := groups.RemoveEgressPolicy(client, updatedGroup.ID).Extract()
7678
if err != nil {
7779
t.Fatalf("Unable to remove egress firewall policy from firewall group %s: %v", removeEgressPolicy.ID, err)
7880
}
7981

8082
th.AssertEquals(t, removeEgressPolicy.EgressFirewallPolicyID, "")
8183

82-
t.Logf("Egress policy removed from firewall group %s", groupUpdated.ID)
84+
t.Logf("Egress policy removed from firewall group %s", updatedGroup.ID)
8385

8486
allPages, err := groups.List(client, nil).AllPages()
8587
th.AssertNoErr(t, err)

acceptance/openstack/networking/v2/extensions/fwaas_v2/policy_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import (
1313
)
1414

1515
func TestPolicyCRUD(t *testing.T) {
16-
clients.SkipReleasesAbove(t, "stable/ussuri")
16+
// Releases below Victoria are not maintained.
17+
// FWaaS_v2 is not compatible with releases below Zed.
18+
clients.SkipReleasesBelow(t, "stable/zed")
1719

1820
client, err := clients.NewNetworkV2Client()
1921
th.AssertNoErr(t, err)

acceptance/openstack/networking/v2/extensions/fwaas_v2/rule_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import (
1515
)
1616

1717
func TestRuleCRUD(t *testing.T) {
18-
clients.SkipReleasesAbove(t, "stable/ussuri")
18+
// Releases below Victoria are not maintained.
19+
// FWaaS_v2 is not compatible with releases below Zed.
20+
clients.SkipReleasesBelow(t, "stable/zed")
1921

2022
client, err := clients.NewNetworkV2Client()
2123
th.AssertNoErr(t, err)

0 commit comments

Comments
 (0)