Skip to content

Commit a695a59

Browse files
authored
Merge pull request #818 from mythi/PR-2021-075
e2e: sgx: fix NFD and webhook deployment
2 parents 71872ad + cdd7ca8 commit a695a59

File tree

3 files changed

+56
-13
lines changed

3 files changed

+56
-13
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: apps/v1
2+
kind: DaemonSet
3+
metadata:
4+
name: intel-sgx-plugin
5+
spec:
6+
template:
7+
spec:
8+
initContainers:
9+
- name: intel-sgx-initcontainer
10+
image: intel/intel-sgx-initcontainer:devel
11+
imagePullPolicy: IfNotPresent
12+
securityContext:
13+
readOnlyRootFilesystem: true
14+
volumeMounts:
15+
- mountPath: /etc/kubernetes/node-feature-discovery/source.d/
16+
name: nfd-source-hooks
17+
volumes:
18+
- name: nfd-source-hooks
19+
hostPath:
20+
path: /etc/kubernetes/node-feature-discovery/source.d/
21+
type: DirectoryOrCreate
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
resources:
2+
- ../../base
3+
patches:
4+
- add-epc-nfd-initcontainer.yaml

test/e2e/sgx/sgx.go

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package sgx
1616

1717
import (
1818
"context"
19-
"os"
2019
"path/filepath"
2120
"time"
2221

@@ -33,7 +32,9 @@ import (
3332
)
3433

3534
const (
36-
kustomizationYaml = "deployments/sgx_plugin/overlays/epc-nfd/kustomization.yaml"
35+
kustomizationWebhook = "deployments/sgx_admissionwebhook/overlays/default-with-certmanager/kustomization.yaml"
36+
kustomizationPlugin = "deployments/sgx_plugin/overlays/epc-hook-initcontainer/kustomization.yaml"
37+
kustomizationNFD = "deployments/sgx_nfd/kustomization.yaml"
3738
)
3839

3940
func init() {
@@ -43,25 +44,42 @@ func init() {
4344
func describe() {
4445
f := framework.NewDefaultFramework("sgxplugin")
4546

46-
kustomizationPath, err := utils.LocateRepoFile(kustomizationYaml)
47+
deploymentWebhookPath, err := utils.LocateRepoFile(kustomizationWebhook)
4748
if err != nil {
48-
framework.Failf("unable to locate %q: %v", kustomizationYaml, err)
49+
framework.Failf("unable to locate %q: %v", kustomizationWebhook, err)
4950
}
5051

51-
ginkgo.It("checks availability of SGX resources", func() {
52-
tmpDir, err := os.MkdirTemp("", "sgxplugine2etest-"+f.Namespace.Name)
53-
if err != nil {
54-
framework.Failf("unable to create temp directory: %v", err)
52+
deploymentNFDPath, err := utils.LocateRepoFile(kustomizationNFD)
53+
if err != nil {
54+
framework.Failf("unable to locate %q: %v", kustomizationNFD, err)
55+
}
56+
57+
ginkgo.BeforeEach(func() {
58+
_ = utils.DeployWebhook(f, deploymentWebhookPath)
59+
60+
msg := framework.RunKubectlOrDie("node-feature-discovery", "apply", "-k", filepath.Dir(deploymentNFDPath))
61+
framework.Logf("Deploy node-feature-discovery:\n%s", msg)
62+
63+
if _, err = e2epod.WaitForPodsWithLabelRunningReady(f.ClientSet, "node-feature-discovery",
64+
labels.Set{"app": "nfd-master"}.AsSelector(), 1 /* one replica */, 100*time.Second); err != nil {
65+
framework.Failf("unable to wait for NFD pods to be running and ready: %v", err)
5566
}
56-
defer os.RemoveAll(tmpDir)
67+
})
68+
69+
ginkgo.AfterEach(func() {
70+
msg := framework.RunKubectlOrDie("node-feature-discovery", "delete", "-k", filepath.Dir(deploymentNFDPath))
71+
framework.Logf("Delete node-feature-discovery:\n%s", msg)
72+
})
5773

58-
err = utils.CreateKustomizationOverlay(f.Namespace.Name, filepath.Dir(kustomizationPath), tmpDir)
74+
ginkgo.It("checks availability of SGX resources", func() {
75+
ginkgo.By("deploying SGX plugin")
76+
77+
deploymentPluginPath, err := utils.LocateRepoFile(kustomizationPlugin)
5978
if err != nil {
60-
framework.Failf("unable to create kustomization overlay: %v", err)
79+
framework.Failf("unable to locate %q: %v", kustomizationPlugin, err)
6180
}
6281

63-
ginkgo.By("deploying SGX plugin")
64-
framework.RunKubectlOrDie(f.Namespace.Name, "--namespace", f.Namespace.Name, "apply", "-k", tmpDir)
82+
framework.RunKubectlOrDie(f.Namespace.Name, "apply", "-k", filepath.Dir(deploymentPluginPath))
6583

6684
ginkgo.By("waiting for SGX plugin's availability")
6785
if _, err = e2epod.WaitForPodsWithLabelRunningReady(f.ClientSet, f.Namespace.Name,

0 commit comments

Comments
 (0)