Skip to content

Commit fb0f930

Browse files
Merge pull request #523 from doublek/kdd-calico-policy
Completes support for Calico policy when using KDD client
2 parents aeceb9b + da68952 commit fb0f930

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

lib/backend/k8s/k8s.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,8 @@ func (c *KubeClient) Syncer(callbacks api.SyncerCallbacks) api.Syncer {
307307
func (c *KubeClient) Create(d *model.KVPair) (*model.KVPair, error) {
308308
log.Debugf("Performing 'Create' for %+v", d)
309309
switch d.Key.(type) {
310+
case model.PolicyKey:
311+
return c.gnpClient.Create(d)
310312
case model.GlobalConfigKey:
311313
return c.globalFelixConfigClient.Create(d)
312314
case model.IPPoolKey:
@@ -335,6 +337,8 @@ func (c *KubeClient) Create(d *model.KVPair) (*model.KVPair, error) {
335337
func (c *KubeClient) Update(d *model.KVPair) (*model.KVPair, error) {
336338
log.Debugf("Performing 'Update' for %+v", d)
337339
switch d.Key.(type) {
340+
case model.PolicyKey:
341+
return c.gnpClient.Update(d)
338342
case model.GlobalConfigKey:
339343
return c.globalFelixConfigClient.Update(d)
340344
case model.IPPoolKey:
@@ -365,6 +369,8 @@ func (c *KubeClient) Apply(d *model.KVPair) (*model.KVPair, error) {
365369
switch d.Key.(type) {
366370
case model.WorkloadEndpointKey:
367371
return c.applyWorkloadEndpoint(d)
372+
case model.PolicyKey:
373+
return c.gnpClient.Apply(d)
368374
case model.GlobalConfigKey:
369375
return c.globalFelixConfigClient.Apply(d)
370376
case model.IPPoolKey:
@@ -394,10 +400,12 @@ func (c *KubeClient) Apply(d *model.KVPair) (*model.KVPair, error) {
394400
}
395401
}
396402

397-
// Delete an entry in the datastore. This is a no-op when using the k8s backend.
403+
// Delete an entry in the datastore. Returns an error if the entry does not exist.
398404
func (c *KubeClient) Delete(d *model.KVPair) error {
399405
log.Debugf("Performing 'Delete' for %+v", d)
400406
switch d.Key.(type) {
407+
case model.PolicyKey:
408+
return c.gnpClient.Delete(d)
401409
case model.GlobalConfigKey:
402410
return c.globalFelixConfigClient.Delete(d)
403411
case model.IPPoolKey:

lib/backend/k8s/k8s_fv_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -594,8 +594,8 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
594594
// Make sure we clean up after ourselves. We allow this to fail because
595595
// part of our explicit testing below is to delete the resource.
596596
defer func() {
597-
c.gnpClient.Delete(kvp1a)
598-
c.gnpClient.Delete(kvp2a)
597+
c.Delete(kvp1a)
598+
c.Delete(kvp2a)
599599
}()
600600

601601
// Check our syncer has the correct GNP entries for the two
@@ -607,7 +607,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
607607
})
608608

609609
By("Creating a Global Network Policy", func() {
610-
_, err := c.gnpClient.Create(kvp1a)
610+
_, err := c.Create(kvp1a)
611611
Expect(err).NotTo(HaveOccurred())
612612
})
613613

@@ -623,12 +623,12 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
623623
})
624624

625625
By("Attempting to recreate an existing Global Network Policy", func() {
626-
_, err := c.gnpClient.Create(kvp1a)
626+
_, err := c.Create(kvp1a)
627627
Expect(err).To(HaveOccurred())
628628
})
629629

630630
By("Updating an existing Global Network Policy", func() {
631-
_, err := c.gnpClient.Update(kvp1b)
631+
_, err := c.Update(kvp1b)
632632
Expect(err).NotTo(HaveOccurred())
633633
})
634634

@@ -644,7 +644,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
644644
})
645645

646646
By("Applying a non-existent Global Network Policy", func() {
647-
_, err := c.gnpClient.Apply(kvp2a)
647+
_, err := c.Apply(kvp2a)
648648
Expect(err).NotTo(HaveOccurred())
649649
})
650650

@@ -654,7 +654,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
654654
})
655655

656656
By("Updating the Global Network Policy created by Apply", func() {
657-
_, err := c.gnpClient.Apply(kvp2b)
657+
_, err := c.Apply(kvp2b)
658658
Expect(err).NotTo(HaveOccurred())
659659
})
660660

@@ -664,7 +664,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
664664
})
665665

666666
By("Deleted the Global Network Policy created by Apply", func() {
667-
err := c.gnpClient.Delete(kvp2a)
667+
err := c.Delete(kvp2a)
668668
Expect(err).NotTo(HaveOccurred())
669669
})
670670

@@ -676,7 +676,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
676676
// Perform Get operations directly on the main client - this
677677
// will fan out requests to the appropriate Policy client
678678
// (including the Global Network Policy client).
679-
By("Getting a Global Network Policy that does noe exist", func() {
679+
By("Getting a Global Network Policy that does not exist", func() {
680680
_, err := c.Get(model.PolicyKey{Name: "my-non-existent-test-gnp"})
681681
Expect(err).To(HaveOccurred())
682682
})
@@ -705,7 +705,7 @@ var _ = Describe("Test Syncer API for Kubernetes backend", func() {
705705
})
706706

707707
By("Deleting an existing Global Network Policy", func() {
708-
err := c.gnpClient.Delete(kvp1a)
708+
err := c.Delete(kvp1a)
709709
Expect(err).NotTo(HaveOccurred())
710710
})
711711

0 commit comments

Comments
 (0)