diff --git a/sysinv/sysinv/sysinv/sysinv/helm/libvirt.py b/sysinv/sysinv/sysinv/sysinv/helm/libvirt.py index 8bdf430f74..2fd6a5dc43 100644 --- a/sysinv/sysinv/sysinv/sysinv/helm/libvirt.py +++ b/sysinv/sysinv/sysinv/sysinv/helm/libvirt.py @@ -37,6 +37,13 @@ class LibvirtHelm(openstack.OpenstackBaseHelm): 'namespaces': [], 'clear_emulator_capabilities': 0 } + }, + 'pod': { + 'mounts': { + 'libvirt': { + 'libvirt': self._get_mount_uefi_overrides() + } + } } } } diff --git a/sysinv/sysinv/sysinv/sysinv/helm/nova.py b/sysinv/sysinv/sysinv/sysinv/helm/nova.py index 0f959c8251..b8f887b9aa 100644 --- a/sysinv/sysinv/sysinv/sysinv/helm/nova.py +++ b/sysinv/sysinv/sysinv/sysinv/helm/nova.py @@ -65,6 +65,11 @@ class NovaHelm(openstack.OpenstackBaseHelm): overrides = { common.HELM_NS_OPENSTACK: { 'pod': { + 'mounts': { + 'nova_compute': { + 'nova_compute': self._get_mount_uefi_overrides() + } + }, 'replicas': { 'api_metadata': self._num_controllers(), 'placement': self._num_controllers(), diff --git a/sysinv/sysinv/sysinv/sysinv/helm/openstack.py b/sysinv/sysinv/sysinv/sysinv/helm/openstack.py index 9f556f4801..5a7a4b2087 100644 --- a/sysinv/sysinv/sysinv/sysinv/helm/openstack.py +++ b/sysinv/sysinv/sysinv/sysinv/helm/openstack.py @@ -396,3 +396,28 @@ class OpenstackBaseHelm(base.BaseHelm): def _get_service_default_dns_name(self, service): return "{}.{}.svc.{}".format(service, common.HELM_NS_OPENSTACK, constants.DEFAULT_DNS_SERVICE_DOMAIN) + + def _get_mount_uefi_overrides(self): + + # This path depends on OVMF packages and for starlingx + # we don't care about aarch64. + # This path will be used by nova-compute and libvirt pods. + uefi_loader_path = "/usr/share/OVMF" + + uefi_config = { + 'volumes': [ + { + 'name': 'ovmf', + 'hostPath': { + 'path': uefi_loader_path + } + } + ], + 'volumeMounts': [ + { + 'name': 'ovmf', + 'mountPath': uefi_loader_path + }, + ] + } + return uefi_config