From f88f888e24aaa6240320d33aad10050f557e19fc Mon Sep 17 00:00:00 2001 From: Dhruv Gautam Date: Thu, 7 May 2026 18:43:20 +0530 Subject: [PATCH 1/2] fix(CPO): move packageserver PDB from guest cluster to management cluster The packageserver PDB was being created in the guest cluster's openshift-operator-lifecycle-manager namespace by CVO, but packageserver pods run on the management cluster in the clusters- namespace. This moves the PDB to the correct location. - Add packageserver PDB manifest to manifestsToOmit to prevent CVO from creating it in guest clusters - Add packageserver-pdb to resourcesToRemove for all platforms to clean up the orphaned PDB on existing clusters during upgrade - Register PDB manifest adapter in packageserver component to create the PDB in the management cluster namespace --- ...neComponents_cluster_version_operator_deployment.yaml | 9 +++++++++ ...neComponents_cluster_version_operator_deployment.yaml | 9 +++++++++ ...neComponents_cluster_version_operator_deployment.yaml | 9 +++++++++ ...neComponents_cluster_version_operator_deployment.yaml | 9 +++++++++ ...neComponents_cluster_version_operator_deployment.yaml | 9 +++++++++ .../hostedcontrolplane/v2/assets/packageserver/pdb.yaml | 9 +++++++++ .../controllers/hostedcontrolplane/v2/cvo/deployment.go | 4 ++++ .../hostedcontrolplane/v2/olm/packageserver/component.go | 4 ++++ 8 files changed, 62 insertions(+) create mode 100644 control-plane-operator/controllers/hostedcontrolplane/v2/assets/packageserver/pdb.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index 2d9b1f3026d..bbcfe2c04f2 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -189,6 +189,15 @@ spec: rm -f /var/payload/release-manifests/0000_03_marketplace-operator_02_operatorhub.cr.yaml cat > /var/payload/release-manifests/0000_01_cleanup.yaml < /var/payload/release-manifests/0000_01_cleanup.yaml < /var/payload/release-manifests/0000_01_cleanup.yaml < /var/payload/release-manifests/0000_01_cleanup.yaml < /var/payload/release-manifests/0000_01_cleanup.yaml < Date: Thu, 7 May 2026 18:57:51 +0530 Subject: [PATCH 2/2] test(CPO): update test fixtures for packageserver PDB changes Regenerate CVO deployment and packageserver component test fixtures to reflect the packageserver PDB being omitted from the guest cluster CVO payload and added to the management cluster namespace. --- ...s_cluster_version_operator_deployment.yaml | 1 + ...s_cluster_version_operator_deployment.yaml | 1 + ...s_cluster_version_operator_deployment.yaml | 1 + ...s_cluster_version_operator_deployment.yaml | 1 + ...s_cluster_version_operator_deployment.yaml | 1 + ...s_packageserver_controlplanecomponent.yaml | 4 ++++ ...packageserver_pdb_poddisruptionbudget.yaml | 23 +++++++++++++++++++ ...s_packageserver_controlplanecomponent.yaml | 4 ++++ ...packageserver_pdb_poddisruptionbudget.yaml | 23 +++++++++++++++++++ ...s_packageserver_controlplanecomponent.yaml | 4 ++++ ...packageserver_pdb_poddisruptionbudget.yaml | 23 +++++++++++++++++++ ...s_packageserver_controlplanecomponent.yaml | 4 ++++ ...packageserver_pdb_poddisruptionbudget.yaml | 23 +++++++++++++++++++ ...s_packageserver_controlplanecomponent.yaml | 4 ++++ ...packageserver_pdb_poddisruptionbudget.yaml | 23 +++++++++++++++++++ .../v2/cvo/deployment_test.go | 11 +++++++++ .../v2/olm/packageserver/component_test.go | 16 +++++++++++++ 17 files changed, 167 insertions(+) create mode 100644 control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml create mode 100644 control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml create mode 100644 control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml create mode 100644 control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml create mode 100644 control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml create mode 100644 control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/component_test.go diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index bbcfe2c04f2..f9ab218c5f5 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/AROSwift/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -152,6 +152,7 @@ spec: rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.service.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.servicemonitor.yaml + rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-collect-profiles.cronjob.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/GCP/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/GCP/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index be09b84b9a7..76b9786e2dc 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/GCP/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/GCP/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -163,6 +163,7 @@ spec: rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.service.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.servicemonitor.yaml + rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-collect-profiles.cronjob.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/IBMCloud/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/IBMCloud/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index 95c9b982cc5..63d43f69253 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/IBMCloud/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/IBMCloud/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -152,6 +152,7 @@ spec: rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.service.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.servicemonitor.yaml + rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-collect-profiles.cronjob.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index f86e65d721a..3726d1b0536 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -152,6 +152,7 @@ spec: rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.service.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.servicemonitor.yaml + rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-collect-profiles.cronjob.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml index bbcfe2c04f2..f9ab218c5f5 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/cluster-version-operator/zz_fixture_TestControlPlaneComponents_cluster_version_operator_deployment.yaml @@ -152,6 +152,7 @@ spec: rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.service.yaml rm -f /var/payload/release-manifests/0000_50_olm_06-psm-operator.servicemonitor.yaml + rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.ibm-cloud-managed.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-olm-operator.deployment.yaml rm -f /var/payload/release-manifests/0000_50_olm_07-collect-profiles.cronjob.yaml diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml index 7c94f9cf495..85423a912b0 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml @@ -18,3 +18,7 @@ status: reason: WaitingForRolloutComplete status: "False" type: RolloutComplete + resources: + - group: policy + kind: PodDisruptionBudget + name: packageserver-pdb diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml new file mode 100644 index 00000000000..2d23bce1d47 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/AROSwift/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml @@ -0,0 +1,23 @@ +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: packageserver-pdb + namespace: hcp-namespace + ownerReferences: + - apiVersion: hypershift.openshift.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: HostedControlPlane + name: hcp + uid: "" + resourceVersion: "1" +spec: + selector: + matchLabels: + app: packageserver + unhealthyPodEvictionPolicy: AlwaysAllow +status: + currentHealthy: 0 + desiredHealthy: 0 + disruptionsAllowed: 0 + expectedPods: 0 diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml index 7c94f9cf495..85423a912b0 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml @@ -18,3 +18,7 @@ status: reason: WaitingForRolloutComplete status: "False" type: RolloutComplete + resources: + - group: policy + kind: PodDisruptionBudget + name: packageserver-pdb diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml new file mode 100644 index 00000000000..2d23bce1d47 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/GCP/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml @@ -0,0 +1,23 @@ +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: packageserver-pdb + namespace: hcp-namespace + ownerReferences: + - apiVersion: hypershift.openshift.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: HostedControlPlane + name: hcp + uid: "" + resourceVersion: "1" +spec: + selector: + matchLabels: + app: packageserver + unhealthyPodEvictionPolicy: AlwaysAllow +status: + currentHealthy: 0 + desiredHealthy: 0 + disruptionsAllowed: 0 + expectedPods: 0 diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml index 7c94f9cf495..85423a912b0 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml @@ -18,3 +18,7 @@ status: reason: WaitingForRolloutComplete status: "False" type: RolloutComplete + resources: + - group: policy + kind: PodDisruptionBudget + name: packageserver-pdb diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml new file mode 100644 index 00000000000..2d23bce1d47 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/IBMCloud/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml @@ -0,0 +1,23 @@ +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: packageserver-pdb + namespace: hcp-namespace + ownerReferences: + - apiVersion: hypershift.openshift.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: HostedControlPlane + name: hcp + uid: "" + resourceVersion: "1" +spec: + selector: + matchLabels: + app: packageserver + unhealthyPodEvictionPolicy: AlwaysAllow +status: + currentHealthy: 0 + desiredHealthy: 0 + disruptionsAllowed: 0 + expectedPods: 0 diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml index 7c94f9cf495..85423a912b0 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml @@ -18,3 +18,7 @@ status: reason: WaitingForRolloutComplete status: "False" type: RolloutComplete + resources: + - group: policy + kind: PodDisruptionBudget + name: packageserver-pdb diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml new file mode 100644 index 00000000000..2d23bce1d47 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml @@ -0,0 +1,23 @@ +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: packageserver-pdb + namespace: hcp-namespace + ownerReferences: + - apiVersion: hypershift.openshift.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: HostedControlPlane + name: hcp + uid: "" + resourceVersion: "1" +spec: + selector: + matchLabels: + app: packageserver + unhealthyPodEvictionPolicy: AlwaysAllow +status: + currentHealthy: 0 + desiredHealthy: 0 + disruptionsAllowed: 0 + expectedPods: 0 diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml index 7c94f9cf495..85423a912b0 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_controlplanecomponent.yaml @@ -18,3 +18,7 @@ status: reason: WaitingForRolloutComplete status: "False" type: RolloutComplete + resources: + - group: policy + kind: PodDisruptionBudget + name: packageserver-pdb diff --git a/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml new file mode 100644 index 00000000000..2d23bce1d47 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/testdata/packageserver/zz_fixture_TestControlPlaneComponents_packageserver_pdb_poddisruptionbudget.yaml @@ -0,0 +1,23 @@ +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: packageserver-pdb + namespace: hcp-namespace + ownerReferences: + - apiVersion: hypershift.openshift.io/v1beta1 + blockOwnerDeletion: true + controller: true + kind: HostedControlPlane + name: hcp + uid: "" + resourceVersion: "1" +spec: + selector: + matchLabels: + app: packageserver + unhealthyPodEvictionPolicy: AlwaysAllow +status: + currentHealthy: 0 + desiredHealthy: 0 + disruptionsAllowed: 0 + expectedPods: 0 diff --git a/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment_test.go b/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment_test.go index 7542a505ab7..8a7c3f13c58 100644 --- a/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment_test.go +++ b/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment_test.go @@ -110,6 +110,15 @@ func TestPreparePayloadScript(t *testing.T) { g.Expect(script).To(ContainSubstring("0000_01_cleanup.yaml")) }, }, + { + name: "When called, it should omit the packageserver PDB manifest from the payload", + platformType: hyperv1.AWSPlatform, + oauthEnabled: true, + featureSet: configv1.Default, + assertions: func(g Gomega, script string) { + g.Expect(script).To(ContainSubstring("rm -f /var/payload/release-manifests/0000_50_olm_00-packageserver.pdb.yaml")) + }, + }, } for _, tt := range tests { @@ -135,6 +144,7 @@ func TestResourcesToRemove(t *testing.T) { name: "When platform is IBMCloud, it should return IBM-specific resources without CRDs", platformType: hyperv1.IBMCloudPlatform, assertions: func(g Gomega, resources []string) { + g.Expect(resources).To(ContainElement("packageserver-pdb")) g.Expect(resources).To(ContainElement("network-operator")) g.Expect(resources).To(ContainElement("default-account-cluster-network-operator")) g.Expect(resources).To(ContainElement("cluster-node-tuning-operator")) @@ -158,6 +168,7 @@ func TestResourcesToRemove(t *testing.T) { name: "When platform is AWS (default), it should return the full list including CRDs and storage operators", platformType: hyperv1.AWSPlatform, assertions: func(g Gomega, resources []string) { + g.Expect(resources).To(ContainElement("packageserver-pdb")) g.Expect(resources).To(ContainElement("machineconfigs.machineconfiguration.openshift.io")) g.Expect(resources).To(ContainElement("machineconfigpools.machineconfiguration.openshift.io")) g.Expect(resources).To(ContainElement("network-operator")) diff --git a/control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/component_test.go b/control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/component_test.go new file mode 100644 index 00000000000..5506c138034 --- /dev/null +++ b/control-plane-operator/controllers/hostedcontrolplane/v2/olm/packageserver/component_test.go @@ -0,0 +1,16 @@ +package packageserver + +import ( + "testing" + + . "github.com/onsi/gomega" +) + +func TestNewComponent(t *testing.T) { + t.Parallel() + g := NewWithT(t) + + component := NewComponent() + g.Expect(component).ToNot(BeNil()) + g.Expect(component.Name()).To(Equal("packageserver")) +}