From bae74efef74f3a325a54860d02fe814871db1ecd Mon Sep 17 00:00:00 2001 From: Subhash Khileri Date: Mon, 12 Oct 2026 15:59:43 +0530 Subject: [PATCH] fix: backport operator E2E defaults and restart handling to 2.1 Backport of #186 (bc509c3b1850a296904e8c81033e5e6f6cf6284b), with release version adjusted to 2.1.25. --- docs/.vitepress/config.ts | 2 +- docs/changelog.md | 9 ++++++++- package.json | 2 +- .../rhdh/config/operator/subscription.yaml | 3 +++ src/deployment/rhdh/deployment.ts | 13 ++++++++++--- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 6ac7bdb..e1b0b1f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -33,7 +33,7 @@ export default defineConfig({ { text: "Examples", link: "/examples/" }, { text: "Overlay Testing", link: "/overlay/" }, { - text: "v2.1.18", + text: "v2.1.25", items: [{ text: "Changelog", link: "/changelog" }], }, ], diff --git a/docs/changelog.md b/docs/changelog.md index 1b3bb6a..98158da 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,7 +2,14 @@ All notable changes to this project will be documented in this file. -## [2.1.24] - Current +## [2.1.25] - Current + +### Fixed + +- Disable the Intelligent Assistant flavour by default in operator E2E deployments, matching Helm. Workspaces can enable it explicitly through `spec.flavours` in their subscription override. +- Fix operator restart helpers to select Deployment metadata rather than Pod-only labels. + +## [2.1.24] ### Fixed diff --git a/package.json b/package.json index 2b63706..04f40de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@red-hat-developer-hub/e2e-test-utils", - "version": "2.1.24", + "version": "2.1.25", "description": "Test utilities for RHDH E2E tests", "license": "Apache-2.0", "repository": { diff --git a/src/deployment/rhdh/config/operator/subscription.yaml b/src/deployment/rhdh/config/operator/subscription.yaml index 34997c8..086e52a 100644 --- a/src/deployment/rhdh/config/operator/subscription.yaml +++ b/src/deployment/rhdh/config/operator/subscription.yaml @@ -3,6 +3,9 @@ kind: Backstage metadata: name: developer-hub spec: + flavours: + - name: intelligent-assistant + enabled: false application: appConfig: configMaps: diff --git a/src/deployment/rhdh/deployment.ts b/src/deployment/rhdh/deployment.ts index 5018b07..dec206e 100644 --- a/src/deployment/rhdh/deployment.ts +++ b/src/deployment/rhdh/deployment.ts @@ -369,11 +369,18 @@ export class RHDHDeployment { : "app.kubernetes.io/instance in (redhat-developer-hub,developer-hub)"; } + private get _deploymentLabelSelector(): string { + // The operator's rhdh.redhat.com/app label is on Pods, not Deployment metadata. + return this.deploymentConfig.method === "operator" + ? "app.kubernetes.io/name=backstage,app.kubernetes.io/instance=developer-hub" + : this._labelSelector; + } + async rolloutRestart(): Promise { this._log( `Restarting RHDH deployment in namespace ${this.deploymentConfig.namespace}...`, ); - await $`oc rollout restart deployment -l ${this._labelSelector} -n ${this.deploymentConfig.namespace}`; + await $`oc rollout restart deployment -l ${this._deploymentLabelSelector} -n ${this.deploymentConfig.namespace}`; this._log( `RHDH deployment restarted successfully in namespace ${this.deploymentConfig.namespace}`, ); @@ -387,9 +394,9 @@ export class RHDHDeployment { */ async scaleDownAndRestart(): Promise { const namespace = this.deploymentConfig.namespace; - await $`oc scale deployment -l ${this._labelSelector} --replicas=0 -n ${namespace}`; + await $`oc scale deployment -l ${this._deploymentLabelSelector} --replicas=0 -n ${namespace}`; await $`oc wait --for=delete pod -l ${this._labelSelector} -n ${namespace} --timeout=120s || true`; - await $`oc scale deployment -l ${this._labelSelector} --replicas=1 -n ${namespace}`; + await $`oc scale deployment -l ${this._deploymentLabelSelector} --replicas=1 -n ${namespace}`; } async waitUntilReady(timeout: number = 500): Promise {