Skip to content

CNTRLPLANE-2545: Add ExternalOIDCWithUpstreamParity Prow jobs#77059

Open
xingxingxia wants to merge 2 commits intoopenshift:mainfrom
xingxingxia:ExternalOIDCWithUpstreamParity-jobs
Open

CNTRLPLANE-2545: Add ExternalOIDCWithUpstreamParity Prow jobs#77059
xingxingxia wants to merge 2 commits intoopenshift:mainfrom
xingxingxia:ExternalOIDCWithUpstreamParity-jobs

Conversation

@xingxingxia
Copy link
Copy Markdown
Contributor

Add ExternalOIDCWithUpstreamParity Prow jobs. I don't think we need to add all 8 platforms: aws, azure, gcp, vsphere, bm-ipv4, bm-ipv6, bm-dualstack, sno, because the feature itself is inherently not much related to every platform. So, to avoid too many jobs, I only select below representatives:
aws
vsphere
bm-ipv6
sno.

Additionally, I added TEST_FOCUS, so that we need not add TEST_SKIPS: FG2|FG3 for FG1 tests, TEST_SKIPS: FG1|FG3 for FG2 tests, TEST_SKIPS: FG1|FG2 for FG3 tests where the FG names are long.
CC @ShazaAldawamneh , @everettraven

@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 Mar 30, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 30, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@xingxingxia xingxingxia marked this pull request as ready for review March 30, 2026 09:01
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 30, 2026
@openshift-ci openshift-ci bot requested review from dgoodwin and ibihim March 30, 2026 09:08
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 30, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: xingxingxia
Once this PR has been reviewed and has the lgtm label, please assign liouk, stbenjam for approval. 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

@xingxingxia xingxingxia changed the title Add ExternalOIDCWithUpstreamParity Prow jobs CNTRLPLANE-2545: Add ExternalOIDCWithUpstreamParity Prow jobs Mar 30, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 30, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Mar 30, 2026

@xingxingxia: This pull request references CNTRLPLANE-2545 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add ExternalOIDCWithUpstreamParity Prow jobs. I don't think we need to add all 8 platforms: aws, azure, gcp, vsphere, bm-ipv4, bm-ipv6, bm-dualstack, sno, because the feature itself is inherently not much related to every platform. So, to avoid too many jobs, I only select below representatives:
aws
vsphere
bm-ipv6
sno.

Additionally, I added TEST_FOCUS, so that we need not add TEST_SKIPS: FG2|FG3 for FG1 tests, TEST_SKIPS: FG1|FG3 for FG2 tests, TEST_SKIPS: FG1|FG2 for FG3 tests where the FG names are long.
CC @ShazaAldawamneh , @everettraven

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 openshift-eng/jira-lifecycle-plugin repository.

@xingxingxia
Copy link
Copy Markdown
Contributor Author

/payload-job-with-prs periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-aws-external-oidc-upstream-parity openshift/origin#30906

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 30, 2026

@xingxingxia: the repo openshift/release does not contribute to the OpenShift official images, or the base branch is not currently having images promoted

@xingxingxia
Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@xingxingxia
Copy link
Copy Markdown
Contributor Author

/retest

@ShazaAldawamneh
Copy link
Copy Markdown

this lgtm but I will leave it to @everettraven to give it a look and put the label.

@everettraven
Copy link
Copy Markdown
Contributor

I don't think we need to add all 8 platforms

We do. Feature promotion criteria is that we have automated regression testing on all supported platforms.

Copy link
Copy Markdown
Contributor

@everettraven everettraven left a comment

Choose a reason for hiding this comment

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

A few comments, but overall this seems to be on the right track.

Comment on lines +44 to +45
TEST_SKIPS: \[OCPFeatureGate:ExternalOIDCWithUIDAndExtraClaimMappings\]\|\[OCPFeatureGate:ExternalOIDC\]
reverting to IntegratedOAuth
TEST_FOCUS: \[OCPFeatureGate:ExternalOIDC\]
TEST_SKIPS: \[OCPFeatureGate:ExternalOIDC\] reverting to IntegratedOAuth
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think that this is a good improvement to make, but what do you think about making that a separate PR to keep this one tightly scoped to adding the jobs needed for testing the feature in question?

By making this change as part of this PR, the impact of this change is significantly larger and requires broader review and is IMO scope creep for this PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@everettraven , OK, I raise a separate #77530

TEST_SUITE: openshift/auth/external-oidc
workflow: openshift-e2e-aws
- as: e2e-vsphere-external-oidc-upstream-parity
cron: 42 13 * * *
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

More for future reference for myself, how did you decide the cron configuration here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@everettraven , AI does it :)
We also have https://github.com/openshift/release/blob/main/ci-operator/config/openshift/openshift-tests-private/README.md#job-frequency :

$ ci-operator/config/openshift/openshift-tests-private/tools/generate-cron-entry.sh <test-name>-f<frequency-day> ci-operator/config/....the_path_to__periodics.yaml

E.g.:
$ ci-operator/config/openshift/openshift-tests-private/tools/generate-cron-entry.sh e2e-vsphere-external-oidc-upstream-parity-f1 ci-operator/config/openshift/cluster-authentication-operator/openshift-cluster-authentication-operator-release-4.22__periodics.yaml
cron: 49 12 * * *

FEATURE_SET: TechPreviewNoUpgrade
OPENSHIFT_SKIP_EXTERNAL_TESTS: "True"
TEST_ARGS: --disable-monitor=legacy-cvo-invariants,legacy-test-framework-invariants
TEST_FOCUS: \[OCPFeatureGate:ExternalOIDCWithUpstreamParity\]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just a focus itself may not be enough. We may need to shard this further until we improve the runtime of the tests for this feature overall.

