Skip to content

(multiple) Randomize osp-secrets.env default passwords - #4114

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
abays:random_arch_secrets
Sep 8, 2026
Merged

openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
abays:random_arch_secrets

Conversation

@abays

@abays abays commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

The architecture repo ships osp-secrets.env with hardcoded default passwords that end up in the osp-secret K8s Secret via kustomize secretGenerator. This is a security risk for any environment that deploys using these defaults.

Add a new randomize_secrets.yml task file to the kustomize_deploy role that rewrites values in osp-secrets.env with randomly generated replacements after the architecture repo is cloned but before oc kustomize runs. The task uses a three-tier resolution per key: live cluster secret, local cache, then fresh generation.

Value format handling:

  • Hex-encoded keys (e.g. HeatAuthEncryptionKey): random hex of the same length
  • Skipped keys (e.g. BarbicanSimpleCryptoKEK): preserved as-is
  • Plain passwords (everything else): 20-char alphanumeric string

The task is wired into both cifmw_setup/deploy_architecture.yml and the deprecated 06-deploy-architecture.yml playbook, running right after check_requirements and before reduce_ocp_cluster.

@abays

abays commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

This complements #4110. They both attack the same problem for different secret keys in different ways, so perhaps we could converge on a preferred approach.

@abays
abays force-pushed the random_arch_secrets branch from 72803ce to b947518 Compare August 17, 2026 18:45
@abays abays changed the title [kustomize_deploy] Randomize osp-secrets.env default passwords (multiple) Randomize osp-secrets.env default passwords Aug 17, 2026
@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/77926fcac6684226a9f204ff9cf18c78

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 39m 16s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 31m 12s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 49m 23s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 26m 48s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 04s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 1h 00m 15s
❌ cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000172642 failed in 0s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 17m 19s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 08s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 08s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 25s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 15s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 7m 08s

@abays

abays commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/06ac05bedaf048c79a59952a3eb26606

✔️ openstack-k8s-operators-content-provider SUCCESS in 6h 23m 08s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 36m 17s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 53m 05s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 45m 46s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 10s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 5h 12m 32s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 2h 02m 53s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 19m 44s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 16s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 02s
✔️ cifmw-architecture-validate-hci SUCCESS in 11m 24s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 5m 04s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 13m 23s

@abays

abays commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/347d2688e51842838487e0d45dba0828

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 44m 07s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 34m 35s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 52m 39s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 21m 08s
✔️ cifmw-pod-zuul-files SUCCESS in 7m 31s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 50m 04s
❌ cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000173771 failed in 0s
❌ adoption-standalone-to-crc-ceph-provider NODE_FAILURE Node(set) request 099-0000173710 failed in 0s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 21s
✔️ cifmw-pod-pre-commit SUCCESS in 11m 58s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 12s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 29s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 47s

@abays

abays commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/a07050e6dd5c4d91b7e66ad5e0b5ab14

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 30m 27s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 2h 06m 00s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 57m 14s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 1h 58m 36s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 29s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 20m 59s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 40m 59s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 15m 22s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 49s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 24s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 59s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 22s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 18s

@abays

abays commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/aa708ff3e0d148d99dc71e6ea3b52e04

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 05m 54s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 43m 56s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 2h 10m 20s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000174684 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 10m 52s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 49m 47s
❌ cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000174714 failed in 0s
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 22m 02s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 14m 23s
✔️ cifmw-pod-pre-commit SUCCESS in 14m 36s
✔️ cifmw-architecture-validate-hci SUCCESS in 8m 10s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 59s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 10m 23s

@abays

abays commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/118576c3ae6a4647bead89180a324d29

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 42m 38s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 39m 10s
❌ cifmw-crc-podified-edpm-baremetal NODE_FAILURE Node(set) request 099-0000175169 failed in 0s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 34m 31s
✔️ cifmw-pod-zuul-files SUCCESS in 7m 05s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 49m 03s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 49m 34s
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 21m 33s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 56s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 59s
✔️ cifmw-architecture-validate-hci SUCCESS in 7m 00s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 3m 22s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 8m 50s

@abays

