Skip to content

[federation] Add OIDC federation configuration on OSP17#3840

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
afaranha:oidc_adoption
Jul 1, 2026
Merged

[federation] Add OIDC federation configuration on OSP17#3840
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
afaranha:oidc_adoption

Conversation

@afaranha

@afaranha afaranha commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Add Ansible playbooks and role tasks to configure OSP 17.1 for OIDC federation, enabling adoption testing with Keycloak as the identity provider.

Changes:

  • Add federation-osp17-pre-deploy hook playbook that renders the Heat environment file and configures Keystone for OIDC
  • Add run_osp17_oidc_setup.yml tasks to create the federation domain, identity provider, mapping, group, project and protocol on OSP 17.1
  • Add enable-federation-openidc.yaml.j2 Heat template for OIDC params
  • Refactor Keycloak operator deployment to use kubernetes.core.k8s instead of oc apply with a template file
  • Make operator namespace configurable via cifmw_federation_operator_namespace variable
  • Add passthrough Route for Keycloak and grant privileged SCC
  • Conditionally include the OIDC env file in overcloud deploy

Original Patch: #3307

Depends-On: openstack-k8s-operators/data-plane-adoption#1418
Jira: https://issues.redhat.com/browse/OSPRH-19960

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/26034762f48a48fca288e7e854787c5e

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 06m 43s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 24m 05s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 34m 23s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 52m 00s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 06s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 22s
cifmw-pod-pre-commit FAILURE in 8m 02s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 32s
✔️ cifmw-molecule-federation SUCCESS in 2m 12s

@afaranha afaranha force-pushed the oidc_adoption branch 3 times, most recently from 9a25df6 to 8a6201f Compare April 9, 2026 11:05
@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/dae0701d12884153b6f006c8aa172cf8

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 21m 31s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 27m 13s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 45m 11s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 07m 06s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 19s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 11m 17s
cifmw-pod-pre-commit FAILURE in 6m 59s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 21s
✔️ cifmw-molecule-federation SUCCESS in 2m 04s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/102768d2db2046618e2df2abea191087

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 17m 13s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 23m 02s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 31m 30s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 02m 25s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 48s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 09s
cifmw-pod-pre-commit FAILURE in 7m 36s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 31s
✔️ cifmw-molecule-federation SUCCESS in 2m 17s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/6b63548911024fcca24385452213899b

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 10m 31s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 26m 09s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 34m 26s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 58m 23s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 51s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 16s
cifmw-pod-pre-commit FAILURE in 6m 42s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 38s
✔️ cifmw-molecule-federation SUCCESS in 2m 05s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/81d4d0c7435840dc9203c85d5a6f872f

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 45m 21s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 27m 18s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 32m 54s
cifmw-crc-podified-edpm-baremetal-minor-update RETRY_LIMIT in 27m 04s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 29s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 4m 30s
cifmw-pod-pre-commit FAILURE in 9m 33s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 35s
✔️ cifmw-molecule-federation SUCCESS in 2m 05s

@afaranha

Copy link
Copy Markdown
Contributor Author

recheck

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/53bfedc8e1734c589c90d309603d550a

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 20m 30s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 25m 57s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 28m 50s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 07m 06s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 43s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 39s
cifmw-pod-pre-commit FAILURE in 8m 22s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 3m 32s
✔️ cifmw-molecule-federation SUCCESS in 1m 36s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/fac472f1014a4d1f8cce26c1ca856514

openstack-k8s-operators-content-provider RETRY_LIMIT in 2m 42s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal-minor-update SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
cifmw-pod-zuul-files FAILURE in 9m 48s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 4m 34s
cifmw-pod-pre-commit FAILURE in 4m 31s
cifmw-molecule-adoption_osp_deploy RETRY_LIMIT in 2m 10s
✔️ cifmw-molecule-federation SUCCESS in 2m 14s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/3f61f7b075e64a3a907272d315f0f8da

openstack-k8s-operators-content-provider RETRY_LIMIT in 2m 56s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal-minor-update SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
cifmw-pod-zuul-files FAILURE in 5m 11s
✔️ noop SUCCESS in 0s
cifmw-pod-ansible-test FAILURE in 4m 52s
cifmw-pod-pre-commit FAILURE in 4m 45s
cifmw-molecule-adoption_osp_deploy RETRY_LIMIT in 2m 30s
✔️ cifmw-molecule-federation SUCCESS in 2m 01s

@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/2e78e38282b64fe48a7163bb9d24d466

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 24m 48s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 25m 37s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 27m 18s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 58m 55s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 43s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 59s
cifmw-pod-pre-commit FAILURE in 8m 07s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 4m 19s
✔️ cifmw-molecule-federation SUCCESS in 1m 59s

@xek xek left a comment

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.

The cifmw-pod-pre-commit failure is caused by missing trailing newlines in three files added by this PR — not by any pre-existing issue.

The end-of-file-fixer hook reports:

Fixing roles/federation/tasks/run_osp17_oidc_setup.yml
Fixing hooks/playbooks/federation-osp17-post-deploy.yml
Fixing roles/federation/templates/enable-federation-openidc.yaml.j2

Fix: run pre-commit run --all-files locally, commit the changes, and push. That will add the missing newlines and the check will pass.

@xek xek left a comment

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.

The cifmw-pod-pre-commit failure is caused by missing trailing newlines in three files added by this PR — not a pre-existing issue.

The end-of-file-fixer hook reports:

Fixing roles/federation/tasks/run_osp17_oidc_setup.yml
Fixing hooks/playbooks/federation-osp17-post-deploy.yml
Fixing roles/federation/templates/enable-federation-openidc.yaml.j2

Fix: run pre-commit run --all-files locally, commit the result, and push.

@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown

This PR is stale because it has been for over 15 days with no activity.
Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions Bot added the Stale label May 9, 2026
@michburk

Copy link
Copy Markdown
Contributor

I see there's a testproject in the linked jira's comments, but I don't see this pr mentioned as a Depends-On:
Sorry if I'm just missing something, but has this been tested in a testproject?

@jagee jagee left a comment

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.

LGTM

Comment thread roles/federation/templates/enable-federation-openidc.yaml.j2
@d34dh0r53

Copy link
Copy Markdown

/approve

@d34dh0r53

Copy link
Copy Markdown

/lgtm

@Deydra71

Copy link
Copy Markdown

Hey @Valkyrie00! Can we please have this approved?

@jistr jistr left a comment

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.

/lgtm

@jistr

jistr commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Not sure if i can approve but will try
/approve

@Deydra71

Copy link
Copy Markdown

/lgtm

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/322cbab156914d9a88d6dd8cc11bbfda

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 53m 17s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 33m 11s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 37m 41s
cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000130825 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 08s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 04s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 31s
✔️ cifmw-molecule-adoption_osp_deploy SUCCESS in 4m 42s
✔️ cifmw-molecule-federation SUCCESS in 2m 06s

@afaranha

Copy link
Copy Markdown
Contributor Author

recheck

Add Ansible playbooks and role tasks to configure OSP 17.1 for OIDC
federation, enabling adoption testing with Keycloak as the identity
provider.

Changes:
- Add federation-osp17-pre-deploy hook playbook that renders the
  Heat environment file and configures Keystone for OIDC
- Add run_osp17_oidc_setup.yml tasks to create the federation domain,
  identity provider, mapping, group, project and protocol on OSP 17.1
- Add enable-federation-openidc.yaml.j2 Heat template for OIDC params
- Refactor Keycloak operator deployment to use kubernetes.core.k8s
  instead of oc apply with a template file
- Make operator namespace configurable via
  cifmw_federation_operator_namespace variable
- Add passthrough Route for Keycloak and grant privileged SCC
- Conditionally include the OIDC env file in overcloud deploy

Jira: https://issues.redhat.com/browse/OSPRH-19960
Signed-off-by: Andre Aranha <afariasa@redhat.com>
Co-authored-by: Grzegorz Grasza <xek@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

@evallesp evallesp left a comment

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.

/lgtm

@Valkyrie00

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: d34dh0r53, jistr, Valkyrie00

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

The pull request process is described 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

@afaranha

afaranha commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/cherry-pick 18.0-fr6

@openshift-cherrypick-robot

Copy link
Copy Markdown

@afaranha: new pull request created: #4025

Details

In response to this:

/cherry-pick 18.0-fr6

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.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.