Skip to content

Commit 507cdb8

Browse files
lmicciniclaude
andcommitted
Implement messaging bus configuration with annotation-based migration
This commit introduces a new messaging bus configuration system that supports: - Top-level messagingBus and notificationsBus configuration fields that services can inherit from - Per-service messagingBus and notificationsBus overrides - Validation to prevent setting the User field at the top level (which would cause conflicts as each service creates its own RabbitMQUser) - Automatic migration from deprecated fields to new fields via webhook The migration strategy uses an annotation-based approach where the controller detects deprecated field usage and sets a reconcile trigger annotation, which causes the UPDATE webhook to perform the migration. This ensures the webhook (which has the proper mutating webhook configuration) handles all spec mutations, avoiding field ownership issues with server-side apply and GitOps workflows. Deprecated fields that are migrated: - Top-level: notificationsBusInstance -> notificationsBus.cluster - Service-level: rabbitMqClusterName -> messagingBus.cluster or notificationsBus.cluster depending on the service - Service-level: notificationsBusInstance -> notificationsBus.cluster (for Cinder, Manila, Neutron, Nova, Watcher) Services inherit from top-level configuration if their service-level fields are not set, following the priority: 1. Service-level deprecated field (if set) 2. Service-level new field (if set) 3. Top-level configuration (if set) 4. Default value Additional fixes: Fix pin-bundle-images.sh to handle operators with replace directives by forcing quay.io for replaced operators and adding fallback logic when bundles are not available in custom registries Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 272ad11 commit 507cdb8

72 files changed

Lines changed: 4632 additions & 437 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ config/samples/tls/custom_route_cert/placement-cert-data.yaml
1717
# Test binary, build with `go test -c`
1818
*.test
1919

20+
# Test artifacts
21+
test/functional/*/default.etcd/
22+
2023
# Output of the go coverage tool, specifically when used with LiteIDE
2124
*.out
2225

0 commit comments

Comments
 (0)