On Fri, Jul 23, 2021 at 10:27:47 +0200, Michal Prívozník wrote:
On 7/23/21 5:00 AM, Fangge Jin wrote:
>
>
> On Wed, Jul 21, 2021 at 10:54 PM Michal Prívozník <mprivozn(a)redhat.com
> <mailto:mprivozn@redhat.com>> wrote:
>
>
> > The bug quoted shows a few examples where we fail to save status.
> >
> > I'm very surprised we don't save status when hotplugging a NIC or
a
> > disk, as the BZ suggests.
>
> I'm not convinced that the steps there are 100% correct. We do call
> virDomainObjSave() after live attach:
>
>
https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_driver.c#L...
>
<
https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_driver.c#L...
>
> The two steps for hot-unplug in the BZ actually failed.
> (sorry I didn't mention the result in the steps)
In that case, we have another problem - the domain is marked as
"tainted: use of host cdrom passthrough" even though the hotplug failed
and qemu has never saw host cdrom. And the same goes for "tainted:
network configuration using opaque shell scripts" - the taint happens
before any hotplug is even attempted (and thus possibly even when the
script did not even run).
IMO we should taint the VM even on a failed attempt. Tainst are not just
because of qemu but also because also libvirt can behave unexpectedly
after such operation and we can't really be sure once we start the
hotplug process.