Hi Ruby: I couldn't use your whole changeset since it introduced a different issue. With your patch, I was seeing the following error and it never reached the code creating squashfs.img as a directory. So I removed the patch and only applied the pxe_util.py changes in cache_ramdisk_kernel() and I've made further progress. *| last_error | Failed to prepare to deploy: Cannot validate driver deploy. Some parameters were missing in node's instance_info. Missing are: ['root_gb'] |* Is this root_gb a new requirement? More background: At the moment, I don't have baremetal devices and I'm starting my work by using VMs bifrost created for me. Also I'm using the xena branch of bifrost/ironic. Carol On Mon, Feb 7, 2022 at 11:56 AM Ruby Loo <opensrloo@gmail.com> wrote:
Hi Carol,
Thanks for reporting this! It is a bug :-( The fix is in https://review.opendev.org/c/openstack/ironic/+/827924.
--ruby
On Fri, Feb 4, 2022 at 11:44 AM Carol Bouchard <cbouchar@redhat.com> wrote:
Ironic folks:
I'm trying to spawn a RHEL7 image using a kickstart file and having issues with stage2 file. First I used bifrost to initially setup a couple of VMs. (There is no openstack/glance). I'm now using one of those VMs to boot up with RHEL7. I changed the VM config with the following:
*| deploy_interface | anaconda* * | instance_info | {'kernel': 'http://myip:8080/RHEL7/vmlinuz <http://myip:8080/RHEL7/vmlinuz>', 'ramdisk': 'http://myip:8080/RHEL7/initrd.img <http://myip:8080/RHEL7/initrd.img>', 'image_source': 'http://myip:8080/RHEL7/initrd.img <http://myip:8080/RHEL7/initrd.img>', 'stage2': 'http://myip:8080/RHEL7/squashfs.img <http://myip:8080/RHEL7/squashfs.img>', 'ks_cfg': 'http://myip:8080/RHEL7/ks.cfg.template <http://myip:8080/RHEL7/ks.cfg.template>', 'ks_template': 'http://myip:8080/RHEL7/ks.cfg.template <http://myip:8080/RHEL7/ks.cfg.template>'}*
ironic.conf changes I made are as follows:
*enabled_deploy_interfaces = direct,ramdisk,anaconda*
*[anaconda]default_ks_template = file:///etc/ironic/ks.cfg.template*
The error I'm getting is as follows: *$ baremetal node show testvm1 --field last_error*
*| last_error | Deploy step deploy.deploy failed with IsADirectoryError: [Errno 21] Is a directory: '/httpboot/4e41df61-84b1-5856-bfb6-6b5f2cd3dd11/LiveOS/squashfs.img'.* Tail end of traceback is as follows:
* ironic-conductor[]: ERROR ironic.conductor.utils File "/opt/stack/bifrost/lib64/python3.9/site-packages/ironic/common/pxe_utils.py", line 1245, in cache_ramdisk_kernel ironic-conductor[]: ERROR ironic.conductor.utils deploy_utils.fetch_images(ctx, TFTPImageCache(), list(t_pxe_info.values()), ironic-conductor[]: ERROR ironic.conductor.utils File "/opt/stack/bifrost/lib64/python3.9/site-packages/ironic/drivers/modules/deploy_utils.py", line 240, in fetch_images ironic-conductor[]: ERROR ironic.conductor.utils cache.fetch_image(href, path, ctx=ctx, force_raw=force_raw) ironic-conductor[]: ERROR ironic.conductor.utils File "/opt/stack/bifrost/lib64/python3.9/site-packages/ironic/drivers/modules/image_cache.py", line 120, in fetch_image ironic-conductor[]: ERROR ironic.conductor.utils dest_up_to_date = _delete_dest_path_if_stale(master_path, ironic-conductor[]: ERROR ironic.conductor.utils File "/opt/stack/bifrost/lib64/python3.9/site-packages/ironic/drivers/modules/image_cache.py", line 460, in _delete_dest_path_if_stale ironic-conductor[]: ERROR ironic.conductor.utils os.unlink(dest_path) ironic-conductor[]: ERROR ironic.conductor.utils IsADirectoryError: [Errno 21] Is a directory: '/httpboot/4e41df61-84b1-5856-bfb6-6b5f2cd3dd11/LiveOS/squashfs.img'*
Please advise.
Carol