Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions api/bases/core.openstack.org_openstackcontrolplanes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14456,6 +14456,9 @@ spec:
type: object
skipPostDeploySteps:
type: boolean
targetVersion:
pattern: ^\d+\.\d+(\.\d+)?$
type: string
terminationGracePeriodSeconds:
default: 604800
format: int64
Expand Down
4 changes: 4 additions & 0 deletions api/bases/core.openstack.org_openstackversions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
type: object
availableVersion:
Expand Down Expand Up @@ -685,6 +687,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
trackedCustomImages:
additionalProperties:
Expand Down
3 changes: 2 additions & 1 deletion api/core/v1beta1/openstackversion_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ type ContainerTemplate struct {
// ServiceDefaults - struct that contains defaults for OSP services that can change over time
// but are associated with a specific OpenStack release version
type ServiceDefaults struct {
GlanceWsgi *string `json:"glanceWsgi,omitempty"`
GlanceWsgi *string `json:"glanceWsgi,omitempty"`
RabbitmqVersion *string `json:"rabbitmqVersion,omitempty"`
}

// OpenStackVersionStatus defines the observed state of OpenStackVersion
Expand Down
5 changes: 5 additions & 0 deletions api/core/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,5 @@ replace k8s.io/code-generator => k8s.io/code-generator v0.31.14 //allow-merging
replace k8s.io/component-base => k8s.io/component-base v0.31.14 //allow-merging

replace github.com/cert-manager/cmctl/v2 => github.com/cert-manager/cmctl/v2 v2.1.2-0.20241127223932-88edb96860cf //allow-merging

replace github.com/openstack-k8s-operators/infra-operator/apis => github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c
4 changes: 2 additions & 2 deletions api/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c h1:FWRBCFfW8sJK/OlKQZKKi8RQgnQ78Vof5dxUXnULNP8=
github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c/go.mod h1:XsEbK1LxXg8beKXRf8s1OQanE82hCuGtkO1URg7uezU=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
Expand Down Expand Up @@ -126,8 +128,6 @@ github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260224124345-771
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260224124345-771b1609979a/go.mod h1:oCU2YPu91BPMRN8a+gKcct3GRXGaIuBj9JAN73nO4dY=
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260223151854-36176307c2c1 h1:P+yf2BZz5dR5BW8eUHcNK1aQmnHviFZwa0A3D9WPM3g=
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260223151854-36176307c2c1/go.mod h1:rbJiGqYQIGdbfCLienv6qrzC2ve8pl8zhim7Atwe6wE=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260226150302-364bc9caac2c h1:JokgOl3nOi+GxYDHsw/Y1zKYFHFOfzLlhMtm39Jig4E=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260226150302-364bc9caac2c/go.mod h1:5hS/cVzc/HURwsbp4MMNwgqAl5bUqKvJdK+4irXeymE=
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260223140038-38453280e869 h1:YEBKRN4/vaCzg+jm/7MQwF1R7vsssbgGZIlU4GseF10=
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260223140038-38453280e869/go.mod h1:rwSopRg6m3xK0KVu8UZ7w3UXhInil/5W4qJMOoAH3VE=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260226214115-ba279900835f h1:kww9uX/ai4jkYhH4zzVNqSp4ea5rt1YHJfNmZVUeeOo=
Expand Down
7 changes: 7 additions & 0 deletions bindata/crds/crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14721,6 +14721,9 @@ spec:
type: object
skipPostDeploySteps:
type: boolean
targetVersion:
pattern: ^\d+\.\d+(\.\d+)?$
type: string
terminationGracePeriodSeconds:
default: 604800
format: int64
Expand Down Expand Up @@ -21461,6 +21464,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
type: object
availableVersion:
Expand Down Expand Up @@ -21896,6 +21901,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
trackedCustomImages:
additionalProperties:
Expand Down
31 changes: 31 additions & 0 deletions bindata/crds/rabbitmq.openstack.org_rabbitmqs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1804,6 +1804,14 @@ spec:
Has no effect if the cluster only consists of one node.
For more information, see https://www.rabbitmq.com/rabbitmq-queues.8.html#rebalance
type: boolean
targetVersion:
description: |-
TargetVersion - the desired RabbitMQ version (e.g., "4.2", "3.13.1").
When set to a version different from Status.CurrentVersion, the controller
will initiate a storage wipe and version upgrade. The controller updates
Status.CurrentVersion once the upgrade completes.
pattern: ^\d+\.\d+(\.\d+)?$
type: string
terminationGracePeriodSeconds:
default: 604800
description: |-
Expand Down Expand Up @@ -1940,6 +1948,12 @@ spec:
- type
type: object
type: array
currentVersion:
description: |-
CurrentVersion - the currently deployed RabbitMQ version (e.g., "3.9", "4.2")
This is controller-managed and reflects the actual running version.
Set Spec.TargetVersion to request a version change.
type: string
lastAppliedTopology:
description: LastAppliedTopology - the last applied Topology
properties:
Expand All @@ -1963,6 +1977,13 @@ spec:
the opentack-operator in the top-level CR (e.g. the ContainerImage)
format: int64
type: integer
proxyRequired:
description: |-
ProxyRequired - tracks whether the AMQP proxy sidecar is required for this cluster.
Set to true when upgrading from RabbitMQ 3.x to 4.x with Quorum queues.
The proxy allows non-durable clients to work with quorum queues during the upgrade window.
Only cleared when the AnnotationClientsReconfigured annotation is set to "true".
type: boolean
queueType:
description: QueueType - store whether default ha-all policy is present
or not
Expand All @@ -1975,6 +1996,16 @@ spec:
type: string
type: array
x-kubernetes-list-type: atomic
upgradePhase:
description: |-
UpgradePhase - tracks the current phase of a version upgrade or migration.
This allows resuming upgrades that failed midway.
type: string
wipeReason:
description: |-
WipeReason - tracks why the current storage wipe was initiated.
Persisted so that resumed upgrades use the correct handling path.
type: string
type: object
type: object
served: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14456,6 +14456,9 @@ spec:
type: object
skipPostDeploySteps:
type: boolean
targetVersion:
pattern: ^\d+\.\d+(\.\d+)?$
type: string
terminationGracePeriodSeconds:
default: 604800
format: int64
Expand Down
4 changes: 4 additions & 0 deletions config/crd/bases/core.openstack.org_openstackversions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
type: object
availableVersion:
Expand Down Expand Up @@ -685,6 +687,8 @@ spec:
properties:
glanceWsgi:
type: string
rabbitmqVersion:
type: string
type: object
trackedCustomImages:
additionalProperties:
Expand Down
2 changes: 1 addition & 1 deletion config/operator/default_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ spec:
- name: RELATED_IMAGE_PLACEMENT_API_IMAGE_URL_DEFAULT
value: quay.io/podified-antelope-centos9/openstack-placement-api:current-podified
- name: RELATED_IMAGE_RABBITMQ_IMAGE_URL_DEFAULT
value: quay.io/podified-antelope-centos9/openstack-rabbitmq:current-podified
value: quay.io/lmiccini/openstack-rabbitmq:r42p
- name: RELATED_IMAGE_SWIFT_ACCOUNT_IMAGE_URL_DEFAULT
value: quay.io/podified-antelope-centos9/openstack-swift-account:current-podified
- name: RELATED_IMAGE_SWIFT_CONTAINER_IMAGE_URL_DEFAULT
Expand Down
2 changes: 1 addition & 1 deletion config/operator/manager_operator_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ spec:
- name: RELATED_IMAGE_HORIZON_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/horizon-operator@sha256:114c0dee0bab1d453890e9dcc7727de749055bdbea049384d5696e7ac8d78fe3
- name: RELATED_IMAGE_INFRA_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/infra-operator@sha256:e97889bd4dd6896d3272e1237f231c79ecc661730a8a757a527ec6c6716908e5
value: quay.io/lmiccini/infra-operator@sha256:6b6b90434b303d35970c38685df02d6b0a73d3bb21f530b5b301f4970f566653
- name: RELATED_IMAGE_IRONIC_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/ironic-operator@sha256:e41dfadd2c3bbcae29f8c43cd2feea6724a48cdef127d65d1d37816bb9945a01
- name: RELATED_IMAGE_KEYSTONE_OPERATOR_MANAGER_IMAGE_URL
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,5 @@ replace k8s.io/code-generator => k8s.io/code-generator v0.31.14 //allow-merging
replace k8s.io/component-base => k8s.io/component-base v0.31.14 //allow-merging

replace github.com/cert-manager/cmctl/v2 => github.com/cert-manager/cmctl/v2 v2.1.2-0.20241127223932-88edb96860cf //allow-merging

replace github.com/openstack-k8s-operators/infra-operator/apis => github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c h1:FWRBCFfW8sJK/OlKQZKKi8RQgnQ78Vof5dxUXnULNP8=
github.com/lmiccini/infra-operator/apis v0.0.0-20260311162407-d0bc7fcc319c/go.mod h1:XsEbK1LxXg8beKXRf8s1OQanE82hCuGtkO1URg7uezU=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
Expand Down Expand Up @@ -150,8 +152,6 @@ github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260224124345-771
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260224124345-771b1609979a/go.mod h1:oCU2YPu91BPMRN8a+gKcct3GRXGaIuBj9JAN73nO4dY=
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260223151854-36176307c2c1 h1:P+yf2BZz5dR5BW8eUHcNK1aQmnHviFZwa0A3D9WPM3g=
github.com/openstack-k8s-operators/horizon-operator/api v0.6.1-0.20260223151854-36176307c2c1/go.mod h1:rbJiGqYQIGdbfCLienv6qrzC2ve8pl8zhim7Atwe6wE=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260226150302-364bc9caac2c h1:JokgOl3nOi+GxYDHsw/Y1zKYFHFOfzLlhMtm39Jig4E=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260226150302-364bc9caac2c/go.mod h1:5hS/cVzc/HURwsbp4MMNwgqAl5bUqKvJdK+4irXeymE=
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260223140038-38453280e869 h1:YEBKRN4/vaCzg+jm/7MQwF1R7vsssbgGZIlU4GseF10=
github.com/openstack-k8s-operators/ironic-operator/api v0.6.1-0.20260223140038-38453280e869/go.mod h1:rwSopRg6m3xK0KVu8UZ7w3UXhInil/5W4qJMOoAH3VE=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260226214115-ba279900835f h1:kww9uX/ai4jkYhH4zzVNqSp4ea5rt1YHJfNmZVUeeOo=
Expand Down
2 changes: 1 addition & 1 deletion hack/export_operator_related_images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export RELATED_IMAGE_DESIGNATE_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-
export RELATED_IMAGE_GLANCE_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/glance-operator@sha256:81e43c058d9af1d3bc31704010c630bc2a574c2ee388aa0ffe8c7b9621a7d051
export RELATED_IMAGE_HEAT_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/heat-operator@sha256:ee642fcf655f9897d480460008cba2e98b497d3ffdf7ab1d48ea460eb20c2053
export RELATED_IMAGE_HORIZON_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/horizon-operator@sha256:114c0dee0bab1d453890e9dcc7727de749055bdbea049384d5696e7ac8d78fe3
export RELATED_IMAGE_INFRA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/infra-operator@sha256:e97889bd4dd6896d3272e1237f231c79ecc661730a8a757a527ec6c6716908e5
export RELATED_IMAGE_INFRA_OPERATOR_MANAGER_IMAGE_URL=quay.io/lmiccini/infra-operator@sha256:6b6b90434b303d35970c38685df02d6b0a73d3bb21f530b5b301f4970f566653
export RELATED_IMAGE_IRONIC_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/ironic-operator@sha256:e41dfadd2c3bbcae29f8c43cd2feea6724a48cdef127d65d1d37816bb9945a01
export RELATED_IMAGE_KEYSTONE_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/keystone-operator@sha256:9d723ab33964ee44704eed3223b64e828349d45dee04695434a6fcf4b6807d4c
export RELATED_IMAGE_MANILA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/manila-operator@sha256:f1158ec4d879c4646eee4323bc501eba4d377beb2ad6fbe08ed30070c441ac26
Expand Down
2 changes: 1 addition & 1 deletion hack/export_related_images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

export OPENSTACK_RELEASE_VERSION=0.0.1-$(date +%s)
export RELATED_IMAGE_OPENSTACK_CLIENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-openstackclient:current-podified
export RELATED_IMAGE_RABBITMQ_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-rabbitmq:current-podified
export RELATED_IMAGE_RABBITMQ_IMAGE_URL_DEFAULT=quay.io/lmiccini/openstack-rabbitmq:r42p
export RELATED_IMAGE_KEYSTONE_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-keystone:current-podified
export RELATED_IMAGE_MARIADB_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-mariadb:current-podified
export RELATED_IMAGE_INFRA_MEMCACHED_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-memcached:current-podified
Expand Down
7 changes: 7 additions & 0 deletions internal/openstack/rabbitmq.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,13 @@ func reconcileRabbitMQ(
rabbitmq.Spec.TLS.CaSecretName = tlsCert
rabbitmq.Spec.TLS.DisableNonTLSListeners = true
}
// set the target rabbitmq-server version in spec
if version.Status.ServiceDefaults.RabbitmqVersion != nil {
rabbitmq.Spec.TargetVersion = version.Status.ServiceDefaults.RabbitmqVersion
} else {
rabbitmq.Spec.TargetVersion = ptr.To("3.9")
}

rabbitmq.Spec.ContainerImage = *version.Status.ContainerImages.RabbitmqImage
err := controllerutil.SetControllerReference(helper.GetBeforeObject(), rabbitmq, helper.GetScheme())
if err != nil {
Expand Down
3 changes: 3 additions & 0 deletions internal/openstack/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,9 @@ func InitializeOpenStackVersionServiceDefaults(ctx context.Context) *corev1beta1
trueString := "true"
defaults.GlanceWsgi = &trueString // all new glance deployments use WSGI by default (FR3 and later)

versionString := "4.2"
defaults.RabbitmqVersion = &versionString // all new rabbitmq deployments will have rabbitm-server 4.2 (FR5)

return defaults
}

Expand Down
Loading