Skip to content

Use real per-pool TSIG keys in shared mode - #607

Merged
openshift-merge-bot[bot] merged 3 commits into
openstack-k8s-operators:mainfrom
omersch381:fix/shared-tsig-pool-identity
Oct 23, 2026
Merged

openshift-merge-bot[bot] merged 3 commits into
openstack-k8s-operators:mainfrom
omersch381:fix/shared-tsig-pool-identity

Conversation

@omersch381

Copy link
Copy Markdown
Contributor

Leave the default pool unsigned outside AZ-aware mode and register each non-default pool key with scope POOL and its actual pool UUID. Read and watch the key ID mapping in both modes when generating pools.yaml.

Preserve existing key material when repairing pool bindings and retain the legacy shared DB key during migration. Wait for BIND to load the new Secrets before publishing key IDs, and reconcile Secrets while StatefulSets are pending to avoid a bootstrap dependency cycle.

Add unit and functional coverage for default pool behavior, per-pool identities, migration readiness and key binding repair. Update multipool KUTTL assertions for per-pool Secret creation and cleanup.

@openshift-ci
openshift-ci Bot requested review from abays and slawqo October 20, 2026 14:32
@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Central YAML (base), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a08fb471-ce66-44b1-a185-85980b1c9cbc
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@omersch381 omersch381 changed the title Use real per-pool TSIG keys in shared mode [DRAFT] Use real per-pool TSIG keys in shared mode Oct 20, 2026
@omersch381
omersch381 force-pushed the fix/shared-tsig-pool-identity branch from 080c672 to 6bec976 Compare October 20, 2026 15:56
@centosinfra-prod-github-app

Copy link
Copy Markdown

@omersch381
omersch381 force-pushed the fix/shared-tsig-pool-identity branch from 6bec976 to deb69dc Compare October 20, 2026 22:18
@centosinfra-prod-github-app

Copy link
Copy Markdown

@omersch381
omersch381 force-pushed the fix/shared-tsig-pool-identity branch from deb69dc to e9523f0 Compare October 21, 2026 08:42
Leave the default pool unsigned outside AZ-aware mode and register each
non-default pool key with scope POOL and its actual pool UUID. Read and
watch the key ID mapping in both modes when generating pools.yaml.

Preserve existing key material when repairing pool bindings and retain
the legacy shared DB key during migration. Wait for BIND to load the new
Secrets before publishing key IDs, and reconcile Secrets while
StatefulSets are pending to avoid a bootstrap dependency cycle.

Keep nameserver TSIG IDs limited to AZ-aware mode for compatibility with
legacy Designate YAML adapters. Refresh completed pool discovery Jobs
when required pools are missing, read only the current Job's pod logs,
and exclude unregistered dry-run pools without real UUIDs.

Make the merged named.conf copy owner-writable so non-root BIND init can
append the TSIG include after copying read-only Secret files.

Add unit and functional coverage for default pool behavior, per-pool
identities, migration readiness, key binding repair, legacy YAML
compatibility, discovery refresh and init file permissions. Update
multipool KUTTL assertions for per-pool Secret creation and cleanup.

Signed-off-by: Omer <oschwart@oschwart-thinkpadp16vgen1.rmtes.csb>
@omersch381
omersch381 force-pushed the fix/shared-tsig-pool-identity branch from e9523f0 to 64f9680 Compare October 21, 2026 09:54
Honor requeue results from required producer Secret lookups so
reconciliation stops before creating configuration or deployments.

Wait for InputReady=False before asserting that configuration Secrets
are absent. Reference the TransportURL Secret in the producer fixture
and add deterministic coverage for each missing input Secret.
@omersch381 omersch381 changed the title [DRAFT] Use real per-pool TSIG keys in shared mode Use real per-pool TSIG keys in shared mode Oct 21, 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/a9a8c00d53bf4599b4e2ffcb234b8d3b

❌ openstack-k8s-operators-content-provider FAILURE in 17m 41s
⚠️ designate-operator-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider

@fserucas

Copy link
Copy Markdown

recheck

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

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 17m 51s
✔️ designate-operator-tempest-multinode SUCCESS in 1h 27m 38s

Warning:
File ansible/tmp/15b5f47e794349f99e8d765c5ec5d317 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/f395126269584c5d88003f8faf87f865 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/15b5f47e794349f99e8d765c5ec5d317 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/f395126269584c5d88003f8faf87f865 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/15b5f47e794349f99e8d765c5ec5d317 found in build home directory during playbook review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/known_hosts.old found in build home directory during playbook review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml for job designate-operator-tempest-multinode. Add to preserve-home-paths if safe, or otherwise remove.

@beagles

beagles commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

/lgtm

@openshift-ci

openshift-ci Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: beagles, omersch381

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-merge-bot
openshift-merge-bot Bot merged commit f25c0c4 into openstack-k8s-operators:main Oct 23, 2026
8 checks passed
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.

3 participants