-
Notifications
You must be signed in to change notification settings - Fork 373
virtcontainers: qemu: Don't shutdown QMP from hotplug #628
Conversation
The QMP shutdown is taken care of by the sandbox release, through a call to hypervisor.disconnect(). By shutting down the QMP at the qemu level directly, we are creating some unrecoverable errors by trying to close an already closed channel. This patch simply removes the faulty code, following the same design other hotplug functions are designed. Fixes kata-containers#627 Signed-off-by: Sebastien Boeuf <[email protected]>
Split from initial PR #623 |
PSS Measurement: Memory inside container: |
Codecov Report
@@ Coverage Diff @@
## master #628 +/- ##
=========================================
Coverage ? 65.18%
=========================================
Files ? 84
Lines ? 9832
Branches ? 0
=========================================
Hits ? 6409
Misses ? 2766
Partials ? 657 |
Build failed (third-party-check pipeline) integration testing with
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM thanks!
Ignoring zuul... |
@sboeuf please backport to stable branches. |
No need to backport since the network hotplug feature introducing this bug is not part of |
There is an issue with the waitForDevice: this wait will first check is the device's sys entry existed in /sys directory, and if it existed, then it would return directly. How ever, the kernel register a new device as an order of: 1) create the sys entry in /sys; 2) mknod in devtmpfs; 3) send uevent to userspace. The problem here is when the "wait" tested the sys entry existed and return directly, but at that time the kernel would haven't created the device node in devtmpfs, thus the following mount failed with couldn't resolve the device path. Thus, the correct choice for waiting the device is depends on the uevent notice, since once the kernel sended the device "add" uevent, it had created the device node in devtmpfs yet. Fixes: kata-containers#628 Signed-off-by: lifupan <[email protected]>
The QMP shutdown is taken care of by the sandbox release, through a
call to hypervisor.disconnect(). By shutting down the QMP at the qemu
level directly, we are creating some unrecoverable errors by trying to
close an already closed channel.
This patch simply removes the faulty code, following the same design
other hotplug functions are designed.
Fixes #627
Signed-off-by: Sebastien Boeuf [email protected]