Generally, these tests can take up to ~1hr each (worst case scenario) and it looks like openshift/origin#30906 will introduce 8 tests once all are enabled. That means worst case scenario this test job takes 8 hours to run which exceeds the default 4 hour limit. IIRC there was an issue with one of the platforms that made it so that 4 hour runs were the practical limit here and so we decided to limit to 4-5 tests per job to stay roughly within that 4 hour limit on a worst case but successful run.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@everettraven yes, this was my worry too. I merged 4 negative tests to 2 tests respectively in https://github.com/openshift/origin/pull/30906/changes#r3050790964 and https://github.com/openshift/origin/pull/30906/changes#r3050795626 which looks reasonable.

@xingxingxia xingxingxia force-pushed the ExternalOIDCWithUpstreamParity-jobs branch from b5abcdb to 10d7893 Compare April 8, 2026 10:57
Comment on lines +7 to +15
# These lines are added for pj-rehearse with unmerged release PR + origin PR
# TODO: remove these lines
echo "Checking custom test binary for pj-rehearse with unmerged release PR + origin PR"
mkdir -p /tmp/custom-bin
oc image extract --path /usr/bin/openshift-tests:/tmp/custom-bin/ quay.io/xxia/tests:latest
chmod a+x /tmp/custom-bin/openshift-tests
export PATH=/tmp/custom-bin:$PATH
which openshift-tests

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@everettraven , @ShazaAldawamneh , as Slack sync, I use this workaround to run pj-reherase. The workaround uses openshift-tests of quay.io/xxia/tests built from the unmerged origin PR. Once pj-reherase passes, will remove it.

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@xingxingxia: 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-network-tools-main-okd-scos-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-main-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-5.0-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.23-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.22-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.21-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.21-okd-scos-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.20-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.19-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.18-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.17-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.16-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.15-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.14-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.13-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.12-e2e-aws-ovn openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.11-e2e-aws openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.10-e2e-aws openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.9-e2e-aws openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.8-e2e-aws openshift/network-tools presubmit Registry content changed
pull-ci-openshift-network-tools-release-4.7-e2e-aws openshift/network-tools presubmit Registry content changed
pull-ci-openshift-oc-main-e2e-metal-ipi-ovn-ipv6 openshift/oc presubmit Registry content changed
pull-ci-openshift-oc-release-5.0-e2e-metal-ipi-ovn-ipv6 openshift/oc presubmit Registry content changed
pull-ci-openshift-oc-release-4.23-e2e-metal-ipi-ovn-ipv6 openshift/oc presubmit Registry content changed
pull-ci-openshift-oc-release-4.22-e2e-metal-ipi-ovn-ipv6 openshift/oc presubmit Registry content changed

A total of 19647 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.

@xingxingxia
Copy link
Copy Markdown
Contributor Author

Using this solution #77059 (comment) , running some pj-rehearse jobs first:
/pj-rehearse periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-aws-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-aws-sno-external-oidc-upstream-parity

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

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

@xingxingxia
Copy link
Copy Markdown
Contributor Author

https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_release/77059/rehearse-77059-periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-aws-sno-external-oidc-upstream-parity/2041835938388119552 passed:

Test started today at 7:12 PM passed after 1h58m19s.

: [sig-auth][Suite:openshift/auth/external-oidc][Serial][Slow][Disruptive] [OCPFeatureGate:ExternalOIDCWithUpstreamParity] with CEL expression-based claim mappings should authenticate with CEL expression claim mappings (with omitted prefix configurations), userValidationRules, and claimValidationRules 	8m22s
: [sig-auth][Suite:openshift/auth/external-oidc][Serial][Slow][Disruptive] [OCPFeatureGate:ExternalOIDCWithUpstreamParity] with CEL expression-based claim mappings should reject when username or groups expression produces value failing userValidationRules 	9m3s
: [sig-auth][Suite:openshift/auth/external-oidc][Serial][Slow][Disruptive] [OCPFeatureGate:ExternalOIDCWithUpstreamParity] with claim-based mappings, discoveryURL, userValidationRules, and CEL claimValidationRules should authenticate successfully with custom discoveryURL, AND-logic userValidationRules, and mixed-type claimValidationRules 	9m42s
: [sig-auth][Suite:openshift/auth/external-oidc][Serial][Slow][Disruptive] [OCPFeatureGate:ExternalOIDCWithUpstreamParity] with claim-based mappings, discoveryURL, userValidationRules, and CEL claimValidationRules should reject tokens when userValidationRules or CEL claimValidationRules evaluate to false 	10m12s

@ShazaAldawamneh , @everettraven , hope this gives confidence. So running pj-rehearse jobs for remaining ones:

/pj-rehearse periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-azure-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-gcp-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-metal-ovn-dualstack-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-metal-ovn-ipv4-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-metal-ovn-ipv6-external-oidc-upstream-parity periodic-ci-openshift-cluster-authentication-operator-release-4.22-periodics-e2e-vsphere-external-oidc-upstream-parity

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

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

TEST_SUITE: openshift/auth/external-oidc
workflow: openshift-e2e-aws-single-node
- as: e2e-aws-external-oidc-upstream-parity
interval: 168h
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm quite surprised to see these set to 168h intervals. Do you know if this is because we haven't officially branched yet?

I don't think we are going to make promotion for this feature in 4.22 so we will want to run these daily for 4.23/5.0 as well to gather enough signal for promotion then, but maybe that needs to be a follow up after branching?

Copy link
Copy Markdown
Contributor

@everettraven everettraven left a comment

Choose a reason for hiding this comment

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

Aside from the need to remove the temporary e2e image reference, this LGTM.

Adding a hold until we get that temporary workaround removed.

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 8, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 8, 2026

@xingxingxia: 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants