From b7e00844e8af05da46ebbc67ba2f5e1ab0689b76 Mon Sep 17 00:00:00 2001 From: Francesco Pantano Date: Fri, 11 Oct 2024 15:21:00 +0200 Subject: [PATCH] Update Samples and configure Swift backend for Glance The unsupported File backend is currently used in most of the samples. They are not consistent even with the documentation, where we suggest to add replicas: 0 to the glance service until a backend is chosen. Considering we have Swift deployed by default, this patch fixes the Glance samples and add Swift as a backend. This change will be reflected in the openstack-operator guide as well. Signed-off-by: Francesco Pantano --- .../core_v1beta1_openstackcontrolplane.yaml | 13 ++++++++++- ..._openstackcontrolplane_collapsed_cell.yaml | 22 ++++++++++++++++++- ..._v1beta1_openstackcontrolplane_galera.yaml | 13 ++++++++++- ...penstackcontrolplane_galera_3replicas.yaml | 21 +++++++++++++++++- ...controlplane_galera_network_isolation.yaml | 13 ++++++++++- ...ne_galera_network_isolation_3replicas.yaml | 13 ++++++++++- ...eplicas_only_default_enabled_services.yaml | 13 ++++++++++- ...enstackcontrolplane_network_isolation.yaml | 13 ++++++++++- ...network_isolation_tls_public_endpoint.yaml | 13 ++++++++++- .../01-assert-collapsed-cell.yaml | 17 ++++++++++++++ .../01-assert-galera-3replicas.yaml | 17 ++++++++++++++ 11 files changed, 159 insertions(+), 9 deletions(-) diff --git a/config/samples/base/openstackcontrolplane/core_v1beta1_openstackcontrolplane.yaml b/config/samples/base/openstackcontrolplane/core_v1beta1_openstackcontrolplane.yaml index d738a67a1..0cb6c1757 100644 --- a/config/samples/base/openstackcontrolplane/core_v1beta1_openstackcontrolplane.yaml +++ b/config/samples/base/openstackcontrolplane/core_v1beta1_openstackcontrolplane.yaml @@ -56,13 +56,24 @@ spec: template: secret: osp-secret databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 cinder: template: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml b/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml index 553e0fd80..009e34f23 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml @@ -46,6 +46,18 @@ spec: template: secret: osp-secret databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G @@ -53,7 +65,6 @@ spec: glanceAPIs: default: replicas: 1 - type: single cinder: template: databaseInstance: openstack @@ -149,3 +160,12 @@ spec: ipaddr: 172.17.0.80 port: 10514 cloNamespace: openshift-logging + swift: + enabled: true + template: + swiftRing: + ringReplicas: 1 + swiftStorage: + replicas: 1 + swiftProxy: + replicas: 1 diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml index 2e3084cf9..eea752894 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml @@ -54,13 +54,24 @@ spec: template: secret: osp-secret databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 cinder: template: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml index 65b0b69be..2bf13bff3 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml @@ -52,6 +52,18 @@ spec: secret: osp-secret glance: template: + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} databaseInstance: openstack storage: storageClass: "" @@ -61,7 +73,6 @@ spec: glanceAPIs: default: replicas: 1 - type: single cinder: template: databaseInstance: openstack @@ -213,3 +224,11 @@ spec: replicas: 0 networkAttachments: - designate + swift: + template: + swiftRing: + ringReplicas: 1 + swiftStorage: + replicas: 1 + swiftProxy: + replicas: 1 diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml index 99616c0a5..80ecfb47b 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml @@ -54,6 +54,18 @@ spec: default: route: {} template: + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} databaseInstance: openstack storage: storageClass: "" @@ -62,7 +74,6 @@ spec: keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 override: service: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml index f12114fee..d6f634a9e 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml @@ -77,6 +77,18 @@ spec: route: {} template: databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G @@ -84,7 +96,6 @@ spec: keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 override: service: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas_only_default_enabled_services.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas_only_default_enabled_services.yaml index cfcd49334..92029323b 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas_only_default_enabled_services.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas_only_default_enabled_services.yaml @@ -77,6 +77,18 @@ spec: route: {} template: databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G @@ -84,7 +96,6 @@ spec: keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 override: service: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml index 67a93dcff..6dfea29c8 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml @@ -77,6 +77,18 @@ spec: route: {} template: databaseInstance: openstack + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} storage: storageClass: "" storageRequest: 10G @@ -84,7 +96,6 @@ spec: keystoneEndpoint: default glanceAPIs: default: - type: single replicas: 1 override: service: diff --git a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_tls_public_endpoint.yaml b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_tls_public_endpoint.yaml index 0fbdd82ff..1ef36f20d 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_tls_public_endpoint.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_tls_public_endpoint.yaml @@ -85,9 +85,20 @@ spec: storageRequest: 10G secret: osp-secret keystoneEndpoint: default + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} glanceAPIs: default: - type: single replicas: 1 override: service: diff --git a/tests/kuttl/tests/ctlplane-collapsed/01-assert-collapsed-cell.yaml b/tests/kuttl/tests/ctlplane-collapsed/01-assert-collapsed-cell.yaml index 93d81af55..f8a1e9df9 100644 --- a/tests/kuttl/tests/ctlplane-collapsed/01-assert-collapsed-cell.yaml +++ b/tests/kuttl/tests/ctlplane-collapsed/01-assert-collapsed-cell.yaml @@ -125,6 +125,15 @@ spec: replicas: 1 barbicanKeystoneListener: replicas: 1 + swift: + enabled: true + template: + swiftRing: + ringReplicas: 1 + swiftStorage: + replicas: 1 + swiftProxy: + replicas: 1 tls: ingress: ca: @@ -199,6 +208,10 @@ status: reason: Ready status: "True" type: OpenStackControlPlaneExposePlacementAPIReady + - message: OpenStackControlPlane swift service exposed + reason: Ready + status: "True" + type: OpenStackControlPlaneExposeSwiftReady - message: OpenStackControlPlane Glance completed reason: Ready status: "True" @@ -239,6 +252,10 @@ status: reason: Ready status: "True" type: OpenStackControlPlaneRabbitMQReady + - message: OpenStackControlPlane Swift completed + reason: Ready + status: "True" + type: OpenStackControlPlaneSwiftReady - message: OpenStackControlPlane Telemetry completed reason: Ready status: "True" diff --git a/tests/kuttl/tests/ctlplane-galera-3replicas/01-assert-galera-3replicas.yaml b/tests/kuttl/tests/ctlplane-galera-3replicas/01-assert-galera-3replicas.yaml index dc4d6d776..bf6c6273e 100644 --- a/tests/kuttl/tests/ctlplane-galera-3replicas/01-assert-galera-3replicas.yaml +++ b/tests/kuttl/tests/ctlplane-galera-3replicas/01-assert-galera-3replicas.yaml @@ -152,6 +152,15 @@ spec: duration: 87600h0m0s cert: duration: 43800h0m0s + swift: + enabled: true + template: + swiftRing: + ringReplicas: 1 + swiftStorage: + replicas: 1 + swiftProxy: + replicas: 1 status: conditions: - message: Setup complete @@ -202,6 +211,10 @@ status: reason: Ready status: "True" type: OpenStackControlPlaneExposePlacementAPIReady + - message: OpenStackControlPlane swift service exposed + reason: Ready + status: "True" + type: OpenStackControlPlaneExposeSwiftReady - message: OpenStackControlPlane Glance completed reason: Ready status: "True" @@ -242,6 +255,10 @@ status: reason: Ready status: "True" type: OpenStackControlPlaneRabbitMQReady + - message: OpenStackControlPlane Swift completed + reason: Ready + status: "True" + type: OpenStackControlPlaneSwiftReady - message: OpenStackControlPlane Telemetry completed reason: Ready status: "True"