Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RHIDP-5805 Optimize rhdh-e2e-runner Image Build Process #61263

Merged
merged 11 commits into from
Feb 15, 2025

Conversation

gustavolira
Copy link
Contributor

@gustavolira gustavolira commented Feb 4, 2025

This PR updates the E2E testing process to always use the mirrored image from OpenShift CI instead of dynamically building the image during test runs.

Key Changes:
Remove Dynamic Image Builds: The pipeline will no longer build and push a temporary image for each PR.
Use OpenShift CI Mirror: All E2E tests will now use the pre-built image stored in the OpenShift CI registry (registry.ci.openshift.org/ci/rhdh-e2e-runner:).
Remove Image Promotion Step: Since we are no longer dynamically building the image, we no longer need to promote an image after a successful test run.
Manual Image Updates: Any updates to .ibm/images/ should be tested separately, manually pushed to Quay.io, and then the OpenShift CI mirror should be updated accordingly.

@openshift-ci-robot
Copy link
Contributor

@gustavolira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: invalid ci-operator config: invalid configuration: images[0]: `to` must be set
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Feb 4, 2025
Copy link
Contributor

openshift-ci bot commented Feb 4, 2025

Hi @gustavolira. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci openshift-ci bot requested review from albarbaro and dzemanov February 4, 2025 22:48
@openshift-ci openshift-ci bot added the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Feb 4, 2025
@subhashkhileri
Copy link
Contributor

/ok-to-test

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Feb 5, 2025
Copy link
Contributor

@zdrapela zdrapela left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've got two suggestions. Please see my inline comments.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 5, 2025
@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Feb 5, 2025
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 5, 2025
@openshift-ci-robot
Copy link
Contributor

@gustavolira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: invalid ci-operator config: invalid configuration: images[0]: `to` must be set
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci-robot
Copy link
Contributor

@gustavolira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: invalid ci-operator config: invalid configuration: images[0]: `to` must be set
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci-robot
Copy link
Contributor

@gustavolira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: invalid ci-operator config: invalid configuration: images[0]: `to` must be set
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@subhashkhileri
Copy link
Contributor

subhashkhileri commented Feb 10, 2025

@gustavolira just to simplify things, why don't only update images for main and after code freeze we will have similar config for 1.5 as well. anyway there isn't much work going on 1.3 and 1.4 so additional 15 min should not be a concern there. WDYT? although its just updating the image tag but my concern was if something goes wrong then not to break all the jobs.

@openshift-ci-robot
Copy link
Contributor

@gustavolira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: [invalid ci-operator config: configuration has 5 errors:

 * tests[1].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[1].test[0]: `as` is required
 * tests[1].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[1].test[0]: `commands` is required
 * 'tests[1].test[0].resources' should have at least one request or limit
, invalid ci-operator config: configuration has 35 errors:

 * tests[1].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[1].test[0]: `as` is required
 * tests[1].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[1].test[0]: `commands` is required
 * 'tests[1].test[0].resources' should have at least one request or limit
 * tests[2].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[2].test[0]: `as` is required
 * tests[2].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[2].test[0]: `commands` is required
 * 'tests[2].test[0].resources' should have at least one request or limit
 * tests[3].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[3].test[0]: `as` is required
 * tests[3].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[3].test[0]: `commands` is required
 * 'tests[3].test[0].resources' should have at least one request or limit
 * tests[5].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[5].test[0]: `as` is required
 * tests[5].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[5].test[0]: `commands` is required
 * 'tests[5].test[0].resources' should have at least one request or limit
 * tests[6].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[6].test[0]: `as` is required
 * tests[6].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[6].test[0]: `commands` is required
 * 'tests[6].test[0].resources' should have at least one request or limit
 * tests[8].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[8].test[0]: `as` is required
 * tests[8].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[8].test[0]: `commands` is required
 * 'tests[8].test[0].resources' should have at least one request or limit
 * tests[9].test[0]: only one of `ref`, `chain`, or a literal test step can be set
 * tests[9].test[0]: `as` is required
 * tests[9].test[0].from: 'ci/rhdh-e2e-runner' is not a valid Kubernetes object name
 * tests[9].test[0]: `commands` is required
 * 'tests[9].test[0].resources' should have at least one request or limit
]
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci openshift-ci bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 14, 2025
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2025
@subhashkhileri
Copy link
Contributor

/lgtm

@subhashkhileri
Copy link
Contributor

/pj-rehearse pull-ci-redhat-developer-rhdh-main-e2e-tests pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2025
@openshift-ci-robot
Copy link
Contributor

@subhashkhileri: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@subhashkhileri
Copy link
Contributor

/pj-rehearse ack

@openshift-ci-robot
Copy link
Contributor

@subhashkhileri: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Feb 14, 2025
@openshift-ci openshift-ci bot removed lgtm Indicates that a PR is ready to be merged. do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. labels Feb 14, 2025
@openshift-ci-robot openshift-ci-robot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Feb 14, 2025
@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@gustavolira: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-aks-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-gke-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-operator-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-osd-gcp-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-osd-gcp-operator-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-cleanup-mapt-destroy-orphaned-aks-clusters redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-aks-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-gke-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-operator-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-osd-gcp-helm-nightly redhat-developer/rhdh presubmit Ci-operator config changed
pull-ci-redhat-developer-rhdh-main-e2e-tests-osd-gcp-operator-nightly redhat-developer/rhdh presubmit Ci-operator config changed
periodic-ci-redhat-developer-rhdh-release-1.5-e2e-tests-nightly N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-main-e2e-tests-nightly-ocp-v4-16 N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-release-1.5-e2e-tests-nightly-ocp-v4-15 N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-release-1.5-e2e-tests-nightly-ocp-v4-16 N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-main-e2e-tests-aks-helm-nightly N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-main-e2e-tests-osd-gcp-operator-nightly N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-main-e2e-tests-nightly-ocp-v4-15 N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-release-1.5-e2e-tests-osd-gcp-helm-nightly N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-main-cleanup-mapt-destroy-orphaned-aks-clusters N/A periodic Ci-operator config changed
periodic-ci-redhat-developer-rhdh-release-1.5-e2e-tests-nightly-auth-providers N/A periodic Ci-operator config changed

A total of 34 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@hector-vido
Copy link
Contributor

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@hector-vido: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@hector-vido
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 15, 2025
Copy link
Contributor

openshift-ci bot commented Feb 15, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gustavolira, hector-vido, subhashkhileri

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hector-vido
Copy link
Contributor

/pj-rehearse pull-ci-redhat-developer-rhdh-release-1.5-e2e-tests-operator-nightly

@openshift-ci-robot
Copy link
Contributor

@hector-vido: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@hector-vido
Copy link
Contributor

/pj-rehearse ack

@openshift-ci-robot
Copy link
Contributor

@hector-vido: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Feb 15, 2025
Copy link
Contributor

openshift-ci bot commented Feb 15, 2025

@gustavolira: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 64abca7 into openshift:master Feb 15, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. rehearsals-ack Signifies that rehearsal jobs have been acknowledged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants