Hi Arne, Thank you very much for your response. Love you. You take away a lot of my confusion. You are right, I didn't set 'root device'. And Ironic also can not see disk, the content of the 'lsblk' file in the deploy los is emply. I tried to set 'root device', but because ironic can't find any disk, the deploy still filed. Feb 10 09:51:55 host-10-12-22-59 ironic-python-agent[2324]: 2022-02-10 09:51:55.045 2324 WARNING root [-] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path': FileNotFoundError: [Errno 2] No such file or directory: '/dev/disk/by-path' Feb 10 09:51:55 host-10-12-22-59 ironic-python-agent[2324]: 2022-02-10 09:51:55.056 2324 WARNING ironic_lib.utils [-] No device found that matches the root device hints {'wwn': '0x50014EE2691D724C'}: StopIteration Sorry to bother you, I'm a newcomer of Ironic and I didn't find information about it on google. The bare metal node have three same disk(Western Digital DC HA210 2TB SATA 6GB/s). Where I can confirm whether ironic-python-agent supports this disk? And If Ironic cannot find disk since the corresponding drivers in the IPA image are missing, do you know how to resolve it? I have used the latest deploy images in https://tarballs.opendev.org/openstack/ironic-python-agent/dib/files/ . Do I need to find and manually add driver in the source code or ramdisk(That was difficult tome)? Love you. Cheers, Guangyu Arne Wiebalck <arne.wiebalck@cern.ch> 于2022年2月10日周四 15:51写道:
Hi Guangyu,
The error indicates that Ironic was not able to find a device where it could deploy the image to.
To find a device, Ironic will use 'root device' hints [1], usually set by the admin on a node. If that does not yield anything, Ironic will loop over all block devices and pick the smallest which is larger than 4GB (and order them alphabetically).
If you have disks in your server which are larger than 4GB, one potential explanation is that Ironic cannot see them, e.g. since the corresponding drivers in the IPA image are missing. The logs you posted seem to confirm something along those lines.
Check the content of the 'lsblk' file in the deploy logs which you can find in the tar archive in /var/log/ironic/deploy/ on the controller for your deployment attempt to see what devices Ironic has access to.
Cheers, Arne
[1] https://docs.openstack.org/ironic/latest/install/advanced.html#root-device-h...
On 10.02.22 02:50, 韩光宇 wrote:
Dear all,
I have a OpenStack Victoria environment, and tried to use ironic manage bare metal. But I got "- root device hints were not provided and all found block devices are smaller than 4294967296B." in deploy stage.
2022-02-09 17:57:56.492 3908982 ERROR ironic.drivers.modules.agent_base [-] Agent returned error for deploy step {'step': 'write_image', 'priority': 80, 'argsinfo': None, 'interface': 'deploy'} on node cc68c450-ce54-4e1c-be04-8b0a6169ef92 : No suitable device was found for deployment - root device hints were not provided and all found block devices are smaller than 4294967296B..
I used "openstack server create --flavor my-baremetal-flavor --nic net-id=$net_id --image $image testing" to deploy bare metal node. I download deploy images(ipa-centos8-master.kernel and ipa-centos8-master.initramfs) in https://tarballs.opendev.org/openstack/ironic-python-agent/dib/files/.
The baremetal node info and flavor info as following: https://paste.opendev.org/show/bV7lgO6RkNQY6ZGPbT2e/ Ironic configure file as following: https://paste.opendev.org/show/bTgY9Kpn7KWqwQl73aEa/ Ironic-conductor log: https://paste.opendev.org/show/bFKZYlXmccxNxU8lEogk/ The log of ironic-python-agent in bare metal node: https://paste.opendev.org/show/btAuaMuV2IutV2Pa7YIa/
I see some old discussion about this, such as: https://bugzilla.redhat.com/show_bug.cgi?id=1312187. But those discussions took place a long time ago, not version V, and no solution was seen.
Does anyone know how to solve this problem? I would appreciate any kind of guidance or help.
Thank you, Han Guangyu