From 832dc8bf948b57b3d404a58e3feb91278c02b59b Mon Sep 17 00:00:00 2001
From: Steve Baker <sbaker@redhat.com>
Date: Fri, 27 May 2022 15:02:35 +1200
Subject: [PATCH] Switch to q35 machine type for test nodes

q35 is recommended as emulating modern baremetal with better support
for UEFI in general, and Secure Boot in particular.

Old pc type usage is removed, like IDE controller, PS2 mouse, manual
PSI addresses.

Change-Id: Ic33e0f23c5c514a45541534ddd68329d7b4d0480
---
 devstack/tools/ironic/templates/vm.xml | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/devstack/tools/ironic/templates/vm.xml b/devstack/tools/ironic/templates/vm.xml
index f5c59b54e5..36da0f61b7 100644
--- a/devstack/tools/ironic/templates/vm.xml
+++ b/devstack/tools/ironic/templates/vm.xml
@@ -3,7 +3,7 @@
   <memory unit='KiB'>{{ memory }}</memory>
   <vcpu>{{ cpus }}</vcpu>
   <os>
-    <type arch='{{ arch }}' machine='pc'>hvm</type>
+    <type arch='{{ arch }}' machine='q35'>hvm</type>
     {% if bootdev == 'network' and not uefi_loader %}
     <boot dev='{{ bootdev }}'/>
     {% endif %}
@@ -34,13 +34,9 @@
     <disk type='file' device='disk'>
       <driver name='qemu' type='{{ disk_format }}' cache='unsafe'/>
       <source file='{{ imagefile }}'/>
-          <target dev='vd{{ letter }}' bus='virtio'/>
-          <address type='pci' domain='0x0000' bus='0x00' slot='0x0{{ letter }}' function='0x0'/>
+      <target dev='vd{{ letter }}'/>
     </disk>
     {% endfor %}
-    <controller type='ide' index='0'>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
-    </controller>
     {% for n in range(1, interface_count+1) %}
     <interface type='direct'>
       {% if n == 1 and mac %}
@@ -48,16 +44,11 @@
       {% endif %}
       <source dev='{{ "tap-" + name + "i" + n|string }}'/>
       <model type='{{ nicdriver }}'/>
-      <address type='pci' domain='0x0000' bus='0x01' slot='{{ "0x0" + n|string }}' function='0x0'/>
       {% if uefi_loader and bootdev == 'network' %}
       <boot order='{{ n|string }}'/>
       {% endif %}
     </interface>
     {% endfor %}
-    <input type='mouse' bus='ps2'/>
     {{ console }}
-    <memballoon model='virtio'>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
-    </memballoon>
   </devices>
 </domain>