Skip to content

Commit 85f9f28

Browse files
committed
Removes v1beta2 support, leaving only changes from go mod/vendor
I am going to split our the core v1beta2 changes to a new PR stacked on this one in order to separate concerns and make the PRs easier to review.
1 parent aed8c82 commit 85f9f28

File tree

5 files changed

+140
-230
lines changed

5 files changed

+140
-230
lines changed

pkg/controllers/networkpolicy.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import (
2222
"sync"
2323
"time"
2424

25-
multiv1beta2 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta2"
26-
multiinformerv1beta2 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/client/informers/externalversions/k8s.cni.cncf.io/v1beta2"
25+
multiv1beta1 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta1"
26+
multiinformerv1beta1 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/client/informers/externalversions/k8s.cni.cncf.io/v1beta1"
2727

2828
"k8s.io/apimachinery/pkg/types"
2929
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -36,13 +36,13 @@ import (
3636
type NetworkPolicyHandler interface {
3737
// OnPolicyAdd is called whenever creation of new policy object
3838
// is observed.
39-
OnPolicyAdd(policy *multiv1beta2.MultiNetworkPolicy)
39+
OnPolicyAdd(policy *multiv1beta1.MultiNetworkPolicy)
4040
// OnPolicyUpdate is called whenever modification of an existing
4141
// policy object is observed.
42-
OnPolicyUpdate(oldPolicy, policy *multiv1beta2.MultiNetworkPolicy)
42+
OnPolicyUpdate(oldPolicy, policy *multiv1beta1.MultiNetworkPolicy)
4343
// OnPolicyDelete is called whenever deletion of an existing policy
4444
// object is observed.
45-
OnPolicyDelete(policy *multiv1beta2.MultiNetworkPolicy)
45+
OnPolicyDelete(policy *multiv1beta1.MultiNetworkPolicy)
4646
// OnPolicySynced is called once all the initial event handlers were
4747
// called and the state is fully propagated to local cache.
4848
OnPolicySynced()
@@ -55,7 +55,7 @@ type NetworkPolicyConfig struct {
5555
}
5656

5757
// NewNetworkPolicyConfig creates a new NetworkPolicyConfig .
58-
func NewNetworkPolicyConfig(policyInformer multiinformerv1beta2.MultiNetworkPolicyInformer, resyncPeriod time.Duration) *NetworkPolicyConfig {
58+
func NewNetworkPolicyConfig(policyInformer multiinformerv1beta1.MultiNetworkPolicyInformer, resyncPeriod time.Duration) *NetworkPolicyConfig {
5959
result := &NetworkPolicyConfig{
6060
listerSynced: policyInformer.Informer().HasSynced,
6161
}
@@ -91,7 +91,7 @@ func (c *NetworkPolicyConfig) Run(stopCh <-chan struct{}) {
9191
}
9292

9393
func (c *NetworkPolicyConfig) handleAddPolicy(obj interface{}) {
94-
policy, ok := obj.(*multiv1beta2.MultiNetworkPolicy)
94+
policy, ok := obj.(*multiv1beta1.MultiNetworkPolicy)
9595
if !ok {
9696
utilruntime.HandleError(fmt.Errorf("unexpected object type: %v", obj))
9797
return
@@ -104,12 +104,12 @@ func (c *NetworkPolicyConfig) handleAddPolicy(obj interface{}) {
104104
}
105105

106106
func (c *NetworkPolicyConfig) handleUpdatePolicy(oldObj, newObj interface{}) {
107-
oldPolicy, ok := oldObj.(*multiv1beta2.MultiNetworkPolicy)
107+
oldPolicy, ok := oldObj.(*multiv1beta1.MultiNetworkPolicy)
108108
if !ok {
109109
utilruntime.HandleError(fmt.Errorf("unexpected object type: %v", oldObj))
110110
return
111111
}
112-
policy, ok := newObj.(*multiv1beta2.MultiNetworkPolicy)
112+
policy, ok := newObj.(*multiv1beta1.MultiNetworkPolicy)
113113
if !ok {
114114
utilruntime.HandleError(fmt.Errorf("unexpected object type: %v", newObj))
115115
return
@@ -121,13 +121,13 @@ func (c *NetworkPolicyConfig) handleUpdatePolicy(oldObj, newObj interface{}) {
121121
}
122122

123123
func (c *NetworkPolicyConfig) handleDeletePolicy(obj interface{}) {
124-
policy, ok := obj.(*multiv1beta2.MultiNetworkPolicy)
124+
policy, ok := obj.(*multiv1beta1.MultiNetworkPolicy)
125125
if !ok {
126126
tombstone, ok := obj.(cache.DeletedFinalStateUnknown)
127127
if !ok {
128128
utilruntime.HandleError(fmt.Errorf("unexpected object type: %v", obj))
129129
}
130-
if policy, ok = tombstone.Obj.(*multiv1beta2.MultiNetworkPolicy); !ok {
130+
if policy, ok = tombstone.Obj.(*multiv1beta1.MultiNetworkPolicy); !ok {
131131
utilruntime.HandleError(fmt.Errorf("unexpected object type: %v", obj))
132132
return
133133
}
@@ -140,7 +140,7 @@ func (c *NetworkPolicyConfig) handleDeletePolicy(obj interface{}) {
140140

141141
// PolicyInfo contains information that defines a policy.
142142
type PolicyInfo struct {
143-
Policy *multiv1beta2.MultiNetworkPolicy
143+
Policy *multiv1beta1.MultiNetworkPolicy
144144
}
145145

146146
// Name ...
@@ -223,14 +223,14 @@ func (pct *PolicyChangeTracker) String() string {
223223
return fmt.Sprintf("policyChange: %v", pct.items)
224224
}
225225

226-
func (pct *PolicyChangeTracker) newPolicyInfo(policy *multiv1beta2.MultiNetworkPolicy) (*PolicyInfo, error) {
226+
func (pct *PolicyChangeTracker) newPolicyInfo(policy *multiv1beta1.MultiNetworkPolicy) (*PolicyInfo, error) {
227227
info := &PolicyInfo{
228228
Policy: policy,
229229
}
230230
return info, nil
231231
}
232232

233-
func (pct *PolicyChangeTracker) policyToPolicyMap(policy *multiv1beta2.MultiNetworkPolicy) PolicyMap {
233+
func (pct *PolicyChangeTracker) policyToPolicyMap(policy *multiv1beta1.MultiNetworkPolicy) PolicyMap {
234234
if policy == nil {
235235
return nil
236236
}
@@ -245,7 +245,7 @@ func (pct *PolicyChangeTracker) policyToPolicyMap(policy *multiv1beta2.MultiNetw
245245
}
246246

247247
// Update ...
248-
func (pct *PolicyChangeTracker) Update(previous, current *multiv1beta2.MultiNetworkPolicy) bool {
248+
func (pct *PolicyChangeTracker) Update(previous, current *multiv1beta1.MultiNetworkPolicy) bool {
249249
policy := current
250250

251251
if pct == nil {

pkg/controllers/networkpolicy_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import (
2020
//"fmt"
2121
"time"
2222

23-
multiv1beta2 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta2"
23+
multiv1beta1 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta1"
2424
multifake "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/client/clientset/versioned/fake"
25-
multiinformerv1beta2 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/client/informers/externalversions"
25+
multiinformerv1beta1 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/client/informers/externalversions"
2626

2727
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2828
types "k8s.io/apimachinery/pkg/types"
@@ -38,15 +38,15 @@ type FakeNetworkPolicyConfigStub struct {
3838
CounterSynced int
3939
}
4040

41-
func (f *FakeNetworkPolicyConfigStub) OnPolicyAdd(_ *multiv1beta2.MultiNetworkPolicy) {
41+
func (f *FakeNetworkPolicyConfigStub) OnPolicyAdd(_ *multiv1beta1.MultiNetworkPolicy) {
4242
f.CounterAdd++
4343
}
4444

45-
func (f *FakeNetworkPolicyConfigStub) OnPolicyUpdate(_, _ *multiv1beta2.MultiNetworkPolicy) {
45+
func (f *FakeNetworkPolicyConfigStub) OnPolicyUpdate(_, _ *multiv1beta1.MultiNetworkPolicy) {
4646
f.CounterUpdate++
4747
}
4848

49-
func (f *FakeNetworkPolicyConfigStub) OnPolicyDelete(_ *multiv1beta2.MultiNetworkPolicy) {
49+
func (f *FakeNetworkPolicyConfigStub) OnPolicyDelete(_ *multiv1beta1.MultiNetworkPolicy) {
5050
f.CounterDelete++
5151
}
5252

@@ -57,14 +57,14 @@ func (f *FakeNetworkPolicyConfigStub) OnPolicySynced() {
5757
func NewFakeNetworkPolicyConfig(stub *FakeNetworkPolicyConfigStub) *NetworkPolicyConfig {
5858
configSync := 15 * time.Minute
5959
fakeClient := multifake.NewSimpleClientset()
60-
informerFactory := multiinformerv1beta2.NewSharedInformerFactoryWithOptions(fakeClient, configSync)
61-
policyConfig := NewNetworkPolicyConfig(informerFactory.K8sCniCncfIo().V1beta2().MultiNetworkPolicies(), configSync)
60+
informerFactory := multiinformerv1beta1.NewSharedInformerFactoryWithOptions(fakeClient, configSync)
61+
policyConfig := NewNetworkPolicyConfig(informerFactory.K8sCniCncfIo().V1beta1().MultiNetworkPolicies(), configSync)
6262
policyConfig.RegisterEventHandler(stub)
6363
return policyConfig
6464
}
6565

66-
func NewNetworkPolicy(namespace, name string) *multiv1beta2.MultiNetworkPolicy {
67-
return &multiv1beta2.MultiNetworkPolicy{
66+
func NewNetworkPolicy(namespace, name string) *multiv1beta1.MultiNetworkPolicy {
67+
return &multiv1beta1.MultiNetworkPolicy{
6868
ObjectMeta: metav1.ObjectMeta{
6969
Namespace: namespace,
7070
Name: name,

pkg/server/policyrules.go

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"strings"
2424

2525
"github.com/k8snetworkplumbingwg/multi-networkpolicy-iptables/pkg/controllers"
26-
multiv1beta2 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta2"
26+
multiv1beta1 "github.com/k8snetworkplumbingwg/multi-networkpolicy/pkg/apis/k8s.cni.cncf.io/v1beta1"
2727
v1 "k8s.io/api/core/v1"
2828
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2929
"k8s.io/apimachinery/pkg/labels"
@@ -141,10 +141,10 @@ func (ipt *iptableBuffer) FinalizeRules() {
141141

142142
func (ipt *iptableBuffer) SaveRules(path string) error {
143143
file, err := os.Create(path)
144+
defer file.Close()
144145
if err != nil {
145146
return err
146147
}
147-
defer file.Close()
148148
//_, err = ipt.filterRules.WriteTo(file)
149149
fmt.Fprintf(file, "%s", ipt.filterRules.String())
150150
return err
@@ -216,7 +216,7 @@ func (ipt *iptableBuffer) renderIngressCommon(s *Server) {
216216
writeLine(ipt.policyCommon, "-A", ingressCommonChain, "-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT")
217217
}
218218

219-
func (ipt *iptableBuffer) renderIngress(s *Server, podInfo *controllers.PodInfo, idx int, policy *multiv1beta2.MultiNetworkPolicy, policyNetworks []string) {
219+
func (ipt *iptableBuffer) renderIngress(s *Server, podInfo *controllers.PodInfo, idx int, policy *multiv1beta1.MultiNetworkPolicy, policyNetworks []string) {
220220
chainName := fmt.Sprintf("MULTI-%d-INGRESS", idx)
221221
ipt.CreateFilterChain(chainName)
222222

@@ -240,7 +240,7 @@ func (ipt *iptableBuffer) renderIngress(s *Server, podInfo *controllers.PodInfo,
240240
}
241241
}
242242

243-
func (ipt *iptableBuffer) renderIngressPorts(_ *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, ports []multiv1beta2.MultiNetworkPolicyPort, policyNetworks []string) {
243+
func (ipt *iptableBuffer) renderIngressPorts(_ *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, ports []multiv1beta1.MultiNetworkPolicyPort, policyNetworks []string) {
244244
chainName := fmt.Sprintf("MULTI-%d-INGRESS-%d-PORTS", pIndex, iIndex)
245245
ipt.CreateFilterChain(chainName)
246246

@@ -255,19 +255,11 @@ func (ipt *iptableBuffer) renderIngressPorts(_ *Server, podInfo *controllers.Pod
255255
if !podIntf.CheckPolicyNetwork(policyNetworks) {
256256
continue
257257
}
258-
if port.EndPort != nil {
259-
writeLine(ipt.ingressPorts, "-A", chainName,
260-
"-i", podIntf.InterfaceName,
261-
"-m", proto, "-p", proto, "--dport", fmt.Sprintf("%s:%d", port.Port.String(), *port.EndPort),
262-
"-j", "MARK", "--set-xmark", "0x10000/0x10000")
263-
validPorts++
264-
} else {
265-
writeLine(ipt.ingressPorts, "-A", chainName,
266-
"-i", podIntf.InterfaceName,
267-
"-m", proto, "-p", proto, "--dport", port.Port.String(),
268-
"-j", "MARK", "--set-xmark", "0x10000/0x10000")
269-
validPorts++
270-
}
258+
writeLine(ipt.ingressPorts, "-A", chainName,
259+
"-i", podIntf.InterfaceName,
260+
"-m", proto, "-p", proto, "--dport", port.Port.String(),
261+
"-j", "MARK", "--set-xmark", "0x10000/0x10000")
262+
validPorts++
271263
}
272264
}
273265

@@ -277,9 +269,10 @@ func (ipt *iptableBuffer) renderIngressPorts(_ *Server, podInfo *controllers.Pod
277269
"-m", "comment", "--comment", "\"no ingress ports, skipped\"",
278270
"-j", "MARK", "--set-xmark", "0x10000/0x10000")
279271
}
272+
return
280273
}
281274

282-
func (ipt *iptableBuffer) renderIngressFrom(s *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, from []multiv1beta2.MultiNetworkPolicyPeer, policyNetworks []string) {
275+
func (ipt *iptableBuffer) renderIngressFrom(s *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, from []multiv1beta1.MultiNetworkPolicyPeer, policyNetworks []string) {
283276
chainName := fmt.Sprintf("MULTI-%d-INGRESS-%d-FROM", pIndex, iIndex)
284277
ipt.CreateFilterChain(chainName)
285278

@@ -398,6 +391,7 @@ func (ipt *iptableBuffer) renderIngressFrom(s *Server, podInfo *controllers.PodI
398391
"-m", "comment", "--comment", "\"no ingress from, skipped\"",
399392
"-j", "MARK", "--set-xmark", "0x20000/0x20000")
400393
}
394+
return
401395
}
402396

403397
func (ipt *iptableBuffer) renderEgressCommon(s *Server) {
@@ -448,7 +442,7 @@ func (ipt *iptableBuffer) renderEgressCommon(s *Server) {
448442
writeLine(ipt.policyCommon, "-A", egressCommonChain, "-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT")
449443
}
450444

451-
func (ipt *iptableBuffer) renderEgress(s *Server, podInfo *controllers.PodInfo, idx int, policy *multiv1beta2.MultiNetworkPolicy, policyNetworks []string) {
445+
func (ipt *iptableBuffer) renderEgress(s *Server, podInfo *controllers.PodInfo, idx int, policy *multiv1beta1.MultiNetworkPolicy, policyNetworks []string) {
452446
chainName := fmt.Sprintf("MULTI-%d-EGRESS", idx)
453447
ipt.CreateFilterChain(chainName)
454448

@@ -471,7 +465,7 @@ func (ipt *iptableBuffer) renderEgress(s *Server, podInfo *controllers.PodInfo,
471465
}
472466
}
473467

474-
func (ipt *iptableBuffer) renderEgressPorts(_ *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, ports []multiv1beta2.MultiNetworkPolicyPort, policyNetworks []string) {
468+
func (ipt *iptableBuffer) renderEgressPorts(_ *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, ports []multiv1beta1.MultiNetworkPolicyPort, policyNetworks []string) {
475469
chainName := fmt.Sprintf("MULTI-%d-EGRESS-%d-PORTS", pIndex, iIndex)
476470
ipt.CreateFilterChain(chainName)
477471

@@ -500,9 +494,10 @@ func (ipt *iptableBuffer) renderEgressPorts(_ *Server, podInfo *controllers.PodI
500494
"-m", "comment", "--comment", "\"no egress ports, skipped\"",
501495
"-j", "MARK", "--set-xmark", "0x10000/0x10000")
502496
}
497+
return
503498
}
504499

505-
func (ipt *iptableBuffer) renderEgressTo(s *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, to []multiv1beta2.MultiNetworkPolicyPeer, policyNetworks []string) {
500+
func (ipt *iptableBuffer) renderEgressTo(s *Server, podInfo *controllers.PodInfo, pIndex, iIndex int, to []multiv1beta1.MultiNetworkPolicyPeer, policyNetworks []string) {
506501
chainName := fmt.Sprintf("MULTI-%d-EGRESS-%d-TO", pIndex, iIndex)
507502
ipt.CreateFilterChain(chainName)
508503

@@ -623,6 +618,7 @@ func (ipt *iptableBuffer) renderEgressTo(s *Server, podInfo *controllers.PodInfo
623618
"-m", "comment", "--comment", "\"no egress to, skipped\"",
624619
"-j", "MARK", "--set-xmark", "0x20000/0x20000")
625620
}
621+
return
626622
}
627623

628624
func (ipt *iptableBuffer) isIPFamilyCompatible(ip string) bool {

0 commit comments

Comments
 (0)