:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : Copyright (c) 2017 Enea AB, Cavium and others. : : All rights reserved. This program and the accompanying materials : are made available under the terms of the Apache License, Version 2.0 : which accompanies this distribution, and is available at : http://www.apache.org/licenses/LICENSE-2.0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Wed, 24 Feb 2016 20:07:06 +0100 Subject: [PATCH] Make qemu-kvm architecture aware --- deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index 3fcfb51..c53409c 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp @@ -167,9 +167,14 @@ class openstack_tasks::roles::compute { case $::osfamily { 'RedHat': { # From legacy libvirt.pp + # Guard against some exotic distros with their `uname -m` + $arch = $::architecture ? { + /(arm64|aarch64)/ => 'aarch64', + default => 'x86_64', + } exec { 'symlink-qemu-kvm': - command => '/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64', - creates => '/usr/bin/qemu-system-x86_64', + command => "/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-${arch}", + creates => "/usr/bin/qemu-system-${arch}", } package { 'avahi':