feat: Introduce force re-deploy option#87
feat: Introduce force re-deploy option#87AndrienkoAleksandr wants to merge 4 commits intoredhat-developer:mainfrom
Conversation
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
|
@subhashkhileri, what do you think about this pull request? |
|
@subhash Khileri, I hope you’re doing well. I’d really appreciate your thoughts on this PR: Along with that, I wanted to share some use cases I encountered while working on e2e tests. I’ve recently worked on two e2e-related pull requests:
In both cases, I had separate test.describe sections that required RHDH to be deployed with different application or plugin configurations. Currently,
Given these limitations, do you think the approach proposed in this PR makes sense? Or would you recommend continuing with the existing methods? Thanks in advance for your feedback! |
|
Hey! Thanks for working on this — the bulk-import e2e tests look great. I have some thoughts on the Only one describe block needs Looking at the consumer PR (#1972), only the orchestrator mode describe uses Suggested approach: split into two spec files The orchestrator mode tests are fully independent — they create their own test data (scoped by // playwright.config.ts
export default defineConfig({
projects: [
{ name: "bulk-import", testMatch: "bulk-import.spec.ts" },
{ name: "bulk-import-orchestrator", testMatch: "bulk-import-orchestrator.spec.ts" },
],
});
They run in parallel, each with full If they must stay in one file — existing APIs already work If there's a reason to keep everything in one spec file, the existing public API already supports updating RHDH config mid-test. Just make sure to wrap it in await test.runOnce("bulk-import-orchestrator-config", async () => {
await rhdh.k8sClient.applyConfigMapFromObject(
"app-config-rhdh",
newAppConfig,
rhdh.deploymentConfig.namespace,
);
await rhdh.scaleDownAndRestart();
await rhdh.waitUntilReady();
});This makes the intent clear to anyone reading the test — the existing deployment is being updated and restarted with a new configuration, rather than a full redeploy happening behind the scenes. And wrapping it in Why I'm cautious about The reason With What do you think? |
What does this pull request do:
Introduce force re-deploy option. This PR introduces a way to redeploy RHDH with modified configuration without full teardown, while reusing existing merge logic.