unable to compose VM from Ubuntu 22.04 pod
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Triaged
|
Low
|
Unassigned |
Bug Description
1. Installed a Ubuntu 22.04 physical server via MAAS adding it as KVM host
2. Configured a volume group named vg_os and added it as a KVM logical pool storage so it can be used to create my VM disk devices in it
<pool type='logical'>
<name>
<uuid>
<capacity unit='bytes'
<allocation unit='bytes'
<available unit='bytes'
<source>
<name>
<format type='lvm2'/>
</source>
<target>
<path>
</target>
</pool>
3. Refreshed pod from console and can see my vg_os available in MAAS
4. When composing (via API or console):
- i can see a logical being created in vg_os and the associate volume (virsh vol-list vg_os)
- domain creation suceeds but later maas tries to attach volumes and fails
Pod unable to compose machine: Unable to compose machine because: Failed talking to pod: Unable to compose test22: Virsh command ['start', '--paused', 'test22'] failed: Failed to start domain test22 error: internal error: qemu unexpectedly closed the monitor: 2022-12-
This works fine if KVM is running Ubuntu 20.04.
I found that QEMU introduced a breaking change in QEMU 6.0 as stated
in https:/
"This seems to be a breaking change introduced in QEMU 6.0, as changelog says the following: The file block driver no longer permits use with block devices. Downgrading to QEMU 5.2 allows for domain to successfully boot up.
Judging from current documentation, in order to pass a block device, you have to use raw block driver instead."
Looking at /snap/maas/
def attach_
"""Attach `volume` in `pool` to `domain` as `device`."""
vol_path = self.get_
serial = os.path.
self.run(
[
]
)
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → Low |
Changed in maas: | |
milestone: | 3.5.0 → 3.5.x |
Let's figure out how we need to adapt the QEMU commands to work with QEMU and libvirt in Jammy