diff --git a/openstack-helm/centos/openstack-helm.spec b/openstack-helm/centos/openstack-helm.spec index 8d08003d..47f5cdf1 100644 --- a/openstack-helm/centos/openstack-helm.spec +++ b/openstack-helm/centos/openstack-helm.spec @@ -28,6 +28,7 @@ Patch06: 0006-Allow-set-public-endpoint-url-for-keystone-endpoints.patch Patch07: 0007-Wrong-usage-of-rbd_store_chunk_size.patch Patch08: 0008-Add-stx_admin-account.patch Patch09: 0009-Disabling-helm3_hook.patch +Patch10: 0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch BuildRequires: helm BuildRequires: openstack-helm-infra @@ -48,6 +49,7 @@ Openstack Helm charts %patch07 -p1 %patch08 -p1 %patch09 -p1 +%patch10 -p1 %build # Stage helm-toolkit in the local repo diff --git a/openstack-helm/files/0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch b/openstack-helm/files/0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch new file mode 100644 index 00000000..4d0673c9 --- /dev/null +++ b/openstack-helm/files/0010-Add-flavor-extra-spec-hw-pci_irq_affinity_mask.patch @@ -0,0 +1,75 @@ +From 6d54af3aa180b3b82614ebc0cedd8b4d7d9f5db6 Mon Sep 17 00:00:00 2001 +From: rferraz +Date: Wed, 17 Nov 2021 11:32:23 -0300 +Subject: [PATCH] Add-flavor-extra-spec-hw-pci_irq_affinity_mask + +--- + glance/templates/configmap-etc.yaml | 3 +++ + glance/templates/deployment-api.yaml | 6 ++++++ + glance/templates/job-metadefs-load.yaml | 6 ++++++ + glance/values.yaml | 1 + + 4 files changed, 16 insertions(+) + +diff --git a/glance/templates/configmap-etc.yaml b/glance/templates/configmap-etc.yaml +index 97f19fbc..f9be6bfb 100644 +--- a/glance/templates/configmap-etc.yaml ++++ b/glance/templates/configmap-etc.yaml +@@ -195,6 +195,9 @@ data: + glance-api-paste.ini: {{ include "helm-toolkit.utils.to_ini" .Values.conf.paste | b64enc }} + glance-registry.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.glance_registry | b64enc }} + glance-registry-paste.ini: {{ include "helm-toolkit.utils.to_ini" .Values.conf.paste_registry | b64enc }} ++{{- range $key, $val := .Values.conf.extra_metadata }} ++ compute_{{ $key }}.json: {{ toJson $val | b64enc }} ++{{- end }} + policy.yaml: {{ toYaml .Values.conf.policy | b64enc }} + api_audit_map.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.api_audit_map | b64enc }} + {{- include "helm-toolkit.snippets.values_template_renderer" ( dict "envAll" $envAll "template" .Values.conf.swift_store "key" "swift-store.conf" "format" "Secret" ) | indent 2 }} +diff --git a/glance/templates/deployment-api.yaml b/glance/templates/deployment-api.yaml +index 78e16715..81711967 100644 +--- a/glance/templates/deployment-api.yaml ++++ b/glance/templates/deployment-api.yaml +@@ -183,6 +183,12 @@ spec: + mountPath: /etc/glance/glance-api.conf + subPath: glance-api.conf + readOnly: true ++ {{- range $key, $val := .Values.conf.extra_metadata }} ++ - name: glance-etc ++ mountPath: /var/lib/openstack/etc/glance/metadefs/compute_{{ $key }}.json ++ subPath: compute_{{ $key }}.json ++ readOnly: true ++ {{- end }} + {{- if .Values.conf.glance.DEFAULT.log_config_append }} + - name: glance-etc + mountPath: {{ .Values.conf.glance.DEFAULT.log_config_append }} +diff --git a/glance/templates/job-metadefs-load.yaml b/glance/templates/job-metadefs-load.yaml +index 5c162a5f..47c4286a 100644 +--- a/glance/templates/job-metadefs-load.yaml ++++ b/glance/templates/job-metadefs-load.yaml +@@ -64,6 +64,12 @@ spec: + mountPath: /tmp/metadefs-load.sh + subPath: metadefs-load.sh + readOnly: true ++ {{- range $key, $val := .Values.conf.extra_metadata }} ++ - name: glance-etc ++ mountPath: /var/lib/openstack/etc/glance/metadefs/compute_{{ $key }}.json ++ subPath: compute_{{ $key }}.json ++ readOnly: true ++ {{- end }} + - name: etcglance + mountPath: /etc/glance + - name: glance-etc +diff --git a/glance/values.yaml b/glance/values.yaml +index 459f04bc..0d1c2fdb 100644 +--- a/glance/values.yaml ++++ b/glance/values.yaml +@@ -193,6 +193,7 @@ conf: + oslo_config_program: glance-api + filter:http_proxy_to_wsgi: + paste.filter_factory: oslo_middleware:HTTPProxyToWSGI.factory ++ extra_metadata: {} + policy: + metadef_default: '' + metadef_admin: 'role:admin' +-- +2.17.1 + diff --git a/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml b/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml index ca374e45..570d5285 100644 --- a/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml +++ b/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml @@ -765,6 +765,26 @@ data: identity: force_public_endpoint: true conf: + extra_metadata: + pci_irq_affinity: + description: Properties for the handling of PCI IRQ Affinity. These properties may be specified to flavor, image and/or volume (refer to metadata description). + display_name: PCI IRQ Affinity + namespace: OS::Compute::PCIIRQAffinity + properties: + pci_irq_affinity_mask: + description: The metadata hw:pci_irq_affinity_mask specifies which CPU cores are interrupted due to PCI IRQ requests. It can be set as a compute flavor extra spec. + title: PCI IRQ Affinity Mask + type: string + protected: true + resource_type_associations: + - name: OS::Nova::Flavor + prefix: 'hw:' + - name: OS::Glance::Image + prefix: 'hw_' + - name: OS::Cinder::Volume + prefix: 'hw_' + properties_target: image + visibility: public glance: DEFAULT: bind_host: "::"