abays commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/be29db29ab554de48b0820ba403ff338

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 48m 27s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 36m 55s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 52m 44s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 32m 16s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 23s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 22m 51s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 42m 40s
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 17m 17s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 22s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 06s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 58s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 40s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 7m 23s

@abays

abays commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/d0d49efd2c474e66bf6cb01599745101

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 14m 56s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 57m 45s
❌ cifmw-crc-podified-edpm-baremetal NODE_FAILURE Node(set) request 099-0000175957 failed in 0s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000175958 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 17s
❌ openstack-k8s-operators-content-provider-bootc TIMED_OUT in 46m 42s
⚠️ cifmw-crc-podified-edpm-baremetal-bootc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider-bootc
❌ adoption-standalone-to-crc-ceph-provider NODE_FAILURE Node(set) request 099-0000175959 failed in 0s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 59s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 01s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 20s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 2m 42s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 7m 16s

@abays

abays commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/8a09753e5ce24945854cce5d5b52ed6b

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 44m 29s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 41m 19s
❌ cifmw-crc-podified-edpm-baremetal FAILURE in 53m 15s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 29m 55s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 44s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 35m 29s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 47m 39s
❌ adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 22m 54s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 45s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 19s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 38s
✔️ cifmw-molecule-cifmw_setup SUCCESS in 3m 17s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 13s

@abays

abays commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

recheck

backup: true
content: "{{ _osp_secrets_randomized }}\n"
dest: "{{ _osp_secrets_path }}"
mode: "0644"

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.

(non-blockign) question: As this is required I think I prefer the other approach, but if we tweak permissions to 0600 and we removed (if possible) backup: true, I think we should also go with this!

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.

Alright, then let's get #4110 as we want it and merged first. Then I will rework this PR to build on top of that.

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.

So that's now merged.
Adding here WIP label, does this makes sense @abays ?

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.

Yes, makes total sense. I will look into reworking this.

@abays

abays commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

@abays: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
Test name Commit Details Required Rerun command
ci/prow/images fed937a link true /test images

Full PR test history. Your PR dashboard.
Details

{  error occurred handling build ci-framework-image-amd64: the build ci-framework-image-amd64 failed after 4m35s with reason DockerBuildFailed: Dockerfile build strategy has failed.}

/test images

@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/a5ab1243a56e4b669162d1bfd99c5920

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 50m 02s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 40m 01s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 57m 24s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 36m 06s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 39s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 20m 49s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 43m 54s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 08s
❌ cifmw-pod-pre-commit FAILURE in 9m 05s
✔️ cifmw-architecture-validate-hci SUCCESS in 5m 44s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 26s

Extend the post-kustomize osp-secret manifest injection (introduced for
BarbicanSimpleCryptoKEK) to randomize all remaining password keys before
`oc apply`. After `kustomize build` renders the manifest, the Python
helper `osp_secret_manifest.py` replaces every osp-secret data value
with a cryptographically random one, unless the key already exists in
the live cluster secret or is in the skip list.

This replaces the earlier pre-kustomize `.env` rewriting approach with a
single post-kustomize pass that operates on the rendered YAML, aligning
with the pattern established for BarbicanSimpleCryptoKEK.

Key handling:
- Plain passwords: 20-char alphanumeric via `secrets` module
- HeatAuthEncryptionKey: random hex (configurable via `special_keys`)
- BarbicanSimpleCryptoKEK: skipped (handled by its dedicated Fernet block)
- Cluster values: preserved when the live osp-secret already exists

Also hardens the `has` check that gates this logic: previously, any
error while loading/parsing the kustomize manifest (missing file,
malformed YAML, etc.) exited with the same code used for "no osp-secret
present", so `inject_osp_secret_keys.yml` would silently skip
randomization instead of failing. `osp_secret_manifest.py has` now
exits 2 on such errors (0 = found, 1 = not found), and the task fails
loudly when that happens.

Both the BarbicanSimpleCryptoKEK injection and the general randomizer
write plaintext secrets to a temporary JSON file that is then passed to
`osp_secret_manifest.py`. Both temp-file lifecycles now run inside a
block/always so the file is removed even if the intervening command
fails, instead of leaving plaintext secrets on disk.

