summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1477.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1477.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/1477.toml299
1 files changed, 299 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1477.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1477.toml
new file mode 100644
index 00000000..ac1f01aa
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/1477.toml
@@ -0,0 +1,299 @@
+id = 1477
+title = "hot-plugged interface are not working after live migration"
+state = "closed"
+created_at = "2023-02-08T09:19:43.697Z"
+closed_at = "2023-02-10T09:45:09.188Z"
+labels = []
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1477"
+host-os = "Rocky Linux 8.6"
+host-arch = "x86"
+qemu-version = "QEMU emulator version 6.2.0 (qemu-kvm-6.2.0-20.module+el8.7.0+1084+97b81f61.2)"
+guest-os = "centos linux 7"
+guest-arch = "x86"
+description = """After a live migration are perform for a vm then hot-plug interface pci didn't show up, but did found a SCSI storage controller is created. I checked libvirt did send qmp command to qemu `[pid 320011] 1673945683.378537 write(42, "{"execute":"device_add","arguments":{"driver":"virtio-net-pci","netdev":"hostua-test","id":"ua-test","mac":"00:e0:4c:6a:3b:51","bus":"pci.7","addr":"0x0"},"id":"libvirt-200"}rn", 176) = 176
+`"""
+reproduce = """1. Perform a live migration by issue command `virsh migrate --live --persistent --verbose --unsafe --p2p demo-vm qemu+tls://node8/system?pkipath=/etc/pki/libvirt/private/`
+2. Then on the destination node that vm moved, create a bridge deivce `ip link add br-test1 type bridge`
+3. Create a tap.xml file with following code
+   ```
+   <interface type='bridge'>
+     <mac address='00:e0:4c:6a:3b:51'/>
+     <source bridge='br-test1'/>
+     <model type="virtio"/>
+     <alias name='ua-test'/>
+   </interface>
+   ```
+4. Save origin pci information
+```
+$ virsh console demo-vm
+# Save origin pci information 
+[root@demo-vm ~]# lshw > before
+```
+5. Hot-plug an interface `virsh attach-device demo-vm tap.xml-backup --live --config`
+6. Dumpxml of demo-vm
+```
+<domain type='kvm' id='226'>
+  <name>demo-vm</name>
+  <uuid>cc74b867-3fb4-5e4f-bbce-33df21a89416</uuid>
+  <metadata>
+    <kubevirt xmlns="http://kubevirt.io">
+      <uid>79db3d82-ce8f-44e8-96a5-940cc37c0064</uid>
+      <graceperiod>
+        <deletionGracePeriodSeconds>30</deletionGracePeriodSeconds>
+      </graceperiod>
+    </kubevirt>
+  </metadata>
+  <maxMemory slots='16' unit='KiB'>134217728</maxMemory>
+  <memory unit='KiB'>1048576</memory>
+  <currentMemory unit='KiB'>1048576</currentMemory>
+  <vcpu placement='static' current='1'>128</vcpu>
+  <iothreads>1</iothreads>
+  <resource>
+    <partition>/machine</partition>
+  </resource>
+  <sysinfo type='smbios'>
+    <system>
+      <entry name='uuid'>cc74b867-3fb4-5e4f-bbce-33df21a89416</entry>
+    </system>
+  </sysinfo>
+  <os>
+    <type arch='x86_64' machine='pc-q35-rhel8.6.0'>hvm</type>
+    <smbios mode='sysinfo'/>
+  </os>
+  <features>
+    <acpi/>
+  </features>
+  <cpu mode='custom' match='exact' check='full'>
+    <model fallback='forbid'>Skylake-Server-IBRS</model>
+    <vendor>Intel</vendor>
+    <topology sockets='128' dies='1' cores='1' threads='1'/>
+    <feature policy='require' name='ss'/>
+    <feature policy='require' name='vmx'/>
+    <feature policy='require' name='pdcm'/>
+    <feature policy='require' name='hypervisor'/>
+    <feature policy='require' name='tsc_adjust'/>
+    <feature policy='require' name='clflushopt'/>
+    <feature policy='require' name='umip'/>
+    <feature policy='require' name='pku'/>
+    <feature policy='require' name='md-clear'/>
+    <feature policy='require' name='stibp'/>
+    <feature policy='require' name='arch-capabilities'/>
+    <feature policy='require' name='ssbd'/>
+    <feature policy='require' name='xsaves'/>
+    <feature policy='require' name='ibpb'/>
+    <feature policy='require' name='ibrs'/>
+    <feature policy='require' name='amd-stibp'/>
+    <feature policy='require' name='amd-ssbd'/>
+    <feature policy='require' name='skip-l1dfl-vmentry'/>
+    <feature policy='require' name='pschange-mc-no'/>
+    <feature policy='disable' name='mpx'/>
+    <numa>
+      <cell id='0' cpus='0-127' memory='1048576' unit='KiB'/>
+    </numa>
+  </cpu>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/libexec/qemu-kvm</emulator>
+    <disk type='network' device='disk' model='virtio-non-transitional'>
+      <driver name='qemu' type='raw' error_policy='stop' discard='unmap'/>
+      <auth username='rbd-provisioner'>
+        <secret type='ceph' uuid='8fedf300-282c-4531-a66d-ca2691aaa88b'/>
+      </auth>
+      <source protocol='rbd' name='demo-pool/vol-5e83bed9-a2a3-11ed-bee4-3cfdfee07278' index='2'>
+        <host name='xx.xx.xx.xx' port='6789'/>
+        <host name='xx.xx.xx.xx' port='6789'/>
+        <host name='xx.xx.xx.xx' port='6789'/>
+      </source>
+      <target dev='vda' bus='virtio'/>
+      <boot order='1'/>
+      <alias name='ua-bootdisk'/>
+      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+    </disk>
+    <disk type='file' device='disk' model='virtio-non-transitional'>
+      <driver name='qemu' type='raw' cache='writethrough' error_policy='stop' discard='unmap'/>
+      <source file='/var/run/kubevirt-ephemeral-disks/cloud-init-data/demo-vm/configdrive.iso' index='1'/>
+      <backingStore/>
+      <target dev='vdb' bus='virtio'/>
+      <alias name='ua-cloudinitdisk'/>
+      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+    </disk>
+    <controller type='usb' index='0' model='none'>
+      <alias name='usb'/>
+    </controller>
+    <controller type='scsi' index='0' model='virtio-non-transitional'>
+      <alias name='scsi0'/>
+      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+    </controller>
+    <controller type='virtio-serial' index='0' model='virtio-non-transitional'>
+      <alias name='virtio-serial0'/>
+      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+    </controller>
+    <controller type='pci' index='0' model='pcie-root'>
+      <alias name='pcie.0'/>
+    </controller>
+    <controller type='pci' index='1' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='1' port='0x10'/>
+      <alias name='pci.1'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
+    </controller>
+    <controller type='pci' index='2' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='2' port='0x11'/>
+      <alias name='pci.2'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+    </controller>
+    <controller type='pci' index='3' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='3' port='0x12'/>
+      <alias name='pci.3'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
+    </controller>
+    <controller type='pci' index='4' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='4' port='0x13'/>
+      <alias name='pci.4'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
+    </controller>
+    <controller type='pci' index='5' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='5' port='0x14'/>
+      <alias name='pci.5'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
+    </controller>
+    <controller type='pci' index='6' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='6' port='0x15'/>
+      <alias name='pci.6'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
+    </controller>
+    <controller type='pci' index='7' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='7' port='0x16'/>
+      <alias name='pci.7'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
+    </controller>
+    <controller type='pci' index='8' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='8' port='0x18'/>
+      <alias name='pci.8'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
+    </controller>
+    <controller type='pci' index='9' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='9' port='0x19'/>
+      <alias name='pci.9'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
+    </controller>
+    <controller type='pci' index='10' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='10' port='0x1a'/>
+      <alias name='pci.10'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
+    </controller>
+    <controller type='pci' index='11' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='11' port='0x1b'/>
+      <alias name='pci.11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
+    </controller>
+    <controller type='pci' index='12' model='pcie-root-port'>
+      <model name='pcie-root-port'/>
+      <target chassis='12' port='0x1c'/>
+      <alias name='pci.12'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
+    </controller>
+    <controller type='sata' index='0'>
+      <alias name='ide'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
+    </controller>
+    <interface type='ethernet'>
+      <mac address='00:00:00:6a:d3:bc'/>
+      <target dev='e6250550b78a43a' managed='yes'/>
+      <model type='virtio'/>
+      <mtu size='1500'/>
+      <alias name='ua-attachnet1'/>
+      <rom enabled='no'/>
+      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+    </interface>
+    <interface type='bridge'>
+      <mac address='00:e0:4c:6a:3b:51'/>
+      <source bridge='br-test1'/>
+      <target dev='vnet5'/>
+      <model type='virtio'/>
+      <alias name='ua-test'/>
+      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
+    </interface>
+    <serial type='pty'>
+      <source path='/dev/pts/31'/>
+      <log file='/var/log/vm/79db3d82-ce8f-44e8-96a5-940cc37c0064/console.log' append='off'/>
+      <target type='isa-serial' port='0'>
+        <model name='isa-serial'/>
+      </target>
+      <alias name='serial0'/>
+    </serial>
+    <console type='pty' tty='/dev/pts/31'>
+      <source path='/dev/pts/31'/>
+      <log file='/var/log/vm/79db3d82-ce8f-44e8-96a5-940cc37c0064/console.log' append='off'/>
+      <target type='serial' port='0'/>
+      <alias name='serial0'/>
+    </console>
+    <channel type='unix'>
+      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-226-demo-vm/org.qemu.guest_agent.0'/>
+      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
+      <alias name='channel0'/>
+      <address type='virtio-serial' controller='0' bus='0' port='1'/>
+    </channel>
+    <input type='mouse' bus='ps2'>
+      <alias name='input0'/>
+    </input>
+    <input type='keyboard' bus='ps2'>
+      <alias name='input1'/>
+    </input>
+    <graphics type='vnc' port='5920' autoport='yes' listen='0.0.0.0'>
+      <listen type='address' address='0.0.0.0'/>
+    </graphics>
+    <audio id='1' type='none'/>
+    <video>
+      <model type='vga' vram='16384' heads='1' primary='yes'/>
+      <alias name='video0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+    </video>
+    <memballoon model='virtio-non-transitional'>
+      <alias name='balloon0'/>
+      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
+    </memballoon>
+  </devices>
+  <seclabel type='dynamic' model='dac' relabel='yes'>
+    <label>+107:+107</label>
+    <imagelabel>+107:+107</imagelabel>
+  </seclabel>
+</domain>
+``` 
+7. Console to vm and check pci
+```
+$ virsh console demo-vm
+# no additional nic found in `ip a` list
+[root@demo-vm ~]# ip a
+# Compare pci
+[root@demo-vm ~]# lshw > after
+# instead of a virtio network pci i saw a virtio SCSI is created
+[root@demo-vm ~]# diff before after
+# output
+  *-scsi                    
+       description: SCSI storage controller
+       product: Virtio SCSI
+       vendor: Red Hat, Inc.
+       physical id: 0
+       bus info: pci@0000:02:00.0
+       version: 01
+       width: 64 bits
+       clock: 33MHz
+       capabilities: scsi msix pm pciexpress bus_master cap_list
+       configuration: driver=virtio-pci latency=0
+       resources: irq:22 memory:fe600000-fe600fff memory:fc400000-fc403fff
+```"""
+additional = """"""