diff --git a/testing/e2e/manifests/clientServer.go b/testing/e2e/manifests/clientServer.go index 73443d46..1acc9fac 100644 --- a/testing/e2e/manifests/clientServer.go +++ b/testing/e2e/manifests/clientServer.go @@ -88,6 +88,10 @@ func ClientAndServer(namespace, name, zoneName, nameserver, keyvaultURI string, service := &corev1.Service{ + TypeMeta: metav1.TypeMeta{ + Kind: "Service", + APIVersion: "v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: serviceName, Namespace: namespace, @@ -107,6 +111,10 @@ func ClientAndServer(namespace, name, zoneName, nameserver, keyvaultURI string, }, } ingress := &netv1.Ingress{ + TypeMeta: metav1.TypeMeta{ + Kind: "Ingress", + APIVersion: "networking.k8s.io/v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: ingressName, Namespace: namespace, diff --git a/testing/e2e/manifests/common.go b/testing/e2e/manifests/common.go index 6592bb24..c9d2e549 100644 --- a/testing/e2e/manifests/common.go +++ b/testing/e2e/manifests/common.go @@ -70,6 +70,10 @@ func newGoDeployment(contents, namespace, name string) *appsv1.Deployment { } return &appsv1.Deployment{ + TypeMeta: metav1.TypeMeta{ + Kind: "Deployment", + APIVersion: "apps/v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: name, Namespace: namespace, @@ -102,6 +106,10 @@ func newGoDeployment(contents, namespace, name string) *appsv1.Deployment { // UncollisionedNs returns a namespace with a guaranteed unique name after creating the namespace func UncollisionedNs() *corev1.Namespace { return &corev1.Namespace{ + TypeMeta: metav1.TypeMeta{ + Kind: "Namespace", + APIVersion: "v1", + }, ObjectMeta: metav1.ObjectMeta{ GenerateName: "app-routing-e2e-", Labels: map[string]string{ diff --git a/testing/e2e/manifests/e2e.go b/testing/e2e/manifests/e2e.go index 1dda6425..2fe20907 100644 --- a/testing/e2e/manifests/e2e.go +++ b/testing/e2e/manifests/e2e.go @@ -16,12 +16,20 @@ const ( func E2e(image, loadableProvisionedJson string) []client.Object { ret := []client.Object{ &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + Kind: "ServiceAccount", + APIVersion: corev1.SchemeGroupVersion.String(), + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-e2e", Namespace: e2eNamespace, }, }, &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + Kind: "ClusterRoleBinding", + APIVersion: rbacv1.SchemeGroupVersion.String(), + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-e2e", }, @@ -39,6 +47,10 @@ func E2e(image, loadableProvisionedJson string) []client.Object { }, }, &corev1.ConfigMap{ + TypeMeta: metav1.TypeMeta{ + Kind: "ConfigMap", + APIVersion: corev1.SchemeGroupVersion.String(), + }, ObjectMeta: metav1.ObjectMeta{ Name: "infrastructure", Namespace: e2eNamespace, @@ -48,6 +60,10 @@ func E2e(image, loadableProvisionedJson string) []client.Object { }, }, &batchv1.Job{ + TypeMeta: metav1.TypeMeta{ + Kind: "Job", + APIVersion: batchv1.SchemeGroupVersion.String(), + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-operator-e2e", Namespace: e2eNamespace, diff --git a/testing/e2e/manifests/nginxIngressController.go b/testing/e2e/manifests/nginxIngressController.go index eac65ba5..15aba1fa 100644 --- a/testing/e2e/manifests/nginxIngressController.go +++ b/testing/e2e/manifests/nginxIngressController.go @@ -7,6 +7,10 @@ import ( func NewNginxIngressController(name, ingressClassName string) *v1alpha1.NginxIngressController { return &v1alpha1.NginxIngressController{ + TypeMeta: metav1.TypeMeta{ + Kind: "NginxIngressController", + APIVersion: v1alpha1.GroupVersion.String(), + }, ObjectMeta: metav1.ObjectMeta{ Name: name, }, diff --git a/testing/e2e/manifests/operator.go b/testing/e2e/manifests/operator.go index 7b364ba7..39b71aa9 100644 --- a/testing/e2e/manifests/operator.go +++ b/testing/e2e/manifests/operator.go @@ -152,12 +152,20 @@ func Operator(latestImage string, publicZones, privateZones []string, cfg *Opera var ret []client.Object namespace := &corev1.Namespace{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "Namespace", + }, ObjectMeta: metav1.ObjectMeta{ Name: managedResourceNs, }, } serviceAccount := &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "ServiceAccount", + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-operator", Namespace: operatorNs, @@ -165,6 +173,10 @@ func Operator(latestImage string, publicZones, privateZones []string, cfg *Opera } clusterRoleBinding := &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-operator", Namespace: operatorNs, @@ -184,6 +196,10 @@ func Operator(latestImage string, publicZones, privateZones []string, cfg *Opera } baseDeployment := &appsv1.Deployment{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-operator", Namespace: operatorNs, @@ -241,6 +257,10 @@ func Operator(latestImage string, publicZones, privateZones []string, cfg *Opera } podDisrutptionBudget := &policyv1.PodDisruptionBudget{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "policy/v1", + Kind: "PodDisruptionBudget", + }, ObjectMeta: metav1.ObjectMeta{ Name: "app-routing-operator", Namespace: "app-routing-system", diff --git a/testing/e2e/manifests/prometheus.go b/testing/e2e/manifests/prometheus.go index 5bbc7884..35fd4a6d 100644 --- a/testing/e2e/manifests/prometheus.go +++ b/testing/e2e/manifests/prometheus.go @@ -101,6 +101,10 @@ scrape_configs: server := []client.Object{ &corev1.ConfigMap{ + TypeMeta: metav1.TypeMeta{ + Kind: "ConfigMap", + APIVersion: "v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: name + "-server", Namespace: namespace, @@ -110,6 +114,10 @@ scrape_configs: }, }, &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + Kind: "ServiceAccount", + APIVersion: "v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: name + "-server", Namespace: namespace, @@ -213,6 +221,10 @@ scrape_configs: }, }, &corev1.Service{ + TypeMeta: metav1.TypeMeta{ + Kind: "Service", + APIVersion: "v1", + }, ObjectMeta: metav1.ObjectMeta{ Name: name + "-server", Namespace: namespace, diff --git a/testing/e2e/suites/utils.go b/testing/e2e/suites/utils.go index b5243dc9..50481c0f 100644 --- a/testing/e2e/suites/utils.go +++ b/testing/e2e/suites/utils.go @@ -55,7 +55,7 @@ func upsert(ctx context.Context, c client.Client, obj client.Object) error { } lgr.Info("object already exists, attempting to update") - if err := c.Update(ctx, copy); err != nil { + if err := c.Patch(ctx, copy, client.Apply, client.ForceOwnership, client.FieldOwner("e2e-test")); err != nil { return fmt.Errorf("updating object: %w", err) }