feat: enable pluginDivisionMode schema tests for OCP Operator nightly jobs#4685
Conversation
Code Review by Qodo
Context used 1. Errexit breaks schema-mode skip
|
|
The container image build workflow finished with status: |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-helm-nightly |
Review Summary by QodoEnable schema-mode E2E tests for OCP Operator deployments
WalkthroughsDescription• Enable pluginDivisionMode schema E2E tests for OCP Operator nightly jobs • Deploy real Crunchy PostgreSQL cluster and configure schema-mode environment variables • Replace placeholder database secrets with real credentials via configure_external_postgres_db • Parameterize schema-mode log messages to distinguish Helm vs Operator deployments Diagramflowchart LR
A["OCP Operator Pipeline"] -->|"source schema-mode-env.sh"| B["Schema Mode Configuration"]
C["External PostgreSQL<br/>Crunchy Cluster"] -->|"configure_external_postgres_db"| D["Real DB Credentials"]
D -->|"patch postgres-cred secret"| E["Runtime Namespace"]
B -->|"configure_schema_mode_runtime_env<br/>with install_method=operator"| F["Schema-Mode Tests"]
E -->|"SCHEMA_MODE_* env vars"| F
File Changes1. .ci/pipelines/jobs/ocp-operator.sh
|
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-helm |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-helm-nightly |
|
/review |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
|
/agentic_review |
|
Persistent review updated to latest commit 68dfd51 |
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-helm |
|
/retest |
|
/test e2e-ocp-operator-nightly |
1 similar comment
|
/test e2e-ocp-operator-nightly |
|
This PR is stale because it has been open 7 days with no activity. Remove stale label or comment or this will be closed in 21 days. |
…ghtly Enable pluginDivisionMode: schema E2E tests for OCP Operator deployments. The tests previously skipped because schema-mode-setup.ts patched the operator-managed Deployment spec to inject POSTGRES_* env vars, which the operator reconciliation loop reverted — crashing the init container. Fix: for operator deployments, update the existing postgres-cred secret (already mounted via extraEnvs.secrets in the Backstage CR) instead of creating a new secret and patching the Deployment. Skip ensureDeploymentEnvVars() entirely for operator since env vars are injected by the operator from the secret automatically. CI pipeline changes: - Wire up real Crunchy PostgreSQL via configure_external_postgres_db - Configure SCHEMA_MODE_* env vars via configure_schema_mode_runtime_env - Export INSTALL_METHOD=operator for correct deployment naming - Fall back to placeholder secrets if Crunchy setup fails Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ision-mode-schema
The merge with main reverted the configure_external_postgres_db block in run_operator_runtime_config_change_tests(), leaving a dangling postgres_ready reference (shellcheck SC2154). Restore the Crunchy setup with fallback to placeholder secrets, split local declaration from assignment to satisfy shellcheck, and use config::create_app_config_map matching main's pattern. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/test e2e-ocp-operator-nightly |
1 similar comment
|
/test e2e-ocp-operator-nightly |
PR redhat-developer#4795 (c2816d3) removed the floating-action-button and global-header ConfigMap files and creation logic but left the references in the Backstage CR specs. The operator fails to reconcile because it cannot find these ConfigMaps, blocking all operator nightly jobs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ision-mode-schema
|
/test e2e-ocp-operator-nightly |
|
The container image build workflow finished with status: |
…or deployment The Backstage CR references dynamicPluginsConfigMapName: dynamic-plugins but the ConfigMap was never created in the showcase-runtime namespace, causing the operator reconciler to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ision-mode-schema
|
/test e2e-ocp-operator-nightly |
|
/test e2e-ocp-operator-nightly |
…ator Use values-showcase-postgres.yaml (plugins: []) instead of the full values_showcase.yaml to avoid the install-dynamic-plugins init container hanging while downloading dozens of plugins. The runtime namespace only needs default bundled plugins for schema-mode testing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/test e2e-ocp-operator-nightly |
The ephemeral volume controller can be slow to create PVCs on CI clusters, causing the deployment restart to fail on the first attempt. Add retry logic (up to 3 attempts with 30s delay) and increase the beforeAll timeout to 15 minutes to accommodate retries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
/test e2e-ocp-operator-nightly |



Description
pluginDivisionMode: schemaE2E tests for OCP Operator deployments by wiring up the CI pipelineto deploy a real Crunchy PostgreSQL cluster and configure
SCHEMA_MODE_*environment variables"tmp"/"tmp") in the operator runtime namespace with real CrunchyPostgreSQL credentials via
configure_external_postgres_dbschema-mode-env.shlog messages to distinguish Helm vs Operator in CI outputWhich issue(s) does this PR fix
PR acceptance criteria
Please make sure that the following steps are complete:
How to test changes / Special notes to the reviewer