Signed-off-by: Andrew Bays <abays@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@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/b42b0a722ecd4f2c9f116150c1d32d7b

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 11m 48s
❌ podified-multinode-edpm-deployment-crc NODE_FAILURE Node(set) request 099-0000191534 failed in 0s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 43m 37s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000191536 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 36s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 5h 09m 17s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 57m 43s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 24s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 32s
✔️ cifmw-architecture-validate-hci SUCCESS in 7m 42s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 8m 04s

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/test images

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@qodo-code-review

qodo-code-review Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

PR-Agent: could not find a component named images in a supported language in this PR.

@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/e8bd9de1069c41bda211a0ffb1352743

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 23m 29s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 32m 32s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 56m 11s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 33m 35s
✔️ cifmw-pod-zuul-files SUCCESS in 7m 10s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 1h 39m 25s
❌ cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000192216 failed in 0s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 11m 14s
✔️ cifmw-pod-pre-commit SUCCESS in 11m 00s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 57s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 7m 29s

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@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/fa1ac8be85a54dc28307a75fe51214bf

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 50m 35s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 28m 20s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 54m 24s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 29m 33s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 11s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 57m 47s
❌ cifmw-crc-podified-edpm-baremetal-bootc NODE_FAILURE Node(set) request 099-0000192370 failed in 0s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 22s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 18s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 16s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 37s

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/test images

@qodo-code-review

qodo-code-review Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

PR-Agent: could not find a component named images in a supported language in this PR.

@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/f158740856904bd0be8730912d70c9b0

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 14m 26s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 33m 20s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 39m 08s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 15m 37s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 04s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 10m 08s
❌ cifmw-crc-podified-edpm-baremetal-bootc POST_FAILURE in 1h 34m 14s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 05s
✔️ cifmw-pod-pre-commit SUCCESS in 10m 32s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 04s
✔️ cifmw-molecule-kustomize_deploy SUCCESS in 6m 26s

@abays

abays commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@abays

abays commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

This has been successfully tested with multiple architectures.

Comment thread roles/kustomize_deploy/tasks/inject_osp_secret_keys.yml

@nemarjan nemarjan 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.

/approve

@openshift-ci

openshift-ci Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nemarjan

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

@openshift-ci openshift-ci Bot added the approved label Sep 8, 2026
@brjackma

brjackma commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Sep 8, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 8ae87ba into openstack-k8s-operators:main Sep 8, 2026
10 checks passed
centosinfra-prod-github-app Bot added a commit to openstack-k8s-operators/architecture that referenced this pull request Sep 8, 2026
Replace hardcoded passwords and keys with CHANGEME_REQUIRED sentinels

The osp-secrets.env file in lib/control-plane/base/ contained the literal password 12345678 for 38 service and database accounts, a static Barbican KEK, and a hardcoded Heat encryption key. Since lib/ is the shared base consumed by every VA and DT, any operator running kustomize build would produce a cluster-wide secret with universally known credentials.
Replace all password values with the CHANGEME_REQUIRED sentinel so that deployers are forced to generate proper secrets before applying. Move the libvirt password into lib/dataplane/nodeset/libvirt-secret.env, matching the control-plane env-file pattern.
Remove BarbicanSimpleCryptoKEK from osp-secrets.env entirely -- it must be unique per cluster and is injected at deploy time by ci-framework or generated separately for install_yamls flows.
Additionally:

Add .ci/validate-secret-passwords.py that fails the build if any .env file under lib/ or examples/ contains 8-digit numeric passwords, preventing regression. The validator distinguishes hex-encoded keys (e.g. HeatAuthEncryptionKey) from plain passwords and silently skips externally managed keys (e.g. BarbicanSimpleCryptoKEK). It also warns when CHANGEME_REQUIRED sentinels remain in examples/ directories.
Document the secret generation workflow in examples/common/README.md with per-key-type openssl rand examples (hex 32 for encryption keys, hex 16 for passwords).
Add __pycache__/ to .gitignore.

Depends-On: openstack-k8s-operators/ci-framework#4114

Reviewed-by: John Fulton <johfulto@redhat.com>
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.

5 participants