Mount OVMF path for nova-compute and libvirt to support uefi

Override helm chart to mount OVMF path for nova-compute
and libvirt pods to support uefi boot VM creating

Closes-Bug: 1814335

Change-Id: Ib876971ff096a68fd3a65ed37a8e295a475641d8
Signed-off-by: Sun Austin <austin.sun@intel.com>
This commit is contained in:
Sun Austin 2019-04-11 17:10:38 +08:00 committed by Chris Friesen
parent 9be020c63e
commit c4766c0fde
3 changed files with 37 additions and 0 deletions

View File

@ -37,6 +37,13 @@ class LibvirtHelm(openstack.OpenstackBaseHelm):
'namespaces': [], 'namespaces': [],
'clear_emulator_capabilities': 0 'clear_emulator_capabilities': 0
} }
},
'pod': {
'mounts': {
'libvirt': {
'libvirt': self._get_mount_uefi_overrides()
}
}
} }
} }
} }

View File

@ -65,6 +65,11 @@ class NovaHelm(openstack.OpenstackBaseHelm):
overrides = { overrides = {
common.HELM_NS_OPENSTACK: { common.HELM_NS_OPENSTACK: {
'pod': { 'pod': {
'mounts': {
'nova_compute': {
'nova_compute': self._get_mount_uefi_overrides()
}
},
'replicas': { 'replicas': {
'api_metadata': self._num_controllers(), 'api_metadata': self._num_controllers(),
'placement': self._num_controllers(), 'placement': self._num_controllers(),

View File

@ -396,3 +396,28 @@ class OpenstackBaseHelm(base.BaseHelm):
def _get_service_default_dns_name(self, service): def _get_service_default_dns_name(self, service):
return "{}.{}.svc.{}".format(service, common.HELM_NS_OPENSTACK, return "{}.{}.svc.{}".format(service, common.HELM_NS_OPENSTACK,
constants.DEFAULT_DNS_SERVICE_DOMAIN) 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