Skip to content

Commit d83fb08

Browse files
lmicciniclaude
andcommitted
Drop rabbitmq-cluster-operator dependency and manage RabbitMQ directly
Remove the rabbitmq-cluster-operator deployment and clean up its namespaced resources after all RabbitmqCluster instances have been migrated by the infra-operator. Cluster-scoped RBAC is left in place to avoid breaking user-installed instances in other namespaces. The CRD is only deleted when no RabbitmqCluster instances remain cluster-wide. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 24f7328 commit d83fb08

41 files changed

Lines changed: 525 additions & 5960 deletions

Some content is hidden

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

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ bindata: kustomize yq ## Call sync bindata script
166166
sed -i bindata/operator/operator.yaml -e "/customRequests/c\\ cpu: {{ .OpenStackOperator.Deployment.Manager.Resources.Requests.CPU }}\n memory: {{ .OpenStackOperator.Deployment.Manager.Resources.Requests.Memory }}"
167167
sed -i bindata/operator/operator.yaml -e "/customTolerations/c\\ tolerations:\n{{- range .OpenStackOperator.Deployment.Tolerations }}\n - key: \"{{ .Key }}\"\n{{- if .Operator }}\n operator: \"{{ .Operator }}\"\n{{- end }}\n{{- if .Value }}\n value: \"{{ .Value }}\"\n{{- end }}\n{{- if .Effect }}\n effect: \"{{ .Effect }}\"\n{{- end }}\n{{- if .TolerationSeconds }}\n tolerationSeconds: {{ .TolerationSeconds }}\n{{- end }}\n{{- end }}"
168168
cp config/operator/managers.yaml bindata/operator/
169-
cp config/operator/rabbit.yaml bindata/operator/
170169
$(KUSTOMIZE) build config/rbac > bindata/rbac/rbac.yaml
171170
/bin/bash hack/sync-bindata.sh
172171

api/bases/core.openstack.org_openstackcontrolplanes.yaml

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14141,6 +14141,22 @@ spec:
1414114141
x-kubernetes-list-type: atomic
1414214142
type: object
1414314143
type: object
14144+
config:
14145+
properties:
14146+
additionalConfig:
14147+
type: string
14148+
additionalPlugins:
14149+
items:
14150+
type: string
14151+
type: array
14152+
x-kubernetes-list-type: atomic
14153+
advancedConfig:
14154+
type: string
14155+
envConfig:
14156+
type: string
14157+
erlangInetConfig:
14158+
type: string
14159+
type: object
1414414160
delayStartSeconds:
1414514161
default: 30
1414614162
format: int32
@@ -14264,8 +14280,6 @@ spec:
1426414280
x-kubernetes-preserve-unknown-fields: true
1426514281
type: object
1426614282
persistence:
14267-
default:
14268-
storage: 10Gi
1426914283
properties:
1427014284
storage:
1427114285
anyOf:
@@ -14329,6 +14343,10 @@ spec:
1432914343
x-kubernetes-list-type: atomic
1433014344
type: object
1433114345
queueType:
14346+
enum:
14347+
- Mirrored
14348+
- Quorum
14349+
- ""
1433214350
type: string
1433314351
rabbitmq:
1433414352
properties:
@@ -14337,8 +14355,6 @@ spec:
1433714355
type: string
1433814356
additionalPlugins:
1433914357
items:
14340-
maxLength: 100
14341-
pattern: ^\w+$
1434214358
type: string
1434314359
maxItems: 100
1434414360
type: array
@@ -14459,8 +14475,22 @@ spec:
1445914475
type: object
1446014476
skipPostDeploySteps:
1446114477
type: boolean
14478+
storage:
14479+
properties:
14480+
storage:
14481+
anyOf:
14482+
- type: integer
14483+
- type: string
14484+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
14485+
x-kubernetes-int-or-string: true
14486+
storageClassName:
14487+
type: string
14488+
type: object
14489+
targetVersion:
14490+
pattern: ^\d+\.\d+(\.\d+)?$
14491+
type: string
1446214492
terminationGracePeriodSeconds:
14463-
default: 604800
14493+
default: 60
1446414494
format: int64
1446514495
minimum: 0
1446614496
type: integer
@@ -14489,6 +14519,7 @@ spec:
1448914519
type: string
1449014520
type: object
1449114521
type: array
14522+
x-kubernetes-list-type: atomic
1449214523
topologyRef:
1449314524
properties:
1449414525
name:

api/bases/core.openstack.org_openstackversions.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@ spec:
250250
properties:
251251
glanceWsgi:
252252
type: string
253+
rabbitmqVersion:
254+
type: string
253255
type: object
254256
type: object
255257
availableVersion:
@@ -685,6 +687,8 @@ spec:
685687
properties:
686688
glanceWsgi:
687689
type: string
690+
rabbitmqVersion:
691+
type: string
688692
type: object
689693
trackedCustomImages:
690694
additionalProperties:

api/bases/operator.openstack.org_openstacks.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ spec:
141141
- openstack-baremetal
142142
- ovn
143143
- placement
144-
- rabbitmq-cluster
145144
- swift
146145
- telemetry
147146
- test

api/core/v1beta1/openstackversion_types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ type ContainerTemplate struct {
177177
// ServiceDefaults - struct that contains defaults for OSP services that can change over time
178178
// but are associated with a specific OpenStack release version
179179
type ServiceDefaults struct {
180-
GlanceWsgi *string `json:"glanceWsgi,omitempty"`
180+
GlanceWsgi *string `json:"glanceWsgi,omitempty"`
181+
RabbitmqVersion *string `json:"rabbitmqVersion,omitempty"`
181182
}
182183

183184
// OpenStackVersionStatus defines the observed state of OpenStackVersion

api/core/v1beta1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260316100655-863ae03d41af
1717
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260321081258-5c806856eeb6
1818
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260321081256-de45f3b1de4f
19-
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260324115114-e3be8a47a45e
19+
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260331122750-ecff41ebb61d
2020
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260324115114-e3be8a47a45e
2121
github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260321081547-64d64a0c02c7
2222
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260321081546-85bcf5293c70
@@ -86,7 +86,6 @@ require (
8686
github.com/prometheus/client_model v0.6.2 // indirect
8787
github.com/prometheus/common v0.65.0 // indirect
8888
github.com/prometheus/procfs v0.16.1 // indirect
89-
github.com/rabbitmq/cluster-operator/v2 v2.16.0 // indirect
9089
github.com/robfig/cron/v3 v3.0.1 // indirect
9190
github.com/spf13/pflag v1.0.9 // indirect
9291
github.com/x448/float16 v0.8.4 // indirect
@@ -143,3 +142,5 @@ replace k8s.io/code-generator => k8s.io/code-generator v0.31.14 //allow-merging
143142
replace k8s.io/component-base => k8s.io/component-base v0.31.14 //allow-merging
144143

145144
replace github.com/cert-manager/cmctl/v2 => github.com/cert-manager/cmctl/v2 v2.1.2-0.20241127223932-88edb96860cf //allow-merging
145+
146+
replace github.com/openstack-k8s-operators/infra-operator/apis => github.com/lmiccini/infra-operator/apis v0.0.0-20260402081518-a56e071880c2

api/go.sum

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
9090
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
9191
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
9292
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
93+
github.com/lmiccini/infra-operator/apis v0.0.0-20260402081518-a56e071880c2 h1:l7/5dYFZgkU2kg+n1ntS/1RsMr4eLgcVZKyJBapE7fE=
94+
github.com/lmiccini/infra-operator/apis v0.0.0-20260402081518-a56e071880c2/go.mod h1:c6jkCYVpYXazuRYxq7UEa+P+gKCSo5bFB85QvZf6nIg=
9395
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
9496
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
9597
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
@@ -126,14 +128,12 @@ github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260321081011-0ad
126128
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260321081011-0ad5f7292fb5/go.mod h1:D/clVT1Pf25PC/N2SEQiB2QQO/TF2IBCOPT5VkNkhHQ=
127129
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260321080731-03e8ffbd65e3 h1:t80wfV1UAjxA0ey3LHRsiJgoL6OEuBqOjqU6yvn7nOg=
128130
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260321080731-03e8ffbd65e3/go.mod h1:qQ7Ie2fWv5PnlffsAWlv6Y7jUgFbG0WQVZHCOgS0d/Y=
129-
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260316100655-863ae03d41af h1:Ow12j/PVbEtul1bZ7s/ZenVnKPIHK2q+0VgTp+j/wro=
130-
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260316100655-863ae03d41af/go.mod h1:nC/Jf3OYJRML8UEzJ/mn/TQcSCv/nhqO6x6LGkdDt60=
131131
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260321081258-5c806856eeb6 h1:8jpYazj7pGgzomNtQFL+BW5VxtDjRMfNJ7pTd53+5fw=
132132
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260321081258-5c806856eeb6/go.mod h1:y5Er36n6rjQA2Gi3dtwamhyeqWTGBIszN+ZexsvJCIo=
133133
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260321081256-de45f3b1de4f h1:60I2YLHRznTY2BQXqXWc+ByJ3ipdQgKgW52t9J8C5DY=
134134
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260321081256-de45f3b1de4f/go.mod h1:8o6LSPt1VAvvB2ngS2QObGS6HEikSdVpHoKIgmb78KI=
135-
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260324115114-e3be8a47a45e h1:mHKwo8Cg9xHRRShBtJfcPYdE7FaivrgRBegEMDgv7fY=
136-
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260324115114-e3be8a47a45e/go.mod h1:XUUV+h1nZC4kra5oF+cXPkviWYJ3ELhccHxnVO7CvQQ=
135+
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260331122750-ecff41ebb61d h1:qbH09BzypLy1+N133JVgfkRmDZaQKpDLwi/InqqOzGM=
136+
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260331122750-ecff41ebb61d/go.mod h1:XUUV+h1nZC4kra5oF+cXPkviWYJ3ELhccHxnVO7CvQQ=
137137
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260320125710-3a5f82ff0f18 h1:eJDwc8LPJg+H4bHMLh/pDJBk+OezQ+wkjUNpExUFhbM=
138138
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260320125710-3a5f82ff0f18/go.mod h1:7yqbVpg0k0vW+kZks+TMU/cd1ovoejyHfVPWcyGYLHI=
139139
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260324115114-e3be8a47a45e h1:KpBZFtg8RnE9F6uINOEH7c9Zgp8HIl5+haHLv3IFEGk=
@@ -154,8 +154,6 @@ github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260324093450-6c7a
154154
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260324093450-6c7afb9e632f/go.mod h1:y6h5ocsFHUUTYAAlYibfHMUzbx2di0cN93yGTTbvMNY=
155155
github.com/openstack-k8s-operators/placement-operator/api v0.6.1-0.20260321143858-aaffa49d81f5 h1:/fQT4PDa30kz1k9dB48WcWHhEE1OP7hRXJuuURNGivo=
156156
github.com/openstack-k8s-operators/placement-operator/api v0.6.1-0.20260321143858-aaffa49d81f5/go.mod h1:IuKiktN8yyVTD6T57XZN9Cbx0ZFIU+gwO4OLFa8nxu8=
157-
github.com/openstack-k8s-operators/rabbitmq-cluster-operator/v2 v2.6.1-0.20250929174222-a0d328fa4dec h1:saovr368HPAKHN0aRPh8h8n9s9dn3d8Frmfua0UYRlc=
158-
github.com/openstack-k8s-operators/rabbitmq-cluster-operator/v2 v2.6.1-0.20250929174222-a0d328fa4dec/go.mod h1:Nh2NEePLjovUQof2krTAg4JaAoLacqtPTZQXK6izNfg=
159157
github.com/openstack-k8s-operators/swift-operator/api v0.6.1-0.20260321143859-b86b733f44bb h1:uEZZguEl/iVOlXkGiWkVK+29k+S++w83FxGICUSKlaw=
160158
github.com/openstack-k8s-operators/swift-operator/api v0.6.1-0.20260321143859-b86b733f44bb/go.mod h1:81OMzM3nKYvmpYrQ4egBzwiMjsh6To+eY8bFzW0zyoA=
161159
github.com/openstack-k8s-operators/telemetry-operator/api v0.6.1-0.20260324101924-e6b1d6cc59cd h1:BSn3UxztfqM/Z0X9pgMG+NPh0JV9KtBqpqP0eFaWhOw=

api/operator/v1beta1/openstack_types.go

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ const (
4444
OpenStackBaremetalOperatorName = "openstack-baremetal"
4545
OvnOperatorName = "ovn"
4646
PlacementOperatorName = "placement"
47-
RabbitMQOperatorName = "rabbitmq-cluster"
4847
SwiftOperatorName = "swift"
4948
TelemetryOperatorName = "telemetry"
5049
TestOperatorName = "test"
@@ -161,21 +160,6 @@ var (
161160
{
162161
Name: PlacementOperatorName,
163162
},
164-
{
165-
Name: RabbitMQOperatorName,
166-
ControllerManager: ContainerSpec{
167-
Resources: corev1.ResourceRequirements{
168-
Requests: corev1.ResourceList{
169-
corev1.ResourceCPU: resource.MustParse("5m"),
170-
corev1.ResourceMemory: resource.MustParse("64Mi"),
171-
},
172-
Limits: corev1.ResourceList{
173-
corev1.ResourceCPU: resource.MustParse("200m"),
174-
corev1.ResourceMemory: resource.MustParse("500Mi"),
175-
},
176-
},
177-
},
178-
},
179163
{
180164
Name: SwiftOperatorName,
181165
},
@@ -204,7 +188,7 @@ type OpenStackSpec struct {
204188
type OperatorSpec struct {
205189
// +kubebuilder:validation:Required
206190
// +kubebuilder:validation:MinLength=1
207-
// +kubebuilder:validation:Enum:=openstack;barbican;cinder;designate;glance;heat;horizon;infra;ironic;keystone;manila;mariadb;neutron;nova;octavia;openstack-baremetal;ovn;placement;rabbitmq-cluster;swift;telemetry;test;watcher
191+
// +kubebuilder:validation:Enum:=openstack;barbican;cinder;designate;glance;heat;horizon;infra;ironic;keystone;manila;mariadb;neutron;nova;octavia;openstack-baremetal;ovn;placement;swift;telemetry;test;watcher
208192
// Name of the service operators.
209193
Name string `json:"name"`
210194

0 commit comments

Comments
 (0)