Skip to content

Conversation

@eshulman2
Copy link

Add skip_if_only_changed pattern to OpenStack e2e jobs to prevent unnecessary job execution when only documentation files are modified. This affects e2e-openstack-ovn, e2e-openstack-proxy, e2e-openstack-nfv-intel, and openstack-manifests jobs across all active release branches (4.12-4.22 and main).

Also remove docs/user/openstack/install_upi.md from run_if_changed patterns in e2e-openstack-dualstack-upi jobs to avoid conflicts with the skip_if_only_changed filter.

assited-by claude

@openshift-ci-robot
Copy link
Contributor

@eshulman2, 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 4 errors:

 * tests[35]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[37]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[38]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[42]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[34]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[37]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[38]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[42]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[34]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[36]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[37]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[41]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[50]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[53]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[54]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[58]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[38]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[40]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[41]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[45]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[41]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[44]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[45]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[49]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[44]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[47]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[48]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[52]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
, invalid ci-operator config: configuration has 4 errors:

 * tests[47]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[50]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[51]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
 * tests[55]: `run_if_changed` and `skip_if_only_changed` are mutually exclusive
]
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 list to get an up-to-date list of affected jobs
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.

@stephenfin
Copy link
Contributor

/assign stephenfin

@eshulman2 eshulman2 force-pushed the openstack-skip-docs branch from 3c380f6 to b8e4c53 Compare December 8, 2025 20:12
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 9, 2025
@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Dec 9, 2025
@eshulman2 eshulman2 force-pushed the openstack-skip-docs branch from a76ad18 to ff28d5f Compare December 9, 2025 09:59
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 9, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 9, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: eshulman2
Once this PR has been reviewed and has the lgtm label, please ask for approval from stephenfin. For more information see the Code Review Process.

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

Details 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

@openshift-ci-robot openshift-ci-robot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Dec 9, 2025
@eshulman2 eshulman2 force-pushed the openstack-skip-docs branch from ff28d5f to 4567435 Compare December 9, 2025 10:32
Copy link
Member

@mandre mandre left a comment

Choose a reason for hiding this comment

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

IMO, this brings significant risk of jobs not running when they should and I'm not convinced it's worth the risk. There are only a few docs files that have openstack in their path, and they don't change that often.

workflow: baremetalds-e2e-virtualmedia
- as: e2e-openstack-ovn
run_if_changed: openstack|(^data/.*/rhcos\.json)
run_if_changed: (^(pkg|data|images|upi|cluster-api|vendor)/.*openstack)|(^data/.*/rhcos\.json)
Copy link
Member

Choose a reason for hiding this comment

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

I understand the intent, but aren't we at risk of NOT running the CI on important changes if the structure of the installer changes?

Copy link
Author

Choose a reason for hiding this comment

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

I agree this is a risk we need to be aware of. IMO this is a risk we need to decide if we want to take. I would assume a major structure change would lead to re-working some of the CI in any case but I agree this is something we need to take into account when considering the pros and cons of this change.

Copy link
Member

Choose a reason for hiding this comment

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

I'm leaning towards rejecting the change because the gain is minimal, for the rare changes to openstack docs, and introduces a risk of missing CI feedback on important changes. I'll let @stephenfin weight in.

Add skip_if_only_changed pattern to OpenStack e2e jobs to prevent
unnecessary job execution when only documentation files are modified.
This affects e2e-openstack-ovn, e2e-openstack-proxy,
e2e-openstack-nfv-intel, and openstack-manifests jobs across all
active release branches (4.12-4.22 and main).

Also remove docs/user/openstack/install_upi.md from run_if_changed
patterns in e2e-openstack-dualstack-upi jobs to avoid conflicts
with the skip_if_only_changed filter.

assited-by claude
@eshulman2 eshulman2 force-pushed the openstack-skip-docs branch from 4567435 to 540138c Compare December 9, 2025 15:28
@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@eshulman2: 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-openshift-installer-main-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-main-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-main-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-main-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.21-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.21-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.21-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.21-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.17-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.17-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.17-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.17-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.22-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.22-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.22-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.22-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.18-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.18-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.18-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.18-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.15-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.15-e2e-openstack-ovn openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.15-e2e-openstack-proxy openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.15-openstack-manifests openshift/installer presubmit Ci-operator config changed
pull-ci-openshift-installer-release-4.19-e2e-openstack-nfv-intel openshift/installer presubmit Ci-operator config changed

A total of 41 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 list to get an up-to-date list of affected jobs
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
Copy link
Contributor

openshift-ci bot commented Dec 9, 2025

@eshulman2: all tests passed!

Full PR test history. Your PR dashboard.

Details

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.

@pierreprinetti
Copy link
Member

pierreprinetti commented Dec 9, 2025

I'd also mention that the UPI docs contain code that is tested in the CI. The UPI CI job literally executes the UPI documentation.

@eshulman2
Copy link
Author

I'd also mention that the UPI docs contain code that is tested in the CI. The UPI CI job literally executes the UPI documentation.

Yes I discussed it with @mandre on slack and changed it back

@eshulman2 eshulman2 marked this pull request as draft December 11, 2025 16:14
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants