Skip to content

Add pre_operator_install hook and optional openstack-operator catalog… - #4201

Draft
arxcruz wants to merge 1 commit into
openstack-k8s-operators:mainfrom
arxcruz:rhoso19-konflux-bundle-catalog-skip
Draft

arxcruz wants to merge 1 commit into
openstack-k8s-operators:mainfrom
arxcruz:rhoso19-konflux-bundle-catalog-skip

Conversation

@arxcruz

@arxcruz arxcruz commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

RHOSO 19 content is currently published by Konflux only as a bundle image, not as an opm/FBC index, so it cannot be installed through the existing CatalogSource(image: ...) path. This adds the pieces needed to install it out of band instead (e.g. via operator-sdk run bundle) while leaving the rest of the OLM/MetalLB/NMState/cert-manager flow in install_operators.yml untouched:

  • A new pre_operator_install hook point in deploy_architecture.yml, firing right before the OSP operator install stage, following the same run_hook pattern already used elsewhere in this role.
  • cifmw_kustomize_deploy_skip_openstack_operator_catalog (default false): when true, strips just the templated openstack-operator-index CatalogSource and openstack-operator Subscription from the generated OLM manifest before it's applied, so an out-of-band install doesn't fight a broken/placeholder one.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@openshift-ci

openshift-ci Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign rebtoor 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

@arxcruz
arxcruz marked this pull request as draft September 23, 2026 09:59
@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/2684f2816aa84abf9a238c9b36a9f485

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 43m 13s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 25m 56s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 37m 28s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000211223 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 20s
❌ openstack-k8s-operators-content-provider-bootc FAILURE in 18m 41s
⚠️ cifmw-crc-podified-edpm-baremetal-bootc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider-bootc
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 04m 37s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 04s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 24s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 43s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 20s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 06s

@arxcruz
arxcruz force-pushed the rhoso19-konflux-bundle-catalog-skip branch from 61b7f11 to d3899f3 Compare September 26, 2026 09:26
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/ebf30ac958a74c36a796f019857d2ee2

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 21m 42s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 23m 18s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 36m 30s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 59m 27s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 40s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 4h 07m 52s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 29m 25s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 02m 04s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 13s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 34s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 02s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 21s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 11s

@arxcruz
arxcruz force-pushed the rhoso19-konflux-bundle-catalog-skip branch from d3899f3 to b716867 Compare September 28, 2026 11:20
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/895e6aa88cb04c5f8ee7ae1c97b40641

✔️ openstack-k8s-operators-content-provider SUCCESS in 8h 06m 36s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 21m 52s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 37m 10s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 03m 21s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 26s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 6h 23m 21s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 25m 58s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 03m 22s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 11s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 16s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 44s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 26s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 5m 56s
✔️ cifmw-molecule-reproducer SUCCESS in 14m 54s

@arxcruz
arxcruz force-pushed the rhoso19-konflux-bundle-catalog-skip branch from b716867 to c0a41d1 Compare October 7, 2026 09:34
@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/4f016a8f2b2c464bb4948c0c34328bae

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 32m 47s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 17m 51s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 18m 30s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 31m 00s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 53m 21s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 09s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 13m 28s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 27m 52s
❌ adoption-standalone-to-crc-ceph-provider FAILURE in 1h 57m 50s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 21s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 26s
✔️ cifmw-architecture-validate-hci SUCCESS in 9m 42s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 14s
❌ cifmw-molecule-env_op_images TIMED_OUT in 31m 11s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 9m 01s
✔️ cifmw-molecule-reproducer SUCCESS in 18m 21s

… skip

RHOSO 19 content is currently published by Konflux only as a bundle
image, not as an opm/FBC index, so it cannot be installed through the
existing CatalogSource(image: ...) path. This adds the pieces needed
to install it out of band instead (e.g. via `operator-sdk run bundle`)
while leaving the rest of the OLM/MetalLB/NMState/cert-manager flow in
install_operators.yml untouched:

- A new pre_operator_install hook point in deploy_architecture.yml,
  firing right before the OSP operator install stage, following the
  same run_hook pattern already used elsewhere in this role.
- cifmw_kustomize_deploy_skip_openstack_operator_catalog (default
  false): when true, strips just the templated
  openstack-operator-index CatalogSource and openstack-operator
  Subscription from the generated OLM manifest before it's applied,
  so an out-of-band install doesn't fight a broken/placeholder one.
- The existing "wait for Subscription"/"wait for InstallPlan" tasks
  further down in install_operators.yml also skip when this var is
  true: they look for the openstack-operator Subscription inside this
  kustomize apply's own result set, which no longer exists there once
  it's stripped out, causing an undefined-variable failure ("No first
  item, sequence was empty"). The out-of-band installer is responsible
  for waiting on its own Subscription/InstallPlan instead.

A downstream hook (ci-framework-jobs' bundle_operator_install.yaml)
needs a QE-only registry credential file that a Zuul pre-run play
writes to /var/tmp/qe-secrets on the original controller node. Once
the reproducer role hands execution off to controller-0 (the CRC node
it provisions), that node has no network path back to the original
controller, so the file becomes permanently unreachable from any later
hook or role. Add cifmw_reproducer_sync_qe_secrets (default false) to
the reproducer role: when true, it syncs a QE secrets directory onto
controller-0 while still running on the original controller, at the
same point push_code.yml already pushes repositories there - the last
point where that's possible.

Bundle installs also have no openstack-operator-index pod, which
env_op_images' log collection reads OPENSTACK_IMG from; its "first"
lookup then fails and, since the role runs inside an include_role,
aborts the rest of log collection. Add
cifmw_env_op_images_allow_missing_operator_index (default false): when
true, that lookup is skipped instead of failing. The value is already
optional where it is consumed (`| default({})`).

Signed-off-by: Arx Cruz <arxcruz@redhat.com>
@arxcruz
arxcruz force-pushed the rhoso19-konflux-bundle-catalog-skip branch from c0a41d1 to 618b513 Compare October 8, 2026 09:58
@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/1455b39a27344818bb3cf4c14fa5cda3

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 42m 24s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 19m 05s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 20m 16s
❌ cifmw-crc-podified-edpm-baremetal NODE_FAILURE Node(set) request 099-0000228613 failed in 0s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000228614 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 33s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 27m 07s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 24m 42s
❌ adoption-standalone-to-crc-ceph-provider FAILURE in 1h 56m 24s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 56s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 27s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 56s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 19s
✔️ cifmw-molecule-env_op_images SUCCESS in 25m 19s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 5m 56s
✔️ cifmw-molecule-reproducer SUCCESS in 14m 28s

This branch has not been deployed

No deployments
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.

1 participant