Package: vmdb2 Version: 0.13.2+git20190215-1 Hi,
I pre-created my LV using the same lvcreate syntax that doesn't work from within vmdb2 (see previous bug filed), and used with the invocation: % sudo vmdb2 foo-bar-1.vmdb.yml --image /dev/vg0/foo-bar-1-root --verbose --log=foo-bar-1.vmd.log The boot loader step in foo-bar-1.vmdb.yml was the default one from the manual: - grub: bios tag: root console: serial But the log said: 2019-11-27 11:38:31 INFO Installing GRUB for BIOS 2019-11-27 11:38:31 ERROR Do not understand partition device name /dev/mapper/vg0-foo--bar--1--root1 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/vmdb/app.py", line 107, in run_steps_helper method(step, self.settings, state) File "/usr/lib/python3/dist-packages/vmdb/plugins/grub_plugin.py", line 98, in run self.install_bios(step, settings, state) File "/usr/lib/python3/dist-packages/vmdb/plugins/grub_plugin.py", line 115, in install_bios self.install_grub(step, settings, state, grub_package, grub_target) File "/usr/lib/python3/dist-packages/vmdb/plugins/grub_plugin.py", line 128, in install_grub image_dev = self.get_image_loop_device(root_dev) File "/usr/lib/python3/dist-packages/vmdb/plugins/grub_plugin.py", line 204, in get_image_loop_device partition_device)) Exception: Do not understand partition device name /dev/mapper/vg0-foo--bar--1--root1 2019-11-27 11:38:31 INFO Something went wrong, cleaning up! I remembered I used to be able to work around these kinds of problems in similar situations by doing sudo losetup /dev/loop0 /dev/$vg/$host-root and then operating on /dev/loop0. (That's what worked with vmdebootstrap.) However, with vmdb2, that doesn't work either, the log says: 2019-11-27 11:41:09 INFO Running step: {'mklabel': 'gpt', 'device': '/dev/loop0'} 2019-11-27 11:41:09 INFO Calling <bound method MklabelStepRunner.run of <partition_plugin.MklabelStepRunner object at 0x7f4ba4587828>> 2019-11-27 11:41:09 INFO Exec: ['parted', '-s', '/dev/loop0', 'mklabel', 'gpt'] 2019-11-27 11:41:09 DEBUG run external command: [['parted', '-s', '/dev/loop0', 'mklabel', 'gpt']] 2019-11-27 11:41:09 INFO Calling <bound method StepRunnerInterface.run_even_if_skipped of <partition_plugin.MklabelStepRunner object at 0x7f4ba4587828>> 2019-11-27 11:41:09 INFO Running step: {'mkpart': 'primary', 'device': '/dev/loop0', 'start': '0%', 'end': '100%', 'tag': 'root'} 2019-11-27 11:41:09 INFO Calling <bound method MkpartStepRunner.run of <partition_plugin.MkpartStepRunner object at 0x7f4ba4587978>> 2019-11-27 11:41:09 INFO Exec: ['parted', '-m', '/dev/loop0', 'print'] 2019-11-27 11:41:09 DEBUG run external command: [['parted', '-m', '/dev/loop0', 'print']] 2019-11-27 11:41:09 DEBUG STDOUT: b'BYT;\n/dev/loop0:4295MB:loopback:512:512:gpt:Loopback device:;\n' 2019-11-27 11:41:09 INFO Exec: ['parted', '-s', '/dev/loop0', 'mkpart', 'primary', 'ext2', '0%', '100%'] 2019-11-27 11:41:09 DEBUG run external command: [['parted', '-s', '/dev/loop0', 'mkpart', 'primary', 'ext2', '0%', '100%']] 2019-11-27 11:41:10 INFO Exec: ['parted', '-m', '/dev/loop0', 'print'] 2019-11-27 11:41:10 DEBUG run external command: [['parted', '-m', '/dev/loop0', 'print']] 2019-11-27 11:41:10 DEBUG STDOUT: b'BYT;\n/dev/loop0:4295MB:loopback:512:512:gpt:Loopback device:;\n1:1049kB:4294MB:4293MB:ext4:primary:;\n' 2019-11-27 11:41:10 INFO remembering partition /dev/loop01 as root 2019-11-27 11:41:10 INFO Calling <bound method StepRunnerInterface.run_even_if_skipped of <partition_plugin.MkpartStepRunner object at 0x7f4ba4587978>> 2019-11-27 11:41:10 INFO Running step: {'kpartx': '/dev/loop0'} 2019-11-27 11:41:10 INFO Calling <bound method KpartxStepRunner.run of <partition_plugin.KpartxStepRunner object at 0x7f4ba4587940>> 2019-11-27 11:41:10 INFO Exec: ['kpartx', '-asv', '/dev/loop0'] 2019-11-27 11:41:10 DEBUG run external command: [['kpartx', '-asv', '/dev/loop0']] 2019-11-27 11:41:10 DEBUG STDOUT: b'add map loop0p1 (253:3): 0 8384512 linear 7:0 2048\n' 2019-11-27 11:41:10 INFO remembering /dev/mapper/loop0p1 as root 2019-11-27 11:41:10 ERROR Already has device: root Traceback (most recent call last): File "/usr/lib/python3/dist-packages/vmdb/app.py", line 107, in run_steps_helper method(step, self.settings, state) File "/usr/lib/python3/dist-packages/vmdb/plugins/partition_plugin.py", line 109, in run state.tags.set_dev(tag, dev) File "/usr/lib/python3/dist-packages/vmdb/tags.py", line 61, in set_dev raise AlreadyHasDev(tag) vmdb.tags.AlreadyHasDev: Already has device: root 2019-11-27 11:41:10 INFO Something went wrong, cleaning up! This latter part is clearly a failure to recognize that the partition number suffixes cannot be concatenated onto a base device name that ends in a number. Note how kpartx adds the letter 'p' inbetween. Please fix it. TIA. -- Josip Rodin