-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
rhel-9.5
-
No
-
Moderate
-
rhel-sst-virtualization
-
ssg_virtualization
-
7
-
False
-
-
None
-
None
-
None
-
None
-
-
x86_64
-
None
Description of problem:
Can't create instance from volume after v2v converting to OSP18 because converted volume has an incorrect property "architecture = 'x86_64'"
Version-Release number of selected component (if applicable):
virt-v2v-2.5.6-1.el9.x86_64
python3-openstackclient-6.2.0-18.0.20240625095349.05d34ff.el9ost.noarch
libguestfs-1.50.2-1.el9.x86_64
guestfs-tools-1.51.6-4.el9.x86_64
nbdkit-1.38.3-1.el9.x86_64
libnbd-1.20.2-2.el9.x86_64
libvirt-libs-10.5.0-4.el9.x86_64
qemu-img-9.0.0-7.el9.x86_64
How reproducible:
100%
Steps to Reproduce:
1. Prepare a v2v appliance on OSP18 env
sh-5.1$ openstack server list
.............
| c40430c1-bc1d-4c4c-8958-26283231928c | rhel9.5-v2v-appliance | ACTIVE | public=192.168.122.246 | rhel9.5-image | medium |
.............
2.Convert a guest from OVA to OSP18 by virt-v2v in rhel9.5-v2v-appliance instance
# virt-v2v -i ova /home/esx8.0-rhel9.4-efi-serial-port.tar.xz -o openstack -oo server-id=rhel9.5-v2v-appliance --oo os-username=admin -oo os-auth-url=https://keystone-public-openstack.apps.ocp.openstack.lab -oo os-password=12345678 -oo os-project-name=admin -oo os-user-domain-name=Default -oo os-project-domain-name=Default -oo os-identity-api-version=3 --oo verify-server-certificate=false [ 0.4] Setting up the source: -i ova /home/esx8.0-rhel9.4-efi-serial-port.tar.xz virt-v2v: warning: making OVA directory public readable to work around libvirt bug https://bugzilla.redhat.com/1045069 [ 133.9] Opening the source [ 194.7] Inspecting the source [ 212.2] Checking for sufficient free disk space in the guest [ 212.2] Converting Red Hat Enterprise Linux 9.4 Beta (Plow) to run on KVM** (process:1844): WARNING **: 00:03:01.662: Entity http://pcisig.com/pci/1af4/1058 referenced but not defined virt-v2v: This guest has virtio drivers installed. [ 458.7] Mapping filesystem data to avoid copying unused and blank areas [ 461.8] Closing the overlay [ 462.2] Assigning disks to buses [ 462.2] Checking if the guest needs BIOS or UEFI to boot virt-v2v: This guest requires UEFI on the target to boot. [ 462.2] Setting up the destination: -o openstack -oo server-id=rhel9.5-v2v-appliance [17850.867046] pci 0000:0a:00.0: [1af4:1042] type 00 class 0x010000 PCIe Endpoint [17850.868190] pci 0000:0a:00.0: BAR 1 [mem 0x00000000-0x00000fff] [17850.869514] pci 0000:0a:00.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] [17850.882420] pci 0000:0a:00.0: BAR 4 [mem 0x388000000000-0x388000003fff 64bit pref]: assigned [17850.883440] pci 0000:0a:00.0: BAR 1 [mem 0xfda00000-0xfda00fff]: assigned [17850.884476] virtio-pci 0000:0a:00.0: enabling device (0000 -> 0002) [17850.939533] virtio_blk virtio8: 4/0/0 default/read/poll queues [17850.954767] virtio_blk virtio8: [vdc] 33554432 512-byte logical blocks (17.2 GB/16.0 GiB) [ 482.1] Copying disk 1/1 █ 100% [****************************************] [18013.389338] vdc: vdc1 vdc2 vdc3 [ 640.5] Creating output metadata [18013.403894] vdc: vdc1 vdc2 vdc3 [ 646.6] Finishing off
{}3.Launch instance from the volume after v2v conversion, found instance can't be created with error ' {'code': 500, 'created': '2024-08-05T16:35:17Z', 'message': 'No valid host was found. ''
3.1 sh-5.1$ openstack volume list +--------------------------------------+------------------------------------+-----------+------+------------------------------------------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+------------------------------------+-----------+------+------------------------------------------------+ | 8b90c066-2574-4b10-bd5a-1724b44d2175 | esx8.0-rhel9.4-efi-serial-port-sda | available | 16 | sh-5.1$ openstack server create --flavor small --volume esx8.0-rhel9.4-efi-serial-port-sda --nic net-id=8128177e-93d0-4bb5-a012-661e79da3aa6 esx8.0-rhel9.4-efi-serial-port --availability-zone novash-5.1
3.2 $ openstack server list +--------------------------------------+--------------------------------+--------+------------------------+--------------------------+--------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+--------------------------------+--------+------------------------+--------------------------+--------+ | 2fedbf64-7df2-4856-bc2d-f3097e9d3ada | esx8.0-rhel9.4-efi-serial-port | ERROR | | N/A (booted from volume) | small |
3.3 sh-5.1$ openstack server show esx8.0-rhel9.4-efi-serial-port ...... | fault | {'code': 500, 'created': '2024-08-05T16:35:17Z', 'message': 'No valid host was found. ', 'details': 'Traceback (most recent call last):\n File "/usr/lib/python3.9/site-packages/nova/conductor/manager.py", line 1654, in schedule_and_build_instances\n host_lists = self._schedule_instances(context, request_specs[0],\n File "/usr/lib/python3.9/site-packages/nova/conductor/manager.py", line 942, in _schedule_instances\n host_lists = self.query_client.select_destinations(\n File "/usr/lib/python3.9/site-packages/nova/scheduler/client/query.py", line 41, in select_destinations\n return self.scheduler_rpcapi.select_destinations(context, spec_obj,\n File "/usr/lib/python3.9/site-packages/nova/scheduler/rpcapi.py", line 160, in select_destinations\n return cctxt.call(ctxt, \'select_destinations\', **msg_args)\n File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/client.py", line 190, in call\n result = self.transport._send(\n File "/usr/lib/python3.9/site-packages/oslo_messaging/transport.py", line 123, in _send\n return self._driver.send(target, ctxt, message,\n File "/usr/lib/python3.9/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 689, in send\n return self._send(target, ctxt, message, wait_for_reply, timeout,\n File "/usr/lib/python3.9/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 681, in _send\n raise result\nnova.exception_Remote.NoValidHost_Remote: No valid host was found. \nTraceback (most recent call last):\n\n File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/server.py", line 244, in inner\n return func(*args, **kwargs)\n\n File "/usr/lib/python3.9/site-packages/nova/scheduler/manager.py", line 210, in select_destinations\n raise exception.NoValidHost(reason="")\n\nnova.exception.NoValidHost: No valid host was found. \n\n'} | | flavor | small (small) ....................
4. Create image from the volume to check the metadatas
4.1 sh-5.1$ openstack image create esx8.0-rhel9.4-efi-serial-port-image --volume 8b90c066-2574-4b10-bd5a-1724b44d2175
4.2 sh-5.1$ openstack image list ..... | cb8a37b1-c4f3-47e0-9855-693da998cd1d | esx8.0-rhel9.4-efi-serial-port-image | active | ......
4.2 sh-5.1$ openstack image show esx8.0-rhel9.4-efi-serial-port-image ..... | properties | architecture='x86_64', hw_cpu_cores='1', hw_cpu_sockets='1', hw_disk_bus='virtio', hw_firmware_type='uefi', hw_machine_type='q35', hw_rng_model='virtio', hw_video_model='vga', hw_vif_model='virtio', hypervisor_type='kvm', os_distro='rhel', os_hash_algo='sha512', os_hash_value='52d07e645da56394dd315e10f56a4c92d7ff9f730bcba1f2606a2884bbea6d882dd78e8e95c5de871704a8efd65535ce863c227a586c11bfa3398446ba68316d', os_hidden='False', os_type='linux', os_version='9.4', stores='default_backend', vm_mode='hvm' |
5. Remove architecture='x86_64' from metadata of esx8.0-rhel9.4-efi-serial-port-image and then create the instance from the image, can see the instance can be created successfully after removing property architecture
5.1 sh-5.1$ openstack image unset esx8.0-rhel9.4-efi-serial-port-image --property architecture
5.2 sh-5.1$ openstack server create --flavor small --image esx8.0-rhel9.4-efi-serial-port-image --nic net-id=8128177e-93d0-4bb5-a012-661e79da3aa6 esx8.0-rhel9.4-efi-serial-port-image-remove-architecture --availability-zone nova
5.3 sh-5.1$ openstack server list
+--------------------------------------+----------------------------------------------------------+--------+------------------------+--------------------------------------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+----------------------------------------------------------+--------+------------------------+--------------------------------------+--------+
| c20b1378-c495-4e17-bd6f-168933015d36 | esx8.0-rhel9.4-efi-serial-port-image-remove-architecture | ACTIVE | public=192.168.122.232 | esx8.0-rhel9.4-efi-serial-port-image | small |
Actual results:
As above description
Expected result:
Remove property "architecture = 'x86_64'" after v2v converting guests to OSP18
Additional info:
There is no architecture in OSP18 image metadata, pls refer to screenshot 'no-architecture-osp18.png'
- is caused by
-
OSPRH-6215 unable to create an instance when hw_architecture=x86_64 is set in the image
- Dev Complete