Hi
We need setup that will copy a whole image from _base for fully independedt instance ephemeral disks, so we decided to use images_type = flat
But we got a bug at password injection stage with a lot of messages that tell about raw disk type (but it is qcow2 actually!).
Images are based only on QCOW2.
Nova: 23.0.1
Libvirt: 6.0.0
Virt: Libvirt+KVM
Storage: Ephemeral local disks
*nova.conf*
images_type = flat
use_cow_images = true #(or false, doesn't matter)
force_raw_images = false
Please use gist for better representation:
https://gist.github.com/frct1/e723447ff30dcc090d92122d22e5aef2
nova-compute logs:
2021-10-17 19:33:17.788 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Checking if we can resize image /var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk. size=10737418240 can_resize_image /usr/lib/python3/dist-packages/nova/virt/disk/api.py:166
2021-10-17 19:33:20.150 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Checking if we can extend filesystem inside <LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}>. is_image_extendable /usr/lib/python3/dist-packages/nova/virt/disk/api.py:180
2021-10-17 19:33:20.167 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Unable to determine label for image <LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}> with error Unexpected error while running command.
Stderr: 'e2label: Bad magic number in super-block while trying to open /var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk\n'. Cannot resize. is_image_extendable /usr/lib/python3/dist-packages/nova/virt/disk/api.py:212
2021-10-17 19:33:20.249 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Checking if we can resize image /var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk. size=10737418240 can_resize_image /usr/lib/python3/dist-packages/nova/virt/disk/api.py:166
2021-10-17 19:33:20.288 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Cannot resize image /var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk to a smaller size. can_resize_image /usr/lib/python3/dist-packages/nova/virt/disk/api.py:172
2021-10-17 19:33:20.291 1206887 DEBUG nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Inject data image=<LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}> key=None net=None metadata={} admin_password=<SANITIZED> files=[] partition=-1 inject_data /usr/lib/python3/dist-packages/nova/virt/disk/api.py:350
2021-10-17 19:33:39.418 1206887 WARNING nova.virt.disk.api [req-a3367d10-4bc9-4180-b04d-dd46f5c3b2d6 81dd232581e440be8450e6a1722c395b d7911647ea604b5ea3a210402913afcb - default default] Ignoring error injecting data into image <LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}> (No operating system found in <LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}>): nova.exception.NovaException: No operating system found in <LocalFileImage:{'format': 'raw', 'path': '/var/lib/nova/instances/dc5b16f3-dc6d-4cc9-9ccb-ff22626a69f0/disk'}>
The most embarassing thing that it is logging about raw format, but all images is QCOW2 format and also at disk.info also qcow2 format. Mostly it is bug.
I assume something went wrong when we were checking the format of the disk here:
https:/ /github. com/openstack/ nova/blob/ 82be4652e2c840b d69ec354fd734a2 d3f83f395b/ nova/virt/ libvirt/ imagebackend. py#L537- L545
Can you look back in your logs for req-a3367d10- 4bc9-4180- b04d-dd46f5c3b2 d6 and see if there's any reference to `Failed to get image info from path` etc.