Sync master and f/epoxy branches
This change ensures that the master branch is in sync with the f/epoxy branch after the f/epoxy->master merge performed at [1]. [1]https://review.opendev.org/c/starlingx/openstack-armada-app/+/975838 Test Plan: [PASS] Build openstack packages and tarball Story: 2011516 Task: 53785 Change-Id: I328117c12286fe47551a1c3e51a066f57e58be73 Signed-off-by: Alex Figueiredo <alex.fernandesfigueiredo@windriver.com>
This commit is contained in:
committed by
Alex Fernandes Figueirêdo
parent
8532437bef
commit
8488875c81
+2
@@ -31,6 +31,8 @@ images:
|
||||
glance_db_sync: docker.io/starlingx/stx-glance:master-debian-stable-latest
|
||||
db_drop: docker.io/starlingx/stx-heat:master-debian-stable-latest
|
||||
ks_user: docker.io/starlingx/stx-openstackclients:master-debian-stable-latest
|
||||
ks_service: docker.io/starlingx/stx-heat:master-debian-stable-latest
|
||||
ks_endpoints: docker.io/starlingx/stx-heat:master-debian-stable-latest
|
||||
rabbit_init: docker.io/rabbitmq:3.13-management
|
||||
glance_api: docker.io/starlingx/stx-glance:master-debian-stable-latest
|
||||
# Bootstrap image requires curl
|
||||
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
From cdad5b37e60f36d9b88e0e2ec79c666fffbcfae8 Mon Sep 17 00:00:00 2001
|
||||
From: jchialun <johnny.chialung@windriver.com>
|
||||
Date: Wed, 19 Nov 2025 14:56:26 -0500
|
||||
Subject: [PATCH 1/1] Add volume storage class priorities
|
||||
|
||||
Added volume_storage_class_priority list to values.yaml file to enable
|
||||
external applications to update the value. This list represents the
|
||||
priority order for creation of the Kubernetes PVCs StorageClasses for
|
||||
MariaDB and RabbitMQ. The highest available storage class will be
|
||||
selected as the k8s volume storageClass
|
||||
|
||||
Signed-off-by: Johnny Chia <johnny.chialung@windriver.com>
|
||||
---
|
||||
mariadb/values.yaml | 8 ++++++++
|
||||
rabbitmq/values.yaml | 7 +++++++
|
||||
2 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/mariadb/values.yaml b/mariadb/values.yaml
|
||||
index 9eb81231..66740a2c 100644
|
||||
--- a/mariadb/values.yaml
|
||||
+++ b/mariadb/values.yaml
|
||||
@@ -740,6 +740,14 @@ network_policy:
|
||||
# Set helm3_hook: false in case helm2 is used.
|
||||
helm3_hook: true
|
||||
|
||||
+storage_conf:
|
||||
+ volume_storage_class_priority:
|
||||
+ - "ceph"
|
||||
+ - "netapp-nfs"
|
||||
+ - "netapp-iscsi"
|
||||
+ - "netapp-fc"
|
||||
+
|
||||
+
|
||||
manifests:
|
||||
certificates: false
|
||||
configmap_bin: true
|
||||
diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml
|
||||
index fbb98414..99b2833c 100644
|
||||
--- a/rabbitmq/values.yaml
|
||||
+++ b/rabbitmq/values.yaml
|
||||
@@ -441,6 +441,13 @@ io_thread_pool:
|
||||
enabled: false
|
||||
size: 64
|
||||
|
||||
+storage_conf:
|
||||
+ volume_storage_class_priority:
|
||||
+ - "ceph"
|
||||
+ - "netapp-nfs"
|
||||
+ - "netapp-iscsi"
|
||||
+ - "netapp-fc"
|
||||
+
|
||||
manifests:
|
||||
certificates: false
|
||||
configmap_bin: true
|
||||
--
|
||||
2.43.0
|
||||
|
||||
-177
@@ -1,177 +0,0 @@
|
||||
From e252d383d9973c33192b5e4b969b5f777947df63 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Caires <DanielMarques.Caires@windriver.com>
|
||||
Date: Thu, 23 Oct 2025 10:07:47 -0300
|
||||
Subject: [PATCH] Add DEX integration
|
||||
|
||||
Dex is an Opensource identity provider that acts as identity
|
||||
broker, that allows applications to use a single OpenID
|
||||
Connect (OIDC) integration to authenticate users against
|
||||
various existing identity providers. It is delivered to Starlingx
|
||||
through the oidc-auth-apps application.
|
||||
|
||||
This patch integrates DEX to StarligX Openstack using a
|
||||
federated SSO provider and creating the necessary openstack
|
||||
resources to allow STX-O to use DEX as an identity provider.
|
||||
|
||||
Change-Id: I8540dce2dd0f1d1100872cec0ddf3a9e6df9ae81
|
||||
Signed-off-by: Daniel Caires <DanielMarques.Caires@windriver.com>
|
||||
[ Add DEX http requests configurations ]
|
||||
Signed-off-by: cbohlhal <Caique.BohlhalterdeSouza@windriver.com>
|
||||
---
|
||||
keystone/templates/bin/_bootstrap.sh.tpl | 4 +++
|
||||
keystone/templates/configmap-bin.yaml | 12 ++++++
|
||||
keystone/templates/job-bootstrap.yaml | 8 ++++-
|
||||
keystone/values.yaml | 81 +++++++++++++++++++++++++++++++
|
||||
4 files changed, 104 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/keystone/templates/bin/_bootstrap.sh.tpl b/keystone/templates/bin/_bootstrap.sh.tpl
|
||||
index c325824d8..7b268548c 100644
|
||||
--- a/keystone/templates/bin/_bootstrap.sh.tpl
|
||||
+++ b/keystone/templates/bin/_bootstrap.sh.tpl
|
||||
@@ -17,3 +17,7 @@ limitations under the License.
|
||||
set -ex
|
||||
|
||||
{{ .Values.bootstrap.script | default "echo 'Not Enabled'" }}
|
||||
+
|
||||
+if [ -f /tmp/dex-bootstrap.sh ]; then
|
||||
+ bash /tmp/dex-bootstrap.sh
|
||||
+fi
|
||||
diff --git a/keystone/templates/configmap-bin.yaml b/keystone/templates/configmap-bin.yaml
|
||||
index 45512d3ec..d55ed5672 100644
|
||||
--- a/keystone/templates/configmap-bin.yaml
|
||||
+++ b/keystone/templates/configmap-bin.yaml
|
||||
@@ -55,4 +55,16 @@ data:
|
||||
{{ tuple "bin/_domain-manage.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||
rabbit-init.sh: |
|
||||
{{- include "helm-toolkit.scripts.rabbit_init" . | indent 4 }}
|
||||
+{{- if .Values.conf.federation.dex_idp.enabled}}
|
||||
+ dex_mapping.json: |
|
||||
+{{- if .Values.conf.federation.dex_idp.claim_groups }}
|
||||
+{{ tpl .Values.conf.federation.dex_idp.groups_mapping . | indent 4 }}
|
||||
+{{- else }}
|
||||
+{{ tpl .Values.conf.federation.dex_idp.default_mapping . | indent 4 }}
|
||||
+{{- end }}
|
||||
+{{- if .Values.conf.federation.dex_idp.bootstrap.enabled }}
|
||||
+ dex-bootstrap.sh: |
|
||||
+{{ tpl .Values.conf.federation.dex_idp.bootstrap.script . | indent 4 }}
|
||||
+{{- end }}
|
||||
+{{- end }}
|
||||
{{- end }}
|
||||
diff --git a/keystone/templates/job-bootstrap.yaml b/keystone/templates/job-bootstrap.yaml
|
||||
index 37ce4a481..cae003b9b 100644
|
||||
--- a/keystone/templates/job-bootstrap.yaml
|
||||
+++ b/keystone/templates/job-bootstrap.yaml
|
||||
@@ -17,8 +17,14 @@ helm.sh/hook: post-install,post-upgrade
|
||||
helm.sh/hook-weight: "5"
|
||||
{{- end }}
|
||||
|
||||
+{{- $podVolMounts := list }}
|
||||
+{{- if and (.Values.conf.federation.dex_idp.bootstrap.enabled) (.Values.conf.federation.dex_idp.enabled) }}
|
||||
+{{- $podVolMounts = append $podVolMounts (dict "name" "bootstrap-sh" "mountPath" "/tmp/dex_mapping.json" "subPath" "dex_mapping.json" "readOnly" true) }}
|
||||
+{{- $podVolMounts = append $podVolMounts (dict "name" "bootstrap-sh" "mountPath" "/tmp/dex-bootstrap.sh" "subPath" "dex-bootstrap.sh" "readOnly" true) }}
|
||||
+{{- end }}
|
||||
+
|
||||
{{- if and .Values.manifests.job_bootstrap .Values.bootstrap.enabled }}
|
||||
-{{- $bootstrapJob := dict "envAll" . "serviceName" "keystone" "keystoneUser" .Values.bootstrap.ks_user "logConfigFile" .Values.conf.keystone.DEFAULT.log_config_append "jobAnnotations" (include "metadata.annotations.job.bootstrap" . | fromYaml) -}}
|
||||
+{{- $bootstrapJob := dict "envAll" . "serviceName" "keystone" "keystoneUser" .Values.bootstrap.ks_user "logConfigFile" .Values.conf.keystone.DEFAULT.log_config_append "jobAnnotations" (include "metadata.annotations.job.bootstrap" . | fromYaml) "podVolMounts" $podVolMounts -}}
|
||||
{{- if and ( or .Values.manifests.certificates .Values.tls.identity) .Values.secrets.tls.identity.api.public -}}
|
||||
{{- $_ := set $bootstrapJob "tlsSecret" .Values.secrets.tls.identity.api.public -}}
|
||||
{{- end -}}
|
||||
diff --git a/keystone/values.yaml b/keystone/values.yaml
|
||||
index 7e262d5f9..d1a4bea83 100644
|
||||
--- a/keystone/values.yaml
|
||||
+++ b/keystone/values.yaml
|
||||
@@ -565,6 +565,91 @@ conf:
|
||||
# NOTE(vdrok): The following two options have effect only for SQL backend
|
||||
lockout_failure_attempts: 5
|
||||
lockout_duration: 1800
|
||||
+ federation:
|
||||
+ wsgi:
|
||||
+ OIDCClaimPrefix: "OIDC-"
|
||||
+ OIDCRemoteUserClaim: "email"
|
||||
+ OIDCScope: "openid profile email"
|
||||
+ OIDCClientID: "stx-oidc-client-app"
|
||||
+ OIDCResponseType: "code"
|
||||
+ OIDCSSLValidateServer: "Off"
|
||||
+ OIDCPassClaimsAs: "both"
|
||||
+ OIDCOAuthSSLValidateServer: "Off"
|
||||
+ OIDCEnableMemcached: true
|
||||
+ # Delimiter for multi-valued claims (Keystone expects semicolon for groups)
|
||||
+ OIDCClaimDelimiter: ";"
|
||||
+ dex_conf:
|
||||
+ verify: False
|
||||
+ retries: 1
|
||||
+ timeout: 5
|
||||
+ probe_endpoint: "/healthz"
|
||||
+ dex_idp:
|
||||
+ # Enable DEX integration
|
||||
+ enabled: false
|
||||
+ provider_name: "dex"
|
||||
+ provider_remote_id: "https://0.0.0.0:30556/dex" # This IP is the one used in the DEX configuration
|
||||
+ protocol_name: "openid"
|
||||
+ group_name: "federated_users"
|
||||
+ project_name: "federation"
|
||||
+ mapping_name: "dex_mapping"
|
||||
+ # Horizon WebSSO configuration
|
||||
+ websso_label: "Login with DEX SSO"
|
||||
+ websso_initial_choice: "credentials"
|
||||
+ # Enable group-based authentication (groups from OIDC provider)
|
||||
+ claim_groups: false
|
||||
+ # Groups to create when claim_groups is enabled (project defaults to <name>_project, role defaults to member)
|
||||
+ groups: []
|
||||
+ # groups:
|
||||
+ # - name: developers
|
||||
+ # project: dev_project
|
||||
+ # role: admin
|
||||
+ # - name: operators
|
||||
+ # Mapping for claim_groups: false
|
||||
+ default_mapping: |
|
||||
+ [{
|
||||
+ "local": [{
|
||||
+ "user": {"name": "{0}"},
|
||||
+ "group": {"name": "{{ .Values.conf.federation.dex_idp.group_name }}", "domain": {"name": "Default"}}
|
||||
+ }],
|
||||
+ "remote": [{"type": "OIDC-email"}]
|
||||
+ }]
|
||||
+ # Mapping for claim_groups: true
|
||||
+ # Maps OIDC groups directly to Keystone groups (groups must exist in Keystone)
|
||||
+ groups_mapping: |
|
||||
+ [{
|
||||
+ "local": [
|
||||
+ {"user": {"name": "{0}"}},
|
||||
+ {"groups": "{1}", "domain": {"name": "Default"}}
|
||||
+ ],
|
||||
+ "remote": [
|
||||
+ {"type": "OIDC-email"},
|
||||
+ {"type": "OIDC-groups"}
|
||||
+ ]
|
||||
+ }]
|
||||
+ # Add DEX extra bootstrap commands to keystone bootstrap
|
||||
+ bootstrap:
|
||||
+ enabled: true
|
||||
+ script: |
|
||||
+ openstack role create member 2>/dev/null || true
|
||||
+ openstack role create admin 2>/dev/null || true
|
||||
+ {{- if .Values.conf.federation.dex_idp.claim_groups }}
|
||||
+ {{- range .Values.conf.federation.dex_idp.groups }}
|
||||
+ {{- $groupName := .name }}
|
||||
+ {{- $projectName := .project | default (printf "%s_project" .name) }}
|
||||
+ {{- $roleName := .role | default "member" }}
|
||||
+ openstack group create {{ $groupName }} 2>/dev/null || true
|
||||
+ openstack project create {{ $projectName }} 2>/dev/null || true
|
||||
+ openstack role add --group {{ $groupName }} --project {{ $projectName }} {{ $roleName }} 2>/dev/null || true
|
||||
+ {{- end }}
|
||||
+ {{- else }}
|
||||
+ openstack group create {{ .Values.conf.federation.dex_idp.group_name }} 2>/dev/null || true
|
||||
+ openstack project create {{ .Values.conf.federation.dex_idp.project_name }} 2>/dev/null || true
|
||||
+ openstack role add --group {{ .Values.conf.federation.dex_idp.group_name }} --project {{ .Values.conf.federation.dex_idp.project_name }} member 2>/dev/null || true
|
||||
+ {{- end }}
|
||||
+ openstack identity provider create {{ .Values.conf.federation.dex_idp.provider_name }} --remote-id {{ .Values.conf.federation.dex_idp.provider_remote_id }} 2>/dev/null || true
|
||||
+ openstack mapping create --rules /tmp/dex_mapping.json {{ .Values.conf.federation.dex_idp.mapping_name }} 2>/dev/null || \
|
||||
+ openstack mapping set --rules /tmp/dex_mapping.json {{ .Values.conf.federation.dex_idp.mapping_name }}
|
||||
+ openstack federation protocol create {{ .Values.conf.federation.dex_idp.protocol_name }} --identity-provider {{ .Values.conf.federation.dex_idp.provider_name }} --mapping {{ .Values.conf.federation.dex_idp.mapping_name }} 2>/dev/null || true
|
||||
# NOTE(lamt) We can leverage multiple domains with different
|
||||
# configurations as outlined in
|
||||
# https://docs.openstack.org/keystone/pike/admin/identity-domain-specific-config.html.
|
||||
--
|
||||
2.34.1
|
||||
-237
@@ -1,237 +0,0 @@
|
||||
From f4a89b354d90078cb82539bde4fd95759622c6cf Mon Sep 17 00:00:00 2001
|
||||
From: Joao Fracarolli <joao.vicentinifracarolli@windriver.com>
|
||||
Date: Wed, 26 Nov 2025 11:36:33 -0300
|
||||
Subject: [PATCH] Add Netapp backend support to Cinder
|
||||
|
||||
This patch modifies Cinder's helm chart and shell templates
|
||||
to add support for NetApp backends. This includes:
|
||||
|
||||
- Add logic to check if a given backend is enabled when
|
||||
creating it's specific resources and mounts
|
||||
- Add new utils templates to improve the templates readability
|
||||
and to help implementing the conditional rendering
|
||||
|
||||
Change-Id: Id10aa9f85cabd622b62b1dc851fa50cb863987bd
|
||||
Signed-off-by: Joao Fracarolli <joao.vicentinifracarolli@windriver.com>
|
||||
|
||||
[Mount cinder volumes to support NetApp iSCSI]
|
||||
This change updates the patch by mounting a new volume
|
||||
required by cinder/ssh_utils.py to enable the creation and updating of
|
||||
the /var/lib/cinder/ssh_known_hosts file [3] during iSCSI session
|
||||
initializations.
|
||||
|
||||
[1]https://review.opendev.org/c/openstack/openstack-helm/+/704429
|
||||
[2]https://review.opendev.org/c/starlingx/openstack-armada-app/+/968753
|
||||
[3]https://opendev.org/openstack/cinder/src/commit/b87d45b3c87ad836d94c7bcbde1dbaeff5f1caae/cinder/ssh_utils.py#L82
|
||||
|
||||
Signed-off-by: Alex Figueiredo <alex.fernandesfigueiredo@windriver.com>
|
||||
|
||||
[Removes Cinder state path mounts]
|
||||
Cinder state path can be mounted dynamically by overriding the
|
||||
`pod.mounts.cinder_volume` and `pod.mounts.cinder_backup` when required
|
||||
per cinder storage backend.
|
||||
|
||||
Signed-off-by: Alex Figueiredo <alex.fernandesfigueiredo@windriver.com>
|
||||
---
|
||||
cinder/templates/bin/_storage-init.sh.tpl | 5 ++++
|
||||
cinder/templates/deployment-volume.yaml | 4 ++-
|
||||
cinder/templates/job-storage-init.yaml | 18 +++++++----
|
||||
cinder/templates/utils/_has_ceph_backend.tpl | 4 ++-
|
||||
.../templates/utils/_has_netapp_backend.tpl | 25 ++++++++++++++++
|
||||
.../templates/utils/_is_backend_enabled.tpl | 30 +++++++++++++++++++
|
||||
6 files changed, 78 insertions(+), 8 deletions(-)
|
||||
create mode 100644 cinder/templates/utils/_has_netapp_backend.tpl
|
||||
create mode 100644 cinder/templates/utils/_is_backend_enabled.tpl
|
||||
|
||||
diff --git a/cinder/templates/bin/_storage-init.sh.tpl b/cinder/templates/bin/_storage-init.sh.tpl
|
||||
index 53b0b071c..a04cc0856 100644
|
||||
--- a/cinder/templates/bin/_storage-init.sh.tpl
|
||||
+++ b/cinder/templates/bin/_storage-init.sh.tpl
|
||||
@@ -14,6 +14,11 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/}}
|
||||
|
||||
+set -x
|
||||
+if [ "x$STORAGE_BACKEND" == "xcinder.volume.drivers.netapp.common.NetAppDriver" ]; then
|
||||
+ echo "INFO: no action required to use ${STORAGE_BACKEND}"
|
||||
+fi
|
||||
+
|
||||
set -x
|
||||
if [ "x$STORAGE_BACKEND" == "xcinder.volume.drivers.rbd.RBDDriver" ]; then
|
||||
SECRET=$(mktemp --suffix .yaml)
|
||||
diff --git a/cinder/templates/deployment-volume.yaml b/cinder/templates/deployment-volume.yaml
|
||||
index e82128501..20803b5a6 100644
|
||||
--- a/cinder/templates/deployment-volume.yaml
|
||||
+++ b/cinder/templates/deployment-volume.yaml
|
||||
@@ -74,6 +74,7 @@ spec:
|
||||
{{ tuple $envAll "volume" $mounts_cinder_volume_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
|
||||
{{- range $name := rest (splitList "," (include "cinder.utils.ceph_backend_list" $envAll)) }}
|
||||
{{- $backend := index $envAll.Values.conf.backends $name }}
|
||||
+ {{- if eq "true" (tuple $envAll $name | include "cinder.utils.is_backend_enabled") -}}
|
||||
{{- if eq $internal_ceph_backend $name }}
|
||||
- name: ceph-keyring-placement-{{ $name | lower }}
|
||||
{{ tuple $envAll "cinder_volume" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||
@@ -107,6 +108,7 @@ spec:
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
+ {{- end }}
|
||||
{{- end }}
|
||||
{{- if eq ( split "://" .Values.conf.cinder.coordination.backend_url )._0 "file" }}
|
||||
- name: ceph-coordination-volume-perms
|
||||
@@ -188,7 +190,7 @@ spec:
|
||||
mountPath: /etc/cinder/conf/backends.conf
|
||||
subPath: backends.conf
|
||||
readOnly: true
|
||||
- {{- if hasKey .Values.conf "nfs_shares" }}
|
||||
+ {{- if and (eq "true" (include "cinder.utils.has_netapp_backend" $envAll)) (hasKey .Values.conf "nfs_shares") }}
|
||||
- name: cinder-etc
|
||||
mountPath: /etc/cinder/nfs.shares
|
||||
subPath: nfs.shares
|
||||
diff --git a/cinder/templates/job-storage-init.yaml b/cinder/templates/job-storage-init.yaml
|
||||
index 6a63ce4a0..b1dca36bf 100755
|
||||
--- a/cinder/templates/job-storage-init.yaml
|
||||
+++ b/cinder/templates/job-storage-init.yaml
|
||||
@@ -103,8 +103,7 @@ spec:
|
||||
{{ end }}
|
||||
containers:
|
||||
{{- range $name, $backend := .Values.conf.backends }}
|
||||
- {{- if (eq "true" ( dict "backend" $backend | include "cinder.utils.is_ceph_backend" )) }}
|
||||
- {{- if eq $internal_ceph_backend $name }}
|
||||
+ {{- if eq "true" (tuple $envAll $name | include "cinder.utils.is_backend_enabled") }}
|
||||
- name: cinder-storage-init-{{ $name | lower }}
|
||||
{{ tuple $envAll "cinder_storage_init" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||
{{ tuple $envAll $envAll.Values.pod.resources.jobs.storage_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
|
||||
@@ -115,6 +114,8 @@ spec:
|
||||
fieldPath: metadata.namespace
|
||||
- name: STORAGE_BACKEND
|
||||
value: {{ $backend.volume_driver | quote }}
|
||||
+ {{- if (eq "true" ( dict "backend" $backend | include "cinder.utils.is_ceph_backend" )) }}
|
||||
+ {{- if eq $internal_ceph_backend $name }}
|
||||
- name: RBD_POOL_NAME
|
||||
value: {{ $backend.rbd_pool | quote }}
|
||||
- name: RBD_POOL_APP_NAME
|
||||
@@ -129,6 +130,8 @@ spec:
|
||||
value: {{ (index $envAll.Values.conf.ceph.pools $backend.rbd_pool).chunk_size | quote }}
|
||||
- name: RBD_POOL_SECRET
|
||||
value: {{ $envAll.Values.secrets.rbd.volume | quote }}
|
||||
+ {{- end }}
|
||||
+ {{- end }}
|
||||
command:
|
||||
- /tmp/storage-init.sh
|
||||
volumeMounts:
|
||||
@@ -138,21 +141,24 @@ spec:
|
||||
mountPath: /tmp/storage-init.sh
|
||||
subPath: storage-init.sh
|
||||
readOnly: true
|
||||
+ {{- if (eq "true" ( dict "backend" $backend | include "cinder.utils.is_ceph_backend" )) }}
|
||||
+ {{- if eq $internal_ceph_backend $name }}
|
||||
- name: etcceph
|
||||
mountPath: /etc/ceph
|
||||
- name: ceph-etc
|
||||
mountPath: /etc/ceph/ceph.conf
|
||||
subPath: ceph.conf
|
||||
readOnly: true
|
||||
- {{- if empty $envAll.Values.conf.ceph.admin_keyring }}
|
||||
+ {{- if empty $envAll.Values.conf.ceph.admin_keyring }}
|
||||
- name: ceph-keyring
|
||||
mountPath: /tmp/client-keyring
|
||||
subPath: key
|
||||
readOnly: true
|
||||
- {{- end }}
|
||||
- {{- end }}
|
||||
+ {{- end }}
|
||||
+ {{- end }}
|
||||
+ {{- end }}
|
||||
+ {{- end }}
|
||||
{{- end }}
|
||||
- {{- end }}
|
||||
volumes:
|
||||
- name: pod-tmp
|
||||
emptyDir: {}
|
||||
diff --git a/cinder/templates/utils/_has_ceph_backend.tpl b/cinder/templates/utils/_has_ceph_backend.tpl
|
||||
index bf975bb37..4e4f21e97 100644
|
||||
--- a/cinder/templates/utils/_has_ceph_backend.tpl
|
||||
+++ b/cinder/templates/utils/_has_ceph_backend.tpl
|
||||
@@ -16,7 +16,9 @@ limitations under the License.
|
||||
{{- $has_ceph := false -}}
|
||||
{{- range $_, $backend := .Values.conf.backends -}}
|
||||
{{- if kindIs "map" $backend -}}
|
||||
- {{- $has_ceph = or $has_ceph (eq $backend.volume_driver "cinder.volume.drivers.rbd.RBDDriver") -}}
|
||||
+ {{- if eq "true" (tuple $ $backend.volume_backend_name | include "cinder.utils.is_backend_enabled") -}}
|
||||
+ {{- $has_ceph = or $has_ceph (eq $backend.volume_driver "cinder.volume.drivers.rbd.RBDDriver") -}}
|
||||
+ {{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $has_ceph -}}
|
||||
diff --git a/cinder/templates/utils/_has_netapp_backend.tpl b/cinder/templates/utils/_has_netapp_backend.tpl
|
||||
new file mode 100644
|
||||
index 000000000..f791b804c
|
||||
--- /dev/null
|
||||
+++ b/cinder/templates/utils/_has_netapp_backend.tpl
|
||||
@@ -0,0 +1,25 @@
|
||||
+{{/*
|
||||
+Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+you may not use this file except in compliance with the License.
|
||||
+You may obtain a copy of the License at
|
||||
+
|
||||
+ http://www.apache.org/licenses/LICENSE-2.0
|
||||
+
|
||||
+Unless required by applicable law or agreed to in writing, software
|
||||
+distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+See the License for the specific language governing permissions and
|
||||
+limitations under the License.
|
||||
+*/}}
|
||||
+
|
||||
+{{- define "cinder.utils.has_netapp_backend" -}}
|
||||
+ {{- $has_netapp := false -}}
|
||||
+ {{- range $_, $backend := .Values.conf.backends -}}
|
||||
+ {{- if kindIs "map" $backend -}}
|
||||
+ {{- if eq "true" (tuple $ $backend.volume_backend_name | include "cinder.utils.is_backend_enabled") -}}
|
||||
+ {{- $has_netapp = or $has_netapp (eq $backend.volume_driver "cinder.volume.drivers.netapp.common.NetAppDriver") -}}
|
||||
+ {{- end -}}
|
||||
+ {{- end -}}
|
||||
+ {{- end -}}
|
||||
+ {{- $has_netapp -}}
|
||||
+{{- end -}}
|
||||
diff --git a/cinder/templates/utils/_is_backend_enabled.tpl b/cinder/templates/utils/_is_backend_enabled.tpl
|
||||
new file mode 100644
|
||||
index 000000000..514187f6f
|
||||
--- /dev/null
|
||||
+++ b/cinder/templates/utils/_is_backend_enabled.tpl
|
||||
@@ -0,0 +1,30 @@
|
||||
+{{/*
|
||||
+Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+you may not use this file except in compliance with the License.
|
||||
+You may obtain a copy of the License at
|
||||
+
|
||||
+ http://www.apache.org/licenses/LICENSE-2.0
|
||||
+
|
||||
+Unless required by applicable law or agreed to in writing, software
|
||||
+distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+See the License for the specific language governing permissions and
|
||||
+limitations under the License.
|
||||
+*/}}
|
||||
+
|
||||
+{{- /*
|
||||
+ Returns true if a given backend is enabled by checking the
|
||||
+ Values.conf.cinder.DEFAULT.enabled_backends configuration
|
||||
+
|
||||
+ Usage:
|
||||
+ $is_enabled := (tuple $ctx $backend | include "cinder.utils.is_backend_enabled")
|
||||
+*/ -}}
|
||||
+
|
||||
+{{- define "cinder.utils.is_backend_enabled" -}}
|
||||
+ {{- $args := . -}}
|
||||
+ {{- $ctx := index $args 0 -}}
|
||||
+ {{- $backend := index $args 1 -}}
|
||||
+ {{- $enabled_backends := $ctx.Values.conf.cinder.DEFAULT.enabled_backends -}}
|
||||
+ {{- $backend_list := splitList "," $enabled_backends -}}
|
||||
+ {{- printf "%v" (has $backend $backend_list) -}}
|
||||
+{{- end -}}
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.34.1
|
||||
|
||||
-285
@@ -1,285 +0,0 @@
|
||||
From fbb58d9c25aa112164a3deeeb18a869b9e67832c Mon Sep 17 00:00:00 2001
|
||||
From: vrochalo <vinicius.rochalobo@windriver.com>
|
||||
Date: Tue, 25 Nov 2025 11:14:27 -0300
|
||||
Subject: [PATCH] Update glance store config
|
||||
|
||||
This patch syncs the Glance backend configuration with
|
||||
the updated model from OpenStack-Helm. The upstream
|
||||
version referenced by Armada still included deprecated
|
||||
backend fields, which were removed or updated in later
|
||||
commits (884fdc05c94b, ff1582dd3a92, c4c80371f9a3).
|
||||
|
||||
Their relevant changes were consolidated into this single
|
||||
patch, keeping only what is needed to update the backend
|
||||
configuration and enable the newer backend workflow
|
||||
(including NetApp integration).
|
||||
|
||||
Signed-off-by: vrochalo <Vinicius.RochaLobo@windriver.com>
|
||||
---
|
||||
glance/Chart.yaml | 2 +-
|
||||
glance/templates/configmap-etc.yaml | 30 ++++++++++++--------------
|
||||
glance/templates/deployment-api.yaml | 17 +++++++++------
|
||||
glance/templates/job-storage-init.yaml | 19 +++++-----------
|
||||
glance/templates/pvc-images.yaml | 2 +-
|
||||
glance/values.yaml | 27 +++++++++++++++++++++++
|
||||
glance/values_overrides/tls.yaml | 1 +
|
||||
releasenotes/notes/glance.yaml | 4 ++++
|
||||
8 files changed, 64 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/glance/Chart.yaml b/glance/Chart.yaml
|
||||
index c5adfefa..549138c8 100644
|
||||
--- a/glance/Chart.yaml
|
||||
+++ b/glance/Chart.yaml
|
||||
@@ -14,7 +14,7 @@ apiVersion: v1
|
||||
appVersion: v1.0.0
|
||||
description: OpenStack-Helm Glance
|
||||
name: glance
|
||||
-version: 0.4.23
|
||||
+version: 0.5.0
|
||||
home: https://docs.openstack.org/glance/latest/
|
||||
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Glance/OpenStack_Project_Glance_vertical.png
|
||||
sources:
|
||||
diff --git a/glance/templates/configmap-etc.yaml b/glance/templates/configmap-etc.yaml
|
||||
index 210560b0..70dfd040 100644
|
||||
--- a/glance/templates/configmap-etc.yaml
|
||||
+++ b/glance/templates/configmap-etc.yaml
|
||||
@@ -68,27 +68,25 @@ limitations under the License.
|
||||
{{- $_ := tuple "image" "public" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.glance.DEFAULT "public_endpoint" -}}
|
||||
{{- end -}}
|
||||
|
||||
-{{- if empty .Values.conf.glance.glance_store.stores -}}
|
||||
+{{- if empty .Values.conf.glance.DEFAULT.enabled_backends -}}
|
||||
{{- if eq .Values.storage "rbd" }}
|
||||
-{{- $_ := "file, http, rbd" | set .Values.conf.glance.glance_store "stores" -}}
|
||||
-{{- end -}}
|
||||
-{{- if eq .Values.storage "pvc" }}
|
||||
-{{- $_ := "file, http" | set .Values.conf.glance.glance_store "stores" -}}
|
||||
-{{- end -}}
|
||||
-{{ if or (eq .Values.storage "radosgw") (eq .Values.storage "swift") }}
|
||||
-{{- $_ := "file, http, swift" | set .Values.conf.glance.glance_store "stores" -}}
|
||||
+{{- $_ := "file:file,http:http,rbd:rbd" | set .Values.conf.glance.DEFAULT "enabled_backends" -}}
|
||||
+{{- else if or (eq .Values.storage "radosgw") (eq .Values.storage "swift") }}
|
||||
+{{- $_ := "file:file,http:http,swift:swift" | set .Values.conf.glance.DEFAULT "enabled_backends" -}}
|
||||
+{{- else -}}
|
||||
+{{/* pvc, local (hostPath) or other/ephemeral (emptyDir) */}}
|
||||
+{{- $_ := "file:file,http:http" | set .Values.conf.glance.DEFAULT "enabled_backends" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
-{{- if empty .Values.conf.glance.glance_store.default_store -}}
|
||||
+{{- if empty .Values.conf.glance.glance_store.default_backend -}}
|
||||
{{- if eq .Values.storage "rbd" }}
|
||||
-{{- $_ := "rbd" | set .Values.conf.glance.glance_store "default_store" -}}
|
||||
-{{- end -}}
|
||||
-{{- if eq .Values.storage "pvc" }}
|
||||
-{{- $_ := "file" | set .Values.conf.glance.glance_store "default_store" -}}
|
||||
-{{- end -}}
|
||||
-{{ if or (eq .Values.storage "radosgw") (eq .Values.storage "swift") }}
|
||||
-{{- $_ := "swift" | set .Values.conf.glance.glance_store "default_store" -}}
|
||||
+{{- $_ := "rbd" | set .Values.conf.glance.glance_store "default_backend" -}}
|
||||
+{{- else if or (eq .Values.storage "radosgw") (eq .Values.storage "swift") }}
|
||||
+{{- $_ := "swift" | set .Values.conf.glance.glance_store "default_backend" -}}
|
||||
+{{- else -}}
|
||||
+{{/* pvc, local (hostPath) or other/ephemeral (emptyDir) */}}
|
||||
+{{- $_ := "file" | set .Values.conf.glance.glance_store "default_backend" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
diff --git a/glance/templates/deployment-api.yaml b/glance/templates/deployment-api.yaml
|
||||
index 3ba5f17a..4cb910a6 100644
|
||||
--- a/glance/templates/deployment-api.yaml
|
||||
+++ b/glance/templates/deployment-api.yaml
|
||||
@@ -89,19 +89,19 @@ spec:
|
||||
- chown
|
||||
- -R
|
||||
- "glance:"
|
||||
- - {{ .Values.conf.glance.glance_store.filesystem_store_datadir }}
|
||||
+ - {{ .Values.conf.glance.file.filesystem_store_datadir }}
|
||||
volumeMounts:
|
||||
- name: pod-tmp
|
||||
mountPath: /tmp
|
||||
- name: glance-images
|
||||
- mountPath: {{ .Values.conf.glance.glance_store.filesystem_store_datadir }}
|
||||
+ mountPath: {{ .Values.conf.glance.file.filesystem_store_datadir }}
|
||||
{{ if eq .Values.storage "rbd" }}
|
||||
- name: ceph-keyring-placement
|
||||
{{ tuple $envAll "glance_api" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||
{{ dict "envAll" $envAll "application" "glance" "container" "ceph_keyring_placement" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
|
||||
env:
|
||||
- name: RBD_STORE_USER
|
||||
- value: {{ .Values.conf.glance.glance_store.rbd_store_user | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.rbd_store_user | quote }}
|
||||
command:
|
||||
- /tmp/ceph-keyring.sh
|
||||
volumeMounts:
|
||||
@@ -209,11 +209,11 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
- name: glance-etc
|
||||
- mountPath: {{ .Values.conf.glance.glance_store.swift_store_config_file }}
|
||||
+ mountPath: {{ .Values.conf.glance.swift.swift_store_config_file }}
|
||||
subPath: swift-store.conf
|
||||
readOnly: true
|
||||
- name: glance-images
|
||||
- mountPath: {{ .Values.conf.glance.glance_store.filesystem_store_datadir }}
|
||||
+ mountPath: {{ .Values.conf.glance.file.filesystem_store_datadir }}
|
||||
{{- if eq .Values.storage "cinder" }}
|
||||
- name: host-rootfs
|
||||
mountPath: /mnt/host-rootfs
|
||||
@@ -287,7 +287,12 @@ spec:
|
||||
- name: glance-images
|
||||
persistentVolumeClaim:
|
||||
claimName: glance-images
|
||||
-{{ else }}
|
||||
+{{ else if eq .Values.storage "local" }}
|
||||
+ - name: glance-images
|
||||
+ hostPath:
|
||||
+ path: {{ .Values.conf.glance.file.filesystem_store_datadir }}
|
||||
+ type: DirectoryOrCreate
|
||||
+{{- else }}
|
||||
- name: glance-images
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
diff --git a/glance/templates/job-storage-init.yaml b/glance/templates/job-storage-init.yaml
|
||||
index 22cd4109..5e6a210a 100644
|
||||
--- a/glance/templates/job-storage-init.yaml
|
||||
+++ b/glance/templates/job-storage-init.yaml
|
||||
@@ -114,17 +114,17 @@ spec:
|
||||
value: {{ .Values.storage | quote }}
|
||||
{{- if eq .Values.storage "rbd" }}
|
||||
- name: RBD_POOL_NAME
|
||||
- value: {{ .Values.conf.glance.glance_store.rbd_store_pool | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.rbd_store_pool | quote }}
|
||||
- name: RBD_POOL_APP_NAME
|
||||
value: {{ .Values.conf.software.rbd.rbd_store_pool_app_name | quote }}
|
||||
- name: RBD_POOL_USER
|
||||
- value: {{ .Values.conf.glance.glance_store.rbd_store_user | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.rbd_store_user | quote }}
|
||||
- name: RBD_POOL_REPLICATION
|
||||
- value: {{ .Values.conf.glance.glance_store.rbd_store_replication | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.rbd_store_replication | quote }}
|
||||
- name: RBD_POOL_CRUSH_RULE
|
||||
- value: {{ .Values.conf.glance.glance_store.rbd_store_crush_rule | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.rbd_store_crush_rule | quote }}
|
||||
- name: RBD_POOL_CHUNK_SIZE
|
||||
- value: {{ .Values.conf.glance.glance_store.chunk_size | quote }}
|
||||
+ value: {{ .Values.conf.glance.rbd.chunk_size | quote }}
|
||||
- name: RBD_POOL_SECRET
|
||||
value: {{ .Values.secrets.rbd | quote }}
|
||||
{{ end }}
|
||||
@@ -166,10 +166,6 @@ spec:
|
||||
readOnly: true
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
- {{- if eq .Values.storage "pvc" }}
|
||||
- - name: glance-images
|
||||
- mountPath: {{ .Values.conf.glance.glance_store.filesystem_store_datadir }}
|
||||
- {{ end }}
|
||||
{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.public | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
|
||||
volumes:
|
||||
- name: pod-tmp
|
||||
@@ -191,10 +187,5 @@ spec:
|
||||
secretName: {{ .Values.ceph_client.user_secret_name }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
- {{- if eq .Values.storage "pvc" }}
|
||||
- - name: glance-images
|
||||
- persistentVolumeClaim:
|
||||
- claimName: glance-images
|
||||
- {{ end }}
|
||||
{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.public | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
|
||||
{{- end }}
|
||||
diff --git a/glance/templates/pvc-images.yaml b/glance/templates/pvc-images.yaml
|
||||
index 21ea9613..9451a959 100644
|
||||
--- a/glance/templates/pvc-images.yaml
|
||||
+++ b/glance/templates/pvc-images.yaml
|
||||
@@ -25,7 +25,7 @@ metadata:
|
||||
helm.sh/resource-policy: keep
|
||||
{{- end }}
|
||||
spec:
|
||||
- accessModes: [ "ReadWriteOnce" ]
|
||||
+ accessModes: {{ .Values.volume.accessModes }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.volume.size }}
|
||||
diff --git a/glance/values.yaml b/glance/values.yaml
|
||||
index c902bcab..bad40e5c 100644
|
||||
--- a/glance/values.yaml
|
||||
+++ b/glance/values.yaml
|
||||
@@ -263,6 +263,10 @@ conf:
|
||||
memcache_security_strategy: ENCRYPT
|
||||
service_type: image
|
||||
glance_store:
|
||||
+ # Since 2024.1 this section must contain the only key 'default_backend'.
|
||||
+ # Other keys should be defined in the corresponding per-backend sections.
|
||||
+ # This is for backward compatibility.
|
||||
+ filesystem_store_datadir: /var/lib/glance/images
|
||||
cinder_catalog_info: volumev3::internalURL
|
||||
chunk_size: 8
|
||||
rbd_store_replication: 3
|
||||
@@ -270,7 +274,28 @@ conf:
|
||||
rbd_store_pool: glance.images
|
||||
rbd_store_user: glance
|
||||
rbd_store_ceph_conf: /etc/ceph/ceph.conf
|
||||
+ default_swift_reference: ref1
|
||||
+ swift_store_container: glance
|
||||
+ swift_store_create_container_on_put: true
|
||||
+ swift_store_config_file: /etc/glance/swift-store.conf
|
||||
+ swift_store_endpoint_type: internalURL
|
||||
+ file:
|
||||
filesystem_store_datadir: /var/lib/glance/images
|
||||
+ # These two sections os_glance_tasks_store and os_glance_staging_store
|
||||
+ # are mandatory. Glance will be unable to delete images from if these
|
||||
+ # two are not properly configured.
|
||||
+ os_glance_tasks_store:
|
||||
+ filesystem_store_datadir: /var/lib/glance/tmp/os_glance_tasks_store
|
||||
+ os_glance_staging_store:
|
||||
+ filesystem_store_datadir: /var/lib/glance/tmp/os_glance_staging_store
|
||||
+ rbd:
|
||||
+ rbd_store_chunk_size: 8
|
||||
+ rbd_store_replication: 3
|
||||
+ rbd_store_crush_rule: replicated_rule
|
||||
+ rbd_store_pool: glance.images
|
||||
+ rbd_store_user: glance
|
||||
+ rbd_store_ceph_conf: /etc/ceph/ceph.conf
|
||||
+ swift:
|
||||
default_swift_reference: ref1
|
||||
swift_store_container: glance
|
||||
swift_store_create_container_on_put: true
|
||||
@@ -427,6 +452,8 @@ network:
|
||||
volume:
|
||||
class_name: general
|
||||
size: 2Gi
|
||||
+ accessModes:
|
||||
+ - ReadWriteOnce
|
||||
|
||||
dependencies:
|
||||
dynamic:
|
||||
diff --git a/glance/values_overrides/tls.yaml b/glance/values_overrides/tls.yaml
|
||||
index d1aa35ad..86cba608 100644
|
||||
--- a/glance/values_overrides/tls.yaml
|
||||
+++ b/glance/values_overrides/tls.yaml
|
||||
@@ -7,6 +7,7 @@ conf:
|
||||
keystone_authtoken:
|
||||
cafile: /etc/glance/certs/ca.crt
|
||||
glance_store:
|
||||
+ # This option has been removed in 2024.1
|
||||
https_ca_certificates_file: /etc/glance/certs/ca.crt
|
||||
swift_store_cacert: /etc/glance/certs/ca.crt
|
||||
oslo_messaging_rabbit:
|
||||
diff --git a/releasenotes/notes/glance.yaml b/releasenotes/notes/glance.yaml
|
||||
index 3456e15c..f3438339 100644
|
||||
--- a/releasenotes/notes/glance.yaml
|
||||
+++ b/releasenotes/notes/glance.yaml
|
||||
@@ -57,4 +57,8 @@ glance:
|
||||
- 0.4.21 Use uWSGI
|
||||
- 0.4.22 Enable custom annotations for Openstack secrets
|
||||
- 0.4.23 Update images used by default
|
||||
+ - 0.4.24 Do not attach backend pvc to storage init pod
|
||||
+ - 0.4.25 Allow customisation of pvc storage accessMode so we can run multiple api pods
|
||||
+ - 0.4.26 Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal by default
|
||||
+ - 0.5.0 Remove deprecated config options `stores` and `default_store`
|
||||
...
|
||||
--
|
||||
2.34.1
|
||||
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
From dc2d4dae1df45be1d0a6f27b1bd3edf72ae355e2 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Miranda <tmarques@windriver.com>
|
||||
Date: Mon, 22 Dec 2025 18:38:00 -0300
|
||||
Subject: [PATCH] Add backend checks to skip Ceph init for NetApp storage
|
||||
|
||||
Introduce conditional logic to skip Ceph initialization when using
|
||||
NetApp backends (file, cinder, or pvc).
|
||||
The script now prints an informational message and only runs the Ceph
|
||||
bootstrap when the backend is rbd.
|
||||
|
||||
Signed-off-by: Thiago Miranda <tmarques@windriver.com>
|
||||
---
|
||||
glance/templates/bin/_storage-init.sh.tpl | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/glance/templates/bin/_storage-init.sh.tpl b/glance/templates/bin/_storage-init.sh.tpl
|
||||
index f780ff9e8..53ba9f155 100644
|
||||
--- a/glance/templates/bin/_storage-init.sh.tpl
|
||||
+++ b/glance/templates/bin/_storage-init.sh.tpl
|
||||
@@ -30,8 +30,8 @@ if [[ "$SCHEME" == "https" && -f /etc/ssl/certs/openstack-helm.crt ]]; then
|
||||
fi
|
||||
|
||||
set -ex
|
||||
-if [ "x$STORAGE_BACKEND" == "xpvc" ]; then
|
||||
- echo "No action required."
|
||||
+if [ "x$STORAGE_BACKEND" == "xfile" ] || [ "x$STORAGE_BACKEND" == "xpvc" ]; then
|
||||
+ echo "INFO: No action required to use $STORAGE_BACKEND backend."
|
||||
elif [ "x$STORAGE_BACKEND" == "xswift" ]; then
|
||||
: ${OS_INTERFACE:="internal"}
|
||||
OS_TOKEN="$(openstack token issue -f value -c id)"
|
||||
--
|
||||
2.34.1
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
From b49593ed630ee69413429f1626d6793673df0aba Mon Sep 17 00:00:00 2001
|
||||
From: vrochalo <vinicius.rochalobo@windriver.com>
|
||||
Date: Tue, 6 Jan 2026 04:23:29 -0300
|
||||
Subject: [PATCH] Remove cinder default rbd1 backend
|
||||
|
||||
This patch removes dummy backend configuration from
|
||||
Cinder that is not used and comes from values.yaml of
|
||||
OpenStack-Helm. It should be removed because it is a
|
||||
dummy/example config and even on Ceph deployments it
|
||||
is not really used.
|
||||
|
||||
Signed-off-by: vrochalo <Vinicius.RochaLobo@windriver.com>
|
||||
---
|
||||
cinder/values.yaml | 18 +-----------------
|
||||
1 file changed, 1 insertion(+), 17 deletions(-)
|
||||
|
||||
diff --git a/cinder/values.yaml b/cinder/values.yaml
|
||||
index 46c5fce38..2fb2064a8 100644
|
||||
--- a/cinder/values.yaml
|
||||
+++ b/cinder/values.yaml
|
||||
@@ -928,23 +928,7 @@ conf:
|
||||
apply-to: all
|
||||
pattern: '^(?!(amq\.|reply_)).*'
|
||||
|
||||
- backends:
|
||||
- # Those options will be written to backends.conf as-is.
|
||||
- rbd1:
|
||||
- volume_driver: cinder.volume.drivers.rbd.RBDDriver
|
||||
- volume_backend_name: rbd1
|
||||
- rbd_pool: cinder.volumes
|
||||
- rbd_ceph_conf: "/etc/ceph/ceph.conf"
|
||||
- rbd_flatten_volume_from_snapshot: false
|
||||
- report_discard_supported: true
|
||||
- rbd_max_clone_depth: 5
|
||||
- rbd_store_chunk_size: 4
|
||||
- rados_connect_timeout: -1
|
||||
- rbd_user: cinder
|
||||
- rbd_secret_uuid: 457eb676-33da-42ec-9a8c-9293d545c337
|
||||
- image_volume_cache_enabled: true
|
||||
- image_volume_cache_max_size_gb: 200
|
||||
- image_volume_cache_max_count: 50
|
||||
+ backends: null
|
||||
rally_tests:
|
||||
run_tempest: false
|
||||
clean_up: |
|
||||
--
|
||||
2.34.1
|
||||
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
From bc1af8fc831eeaf32c51197e3603c89b08caf97e Mon Sep 17 00:00:00 2001
|
||||
From: jchialun <johnny.chialung@windriver.com>
|
||||
Date: Fri, 10 Oct 2025 12:18:54 -0500
|
||||
Subject: [PATCH 1/1] Volume backup support with Openstack plugging and SDK
|
||||
|
||||
Add openstack plugin support to communicate with STX-O and Openstack
|
||||
vanilla by adding a default value to the location parameter. It is
|
||||
required to keep compatibility with vanilla versions.
|
||||
|
||||
Signed-off-by: Johnny Chia <johnny.chialung@windriver.com>
|
||||
---
|
||||
openstackclient/volume/v2/volume_backup.py | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/openstackclient/volume/v2/volume_backup.py b/openstackclient/volume/v2/volume_backup.py
|
||||
index decb5beb..bf8646ea 100644
|
||||
--- a/openstackclient/volume/v2/volume_backup.py
|
||||
+++ b/openstackclient/volume/v2/volume_backup.py
|
||||
@@ -158,9 +158,13 @@ class CreateVolumeBackup(command.ShowOne):
|
||||
|
||||
kwargs['metadata'] = parsed_args.properties
|
||||
|
||||
- if not parsed_args.location and parsed_args.properties:
|
||||
- parsed_args.location = parsed_args.properties.get("location", None)
|
||||
- elif sdk_utils.supports_microversion(volume_client, '3.43'):
|
||||
+ if not parsed_args.location:
|
||||
+ if parsed_args.properties:
|
||||
+ parsed_args.location = parsed_args.properties.get("location", "ceph")
|
||||
+ else:
|
||||
+ parsed_args.location = "ceph"
|
||||
+
|
||||
+ if sdk_utils.supports_microversion(volume_client, '3.43'):
|
||||
if kwargs.get('metadata', None):
|
||||
kwargs['metadata']['location'] = parsed_args.location
|
||||
else:
|
||||
--
|
||||
2.43.0
|
||||
|
||||
Reference in New Issue
Block a user