Skip to content

Commit 3d592ba

Browse files
committed
BANP: Add conformance for gress rules
This commit adds conformance tests for mix of ingress and egress rules in same CRD, which mixes up protocols and ports in same rules. They should behave in an idempotent manner with regards to each other. Signed-off-by: Surya Seetharaman <[email protected]>
1 parent df0d129 commit 3d592ba

File tree

3 files changed

+444
-1
lines changed

3 files changed

+444
-1
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
apiVersion: policy.networking.k8s.io/v1alpha1
2+
kind: BaselineAdminNetworkPolicy
3+
metadata:
4+
name: default
5+
spec:
6+
subject:
7+
namespaces:
8+
matchLabels:
9+
kubernetes.io/metadata.name: network-policy-conformance-gryffindor
10+
egress:
11+
- name: "allow-to-ravenclaw-everything"
12+
action: "Allow"
13+
to:
14+
- namespaces:
15+
namespaceSelector:
16+
matchLabels:
17+
kubernetes.io/metadata.name: network-policy-conformance-ravenclaw
18+
- name: "deny-to-ravenclaw-everything"
19+
action: "Deny"
20+
to:
21+
- namespaces:
22+
namespaceSelector:
23+
matchLabels:
24+
kubernetes.io/metadata.name: network-policy-conformance-ravenclaw
25+
- name: "deny-to-slytherin-at-ports-80-53-9003"
26+
action: "Deny"
27+
to:
28+
- namespaces:
29+
namespaceSelector:
30+
matchLabels:
31+
kubernetes.io/metadata.name: network-policy-conformance-slytherin
32+
ports:
33+
- portNumber:
34+
protocol: TCP
35+
port: 80
36+
- portNumber:
37+
protocol: UDP
38+
port: 53
39+
- portNumber:
40+
protocol: SCTP
41+
port: 9003
42+
- name: "allow-to-hufflepuff-at-ports-8080-5353"
43+
action: "Allow"
44+
to:
45+
- namespaces:
46+
namespaceSelector:
47+
matchLabels:
48+
kubernetes.io/metadata.name: network-policy-conformance-hufflepuff
49+
ports:
50+
- portNumber:
51+
protocol: TCP
52+
port: 8080
53+
- portNumber:
54+
protocol: UDP
55+
port: 5353
56+
- portNumber:
57+
protocol: SCTP
58+
port: 9003
59+
- name: "deny-to-hufflepuff-everything-else"
60+
action: "Deny"
61+
to:
62+
- namespaces:
63+
namespaceSelector:
64+
matchLabels:
65+
kubernetes.io/metadata.name: network-policy-conformance-hufflepuff
66+
ingress:
67+
- name: "allow-from-ravenclaw-everything"
68+
action: "Allow"
69+
from:
70+
- namespaces:
71+
namespaceSelector:
72+
matchLabels:
73+
kubernetes.io/metadata.name: network-policy-conformance-ravenclaw
74+
- name: "deny-from-ravenclaw-everything"
75+
action: "Deny"
76+
from:
77+
- namespaces:
78+
namespaceSelector:
79+
matchLabels:
80+
kubernetes.io/metadata.name: network-policy-conformance-ravenclaw
81+
- name: "deny-from-slytherin-at-port-80-53-9003"
82+
action: "Deny"
83+
from:
84+
- namespaces:
85+
namespaceSelector:
86+
matchLabels:
87+
kubernetes.io/metadata.name: network-policy-conformance-slytherin
88+
ports:
89+
- portNumber:
90+
protocol: TCP
91+
port: 80
92+
- portNumber:
93+
protocol: UDP
94+
port: 53
95+
- portNumber:
96+
protocol: SCTP
97+
port: 9003
98+
- name: "allow-from-hufflepuff-at-port-80-5353-9003"
99+
action: "Allow"
100+
from:
101+
- namespaces:
102+
namespaceSelector:
103+
matchLabels:
104+
kubernetes.io/metadata.name: network-policy-conformance-hufflepuff
105+
ports:
106+
- portNumber:
107+
protocol: TCP
108+
port: 80
109+
- portNumber:
110+
protocol: UDP
111+
port: 5353
112+
- portNumber:
113+
protocol: SCTP
114+
port: 9003
115+
- name: "deny-from-hufflepuff-everything-else"
116+
action: "Deny"
117+
from:
118+
- namespaces:
119+
namespaceSelector:
120+
matchLabels:
121+
kubernetes.io/metadata.name: network-policy-conformance-hufflepuff

conformance/tests/admin-network-policy-core-gress-rules.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ var AdminNetworkPolicyGress = suite.ConformanceTest{
4242
Features: []suite.SupportedFeature{
4343
suite.SupportAdminNetworkPolicy,
4444
},
45-
Manifests: []string{"base/admin-network-policy/core-gress-rules-combined.yaml"},
45+
Manifests: []string{"base/admin_network_policy/core-gress-rules-combined.yaml"},
4646
Test: func(t *testing.T, s *suite.ConformanceTestSuite) {
4747

4848
t.Run("Should support an 'allow-gress' policy across different protocols", func(t *testing.T) {

0 commit comments

Comments
 (0)