From dff7896d026bf4c586f0894e05c3b0bdcbb20249 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 20 Dec 2017 10:01:04 +0100 Subject: [PATCH] nova: set libvirt/cpu_mode on aarch64 to working value Instance failed to spawn: libvirtError: unsupported configuration: CPU mode 'host-model' for aarch64 kvm domain on aarch64 host is not supported by hypervisor. Change-Id: Iad530457aef24ee8f561a8f7d2c6c6150c55bc42 --- ansible/roles/nova/defaults/main.yml | 1 + ansible/roles/nova/templates/nova.conf.j2 | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index f46add8dc9..cc0b85001f 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -173,6 +173,7 @@ nova_tag: "{{ openstack_release }}" nova_libvirt_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-libvirt" nova_libvirt_tag: "{{ nova_tag }}" nova_libvirt_image_full: "{{ nova_libvirt_image }}:{{ nova_libvirt_tag }}" +nova_libvirt_cpu_mode: "{{ 'host-passthrough' if ansible_architecture == 'aarch64' else '' }}" nova_ssh_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ nova_install_type }}-nova-ssh" nova_ssh_tag: "{{ nova_tag }}" diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index 006bd17b61..a09e4800e1 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -186,6 +186,9 @@ rbd_secret_uuid = {{ rbd_secret_uuid }} {% endif %} virt_type = {{ nova_compute_virt_type }} {% endif %} +{% if nova_libvirt_cpu_mode %} +cpu_mode = {{ nova_libvirt_cpu_mode }} +{% endif %} {% if nova_compute_virt_type == "vmware" %} [vmware]