Skip to content

Commit a86369c

Browse files
authored
Merge pull request #1495 from marquiz/devel/nf-owner-ref-test
test/e2e: test NodeFeature owner reference
2 parents 04c4725 + c02e052 commit a86369c

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

test/e2e/node_feature_discovery_test.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
corev1 "k8s.io/api/core/v1"
3131
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
3232
extclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
33+
apierrors "k8s.io/apimachinery/pkg/api/errors"
3334
resourcev1 "k8s.io/apimachinery/pkg/api/resource"
3435
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3536
"k8s.io/apimachinery/pkg/types"
@@ -171,7 +172,12 @@ func cleanupCRs(ctx context.Context, cli *nfdclient.Clientset, namespace string)
171172
By("Deleting NodeFeature objects from namespace " + namespace)
172173
for _, nf := range nfs.Items {
173174
err = cli.NfdV1alpha1().NodeFeatures(namespace).Delete(ctx, nf.Name, metav1.DeleteOptions{})
174-
Expect(err).NotTo(HaveOccurred())
175+
Expect(func() error {
176+
if apierrors.IsNotFound(err) {
177+
return nil
178+
}
179+
return err
180+
}()).NotTo(HaveOccurred())
175181
}
176182
}
177183
}
@@ -308,6 +314,12 @@ var _ = SIGDescribe("NFD master and worker", func() {
308314
By("Deleting the node-feature-discovery worker pod")
309315
err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Delete(ctx, workerPod.Name, metav1.DeleteOptions{})
310316
Expect(err).NotTo(HaveOccurred())
317+
318+
if useNodeFeatureApi {
319+
By("Verify that labels from nfd-worker are garbage-collected")
320+
delete(expectedLabels, workerPod.Spec.NodeName)
321+
eventuallyNonControlPlaneNodes(ctx, f.ClientSet).WithTimeout(1 * time.Minute).Should(MatchLabels(expectedLabels, nodes))
322+
}
311323
})
312324
})
313325

@@ -490,6 +502,12 @@ var _ = SIGDescribe("NFD master and worker", func() {
490502
By("Deleting nfd-worker daemonset")
491503
err = f.ClientSet.AppsV1().DaemonSets(f.Namespace.Name).Delete(ctx, workerDS.Name, metav1.DeleteOptions{})
492504
Expect(err).NotTo(HaveOccurred())
505+
506+
if useNodeFeatureApi {
507+
By("Verify that labels from nfd-worker are garbage-collected")
508+
delete(expectedLabels, targetNodeName)
509+
eventuallyNonControlPlaneNodes(ctx, f.ClientSet).WithTimeout(1 * time.Minute).Should(MatchLabels(expectedLabels, nodes))
510+
}
493511
})
494512
})
495513

@@ -836,6 +854,12 @@ core:
836854
By("Deleting nfd-worker daemonset")
837855
err = f.ClientSet.AppsV1().DaemonSets(f.Namespace.Name).Delete(ctx, workerDS.Name, metav1.DeleteOptions{})
838856
Expect(err).NotTo(HaveOccurred())
857+
858+
By("Verify that labels from nfd-worker are garbage-collected")
859+
expectedLabels = map[string]k8sLabels{
860+
"*": {},
861+
}
862+
eventuallyNonControlPlaneNodes(ctx, f.ClientSet).WithTimeout(1 * time.Minute).Should(MatchLabels(expectedLabels, nodes))
839863
})
840864
})
841865

test/e2e/utils/pod/pod.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,22 @@ func nfdWorkerSpec(opts ...SpecOption) *corev1.PodSpec {
270270
},
271271
},
272272
},
273+
{
274+
Name: "POD_NAME",
275+
ValueFrom: &corev1.EnvVarSource{
276+
FieldRef: &corev1.ObjectFieldSelector{
277+
FieldPath: "metadata.name",
278+
},
279+
},
280+
},
281+
{
282+
Name: "POD_UID",
283+
ValueFrom: &corev1.EnvVarSource{
284+
FieldRef: &corev1.ObjectFieldSelector{
285+
FieldPath: "metadata.uid",
286+
},
287+
},
288+
},
273289
},
274290
SecurityContext: &corev1.SecurityContext{
275291
Capabilities: &corev1.Capabilities{

0 commit comments

Comments
 (0)