Skip to content

Commit 7d00cf0

Browse files
authored
Merge pull request #1677 from mythi/PR-2024-004
webhooks: make SGX mutator registration to follow other webhooks
2 parents 29f3d87 + cbaedda commit 7d00cf0

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

.github/workflows/lib-e2e.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
runner: simics-spr
4343
images: intel-qat-plugin intel-qat-initcontainer openssl-qat-engine
4444
- name: e2e-sgx
45+
targetjob: e2e-sgx FOCUS="|(SGX Admission)"
4546
runner: sgx
4647
images: intel-sgx-plugin intel-sgx-initcontainer intel-sgx-admissionwebhook sgx-sdk-demo intel-deviceplugin-operator
4748

cmd/operator/main.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"os"
2222
"strings"
2323

24-
corev1 "k8s.io/api/core/v1"
2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625
"k8s.io/apimachinery/pkg/runtime"
2726
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
@@ -44,7 +43,6 @@ import (
4443
"github.com/intel/intel-device-plugins-for-kubernetes/pkg/fpgacontroller"
4544
"github.com/intel/intel-device-plugins-for-kubernetes/pkg/fpgacontroller/patcher"
4645
sgxwebhook "github.com/intel/intel-device-plugins-for-kubernetes/pkg/webhooks/sgx"
47-
"sigs.k8s.io/controller-runtime/pkg/builder"
4846
)
4947

5048
var (
@@ -176,10 +174,7 @@ func main() {
176174
}
177175

178176
if contains(devices, "sgx") {
179-
if err = builder.WebhookManagedBy(mgr).
180-
For(&corev1.Pod{}).
181-
WithDefaulter(&sgxwebhook.Mutator{}).
182-
Complete(); err != nil {
177+
if err = (&sgxwebhook.Mutator{}).SetupWebhookWithManager(mgr); err != nil {
183178
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
184179
os.Exit(1)
185180
}

cmd/sgx_admissionwebhook/main.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@ import (
2020
"os"
2121

2222
sgxwebhook "github.com/intel/intel-device-plugins-for-kubernetes/pkg/webhooks/sgx"
23-
corev1 "k8s.io/api/core/v1"
2423
"k8s.io/klog/v2/textlogger"
2524
ctrl "sigs.k8s.io/controller-runtime"
26-
"sigs.k8s.io/controller-runtime/pkg/builder"
2725
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
2826
"sigs.k8s.io/controller-runtime/pkg/webhook"
2927
)
@@ -59,10 +57,7 @@ func main() {
5957
os.Exit(1)
6058
}
6159

62-
if err := builder.WebhookManagedBy(mgr).
63-
For(&corev1.Pod{}).
64-
WithDefaulter(&sgxwebhook.Mutator{}).
65-
Complete(); err != nil {
60+
if err := (&sgxwebhook.Mutator{}).SetupWebhookWithManager(mgr); err != nil {
6661
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
6762
os.Exit(1)
6863
}

pkg/webhooks/sgx/sgx.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
corev1 "k8s.io/api/core/v1"
2323
"k8s.io/apimachinery/pkg/api/resource"
2424
"k8s.io/apimachinery/pkg/runtime"
25+
ctrl "sigs.k8s.io/controller-runtime"
2526
logf "sigs.k8s.io/controller-runtime/pkg/log"
2627

2728
"github.com/intel/intel-device-plugins-for-kubernetes/pkg/internal/containers"
@@ -34,6 +35,13 @@ var ErrObjectType = errors.New("invalid runtime object type")
3435
// Mutator annotates Pods.
3536
type Mutator struct{}
3637

38+
func (s *Mutator) SetupWebhookWithManager(mgr ctrl.Manager) error {
39+
return ctrl.NewWebhookManagedBy(mgr).
40+
For(&corev1.Pod{}).
41+
WithDefaulter(s).
42+
Complete()
43+
}
44+
3745
const (
3846
namespace = "sgx.intel.com"
3947
encl = namespace + "/enclave"

test/e2e/iaa/iaa.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func describe() {
106106
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-f", demoPath)
107107

108108
ginkgo.By("waiting for the IAA demo to succeed")
109-
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, podName, f.Namespace.Name, 300*time.Second)
109+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, podName, f.Namespace.Name, 360*time.Second)
110110
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, podName, podName))
111111
})
112112

0 commit comments

Comments
 (0)