-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests/storage-volumes-vm: Root volume disk device attachments #366
base: main
Are you sure you want to change the base?
Conversation
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, I made some comments but they are mostly nit picks.
I haven't seen it run in GHA due to the extension not being in latest/edge
just yet. I'm assuming it all works locally but wanted to check how much longer it made the test :)
@hamistao any experience with this? |
Not particularly, but it is not the first time we have seen udev or other packages mangling with disk devices that LXD manages (canonical/lxd#13701 (comment)) and since it only happens on a specific distro version and not on minimal it is almost certainly a problem of the same nature and probably isn't worth digging too deep into. On |
4ea7f64
to
2040505
Compare
Thanks @tomponline @hamistao, I agree that this isn't worth chasing. @simondeziel They do pass locally 😉 . It looks like it goes from 5 |
tests/storage-volumes-vm
Outdated
lxc init --empty --vm v2 --storage "${poolName}" --device root,size=8KiB | ||
lxc init --empty --vm v3 --storage "${poolName}" --device root,size=8KiB |
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.
It's good to test with such small volumes. I'm pretty sure LVM will round them up but that should happen all transparently, hopefully!
Dunno how it would fare with PowerFlex's minimum of 8GiB though. I guess we'll see when we run it there :)
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.
powerflex doesnt round up to 8gib afaik @roosterfish ?
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.
AFAIK, it only allows multiples of 8GiB which is why it's special cased everywhere in tests/storage-vm
like in https://github.com/canonical/lxd-ci/blob/main/tests/storage-vm#L89-L95
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.
Pushed a special case for powerflex.
2040505
to
533a96f
Compare
Added a check to make sure that |
533a96f
to
ef82585
Compare
Added a check for instance rename. |
ef82585
to
259b5b9
Compare
This should have a check for all corner cases around VM root volume attachments: - security.protection.start allows one other VM to attach the machine's root disk, and can only be removed if the disk is not attached - security.shared allows unchecked attachments of root disks - VM attachments are correctly reported in used_by - hotplug of VM root attachments works (as this is the method reccomended by the docs to avoid UUID/LABEL conflicts) - Rename/Delete of instances when their root disk is attached elsewhere is disallowed Signed-off-by: Wesley Hershberger <[email protected]>
259b5b9
to
6abe711
Compare
This should have a check for all corner cases around VM root volume attachments (coverage for canonical/lxd#14532):
I ran into an interesting behavior of udev in Noble VMs while testing that slowed this down a bit. In order for udev to create a symlink for
SCSI_IDENT_SERIAL
(/dev/disk/by-id/scsi-SQEMU_QEMU_HARDDISK_lxd_virtual--machine-vm5
), I had to hotplug the device in anubuntu:24.04
VM. Starting the VM from cold didn't create the link, andubuntu-minimal:24.04
VMs never created it at all.Without hotplug or in an
ubuntu-minimal:24.04
:With hotplug:
I worked around it by using a shorter LXD device name so that the symlink name wouldn't be truncated; not sure if this is worth chasing further.