Skip to content

Commit ba3ea22

Browse files
committed
networks: Add Owner annottion to NetAttachDefs
NetworkattachmentDefiitions are usually created in namespaces that are different than the Sriov{Ib,OVS}Networks, so the OwnerReference object field can't be used to endorse the ownership reference. Add a `sriovnetwork.openshift.io/owner` annotation to put on the NetAttachDef to avoid multiple {Sriov,SriovIb,OVS}Network objects does not override changes. Signed-off-by: Andrea Panattoni <[email protected]>
1 parent fe1f3a0 commit ba3ea22

File tree

14 files changed

+233
-18
lines changed

14 files changed

+233
-18
lines changed

api/v1/helper.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,7 @@ func (cr *SriovIBNetwork) RenderNetAttDef() (*uns.Unstructured, error) {
651651
} else {
652652
data.Data["SriovNetworkNamespace"] = cr.Spec.NetworkNamespace
653653
}
654+
data.Data["Owner"] = cr.GroupVersionKind().GroupKind().String() + "/" + cr.GetNamespace() + "/" + cr.Name
654655
data.Data["SriovCniResourceName"] = os.Getenv("RESOURCE_PREFIX") + "/" + cr.Spec.ResourceName
655656

656657
data.Data["StateConfigured"] = true
@@ -719,6 +720,7 @@ func (cr *SriovNetwork) RenderNetAttDef() (*uns.Unstructured, error) {
719720
} else {
720721
data.Data["SriovNetworkNamespace"] = cr.Spec.NetworkNamespace
721722
}
723+
data.Data["Owner"] = cr.GroupVersionKind().GroupKind().String() + "/" + cr.GetNamespace() + "/" + cr.Name
722724
data.Data["SriovCniResourceName"] = os.Getenv("RESOURCE_PREFIX") + "/" + cr.Spec.ResourceName
723725
data.Data["SriovCniVlan"] = cr.Spec.Vlan
724726

@@ -837,6 +839,7 @@ func (cr *OVSNetwork) RenderNetAttDef() (*uns.Unstructured, error) {
837839
} else {
838840
data.Data["NetworkNamespace"] = cr.Spec.NetworkNamespace
839841
}
842+
data.Data["Owner"] = cr.GroupVersionKind().GroupKind().String() + "/" + cr.GetNamespace() + "/" + cr.Name
840843
data.Data["CniResourceName"] = os.Getenv("RESOURCE_PREFIX") + "/" + cr.Spec.ResourceName
841844

842845
if cr.Spec.Capabilities == "" {

api/v1/helper_test.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"testing"
1111

1212
"github.com/google/go-cmp/cmp"
13+
"github.com/stretchr/testify/assert"
1314
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1415
intstrutil "k8s.io/apimachinery/pkg/util/intstr"
1516

@@ -194,10 +195,8 @@ func TestRendering(t *testing.T) {
194195
if err != nil {
195196
t.Fatalf("failed reading .golden: %s", err)
196197
}
197-
t.Log(b.String())
198-
if !bytes.Equal(b.Bytes(), g) {
199-
t.Errorf("bytes do not match .golden file")
200-
}
198+
199+
assert.Equal(t, string(g), b.String(), "bytes do not match .golden file [%s]", gp)
201200
})
202201
}
203202
}
@@ -241,10 +240,8 @@ func TestIBRendering(t *testing.T) {
241240
if err != nil {
242241
t.Fatalf("failed reading .golden: %s", err)
243242
}
244-
t.Log(b.String())
245-
if !bytes.Equal(b.Bytes(), g) {
246-
t.Errorf("bytes do not match .golden file")
247-
}
243+
244+
assert.Equal(t, string(g), b.String(), "bytes do not match .golden file [%s]", gp)
248245
})
249246
}
250247
}
@@ -334,10 +331,8 @@ func TestOVSRendering(t *testing.T) {
334331
if err != nil {
335332
t.Fatalf("failed reading .golden: %s", err)
336333
}
337-
t.Log(b.String())
338-
if !bytes.Equal(b.Bytes(), g) {
339-
t.Errorf("bytes do not match .golden file")
340-
}
334+
335+
assert.Equal(t, string(g), b.String(), "bytes do not match .golden file [%s]", gp)
341336
})
342337
}
343338
}

api/v1/testdata/TestIBRendering/simpleib.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": null,
910
"namespace": "testnamespace"

api/v1/testdata/TestOVSRendering/chained.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": "test",
910
"namespace": "testnamespace"

api/v1/testdata/TestOVSRendering/complexconf.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": "test",
910
"namespace": "testnamespace"

api/v1/testdata/TestOVSRendering/simpleovs.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": "test",
910
"namespace": "testnamespace"

api/v1/testdata/TestRendering/chained.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": null,
910
"namespace": "testnamespace"

api/v1/testdata/TestRendering/simple.golden

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"kind": "NetworkAttachmentDefinition",
44
"metadata": {
55
"annotations": {
6-
"k8s.v1.cni.cncf.io/resourceName": "/testresource"
6+
"k8s.v1.cni.cncf.io/resourceName": "/testresource",
7+
"sriovnetwork.openshift.io/owner": "//test"
78
},
89
"name": null,
910
"namespace": "testnamespace"

bindata/manifests/cni-config/ovs/ovs-cni-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ metadata:
55
namespace: {{.NetworkNamespace}}
66
annotations:
77
k8s.v1.cni.cncf.io/resourceName: {{.CniResourceName}}
8+
sriovnetwork.openshift.io/owner: {{.Owner}}
89
spec:
910
config: '{
1011
"cniVersion":"1.0.0",

bindata/manifests/cni-config/sriov/sriov-cni-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ metadata:
55
namespace: {{.SriovNetworkNamespace}}
66
annotations:
77
k8s.v1.cni.cncf.io/resourceName: {{.SriovCniResourceName}}
8+
sriovnetwork.openshift.io/owner: {{.Owner}}
89
spec:
910
config: '{
1011
"cniVersion":"1.0.0",

0 commit comments

Comments
 (0)