Failed to generate basic ubuntu qcow2 image. Block device exception during cleanup.

Bug #1888557 reported by Prakash Davane
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
diskimage-builder
New
Undecided
Unassigned

Bug Description

 I am trying Disk Image Builder and followed initial instructions given in DIB documentation. I tried creating basic ubuntu image with 'disk-image-create ubuntu vm" command. I am executing this on CentOS7 server installation on virtual box machine on my laptop. I am getting following error -

2020-07-22 14:38:38.181 | INFO diskimage_builder.block_device.utils [-] Calling [sudo sync]
2020-07-22 14:38:38.480 | INFO diskimage_builder.block_device.utils [-] Calling [sudo fstrim --verbose /tmp/dib_build.kjzn9JEP/mnt/]
2020-07-22 14:38:38.692 | INFO diskimage_builder.block_device.utils [-] Calling [sudo umount /tmp/dib_build.kjzn9JEP/mnt/]
2020-07-22 14:38:38.969 | INFO diskimage_builder.block_device.utils [-] Calling [sudo kpartx -d /dev/loop0]
2020-07-22 14:38:38.986 | Traceback (most recent call last):
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/bin/dib-block-device", line 8, in <module>
2020-07-22 14:38:38.986 | sys.exit(main())
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 120, in main
2020-07-22 14:38:38.986 | return bdc.main()
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 115, in main
2020-07-22 14:38:38.986 | self.args.func()
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 39, in cmd_umount
2020-07-22 14:38:38.986 | self.bd.cmd_umount()
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/blockdevice.py", line 442, in cmd_umount
2020-07-22 14:38:38.986 | node.umount()
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/level1/partition.py", line 88, in umount
2020-07-22 14:38:38.986 | self.partitioning.umount()
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/level1/partitioning.py", line 228, in umount
2020-07-22 14:38:38.986 | self.state['blockdev'][self.base]['device']])
2020-07-22 14:38:38.986 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/utils.py", line 143, in exec_sudo
2020-07-22 14:38:38.986 | raise e
2020-07-22 14:38:38.987 | diskimage_builder.block_device.exception.BlockDeviceSetupException: exec_sudo failed
2020-07-22 14:38:39.974 | INFO diskimage_builder.block_device.level3.mount [-] Called for [mount_mkfs_root]
2020-07-22 14:38:39.974 | INFO diskimage_builder.block_device.utils [-] Calling [sudo sync]
2020-07-22 14:38:40.086 | INFO diskimage_builder.block_device.utils [-] Calling [sudo fstrim --verbose /tmp/dib_build.kjzn9JEP/mnt/]
2020-07-22 14:38:40.101 | Traceback (most recent call last):
2020-07-22 14:38:40.101 | File "/root/dib-virtualenv/bin/dib-block-device", line 8, in <module>
2020-07-22 14:38:40.101 | sys.exit(main())
2020-07-22 14:38:40.101 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 120, in main
2020-07-22 14:38:40.101 | return bdc.main()
2020-07-22 14:38:40.101 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 115, in main
2020-07-22 14:38:40.101 | self.args.func()
2020-07-22 14:38:40.101 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/cmd.py", line 39, in cmd_umount
2020-07-22 14:38:40.102 | self.bd.cmd_umount()
2020-07-22 14:38:40.102 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/blockdevice.py", line 442, in cmd_umount
2020-07-22 14:38:40.102 | node.umount()
2020-07-22 14:38:40.102 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/level3/mount.py", line 111, in umount
2020-07-22 14:38:40.102 | self.state['mount'][self.mount_point]['path']])
2020-07-22 14:38:40.102 | File "/root/dib-virtualenv/lib/python2.7/site-packages/diskimage_builder/block_device/utils.py", line 143, in exec_sudo
2020-07-22 14:38:40.102 | raise e
2020-07-22 14:38:40.102 | diskimage_builder.block_device.exception.BlockDeviceSetupException: exec_sudo failed

Complete log is attached.

Revision history for this message
Prakash Davane (prakashdavane27) wrote :
Revision history for this message
Ian Wienand (iwienand) wrote :

The problem seems to start at

 INFO diskimage_builder.block_device.utils [-] Calling [sudo kpartx -d /dev/loop0]

unfortunately we haven't seen what that acutally outputs because exec_sudo only logs the command output under debug conditions. Can you please rerun with "-x"

Revision history for this message
Prakash Davane (prakashdavane27) wrote :

I ran it again with '-x' option and attached logs.

Revision history for this message
Ian Wienand (iwienand) wrote :

Ok, this is saying

> exec_sudo: device-mapper: remove ioctl on loop0p1 failed: Device or resource busy

One thought is that possibly a daemon or something from the chroot is still running, holding files open somehow. I'm not sure what this would be

I imagine loop0p1 is still around when dib exits. Could you run lsof or similar to see what process is holding the device open? that will give a clue as to what's going on.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.