[ironic][centos]grubaa64.efi request different filename
hey guys, I am testing a standalone ironic node on arm64 node through centos 7. Then dnsmasq is configured as following ``` enable-tftp tftp-root=/var/lib/ironic/public/boot/tftp # dhcp-option=option:router,192.168.122.1 # use static dhcp-range=10.0.0.167,static,60s log-queries log-dhcp dhcp-match=set:efi-arm64,option:client-arch,11 dhcp-boot=tag:efi-arm64,grubaa64.efi ``` the grubaa64.efi file come from `/boot/efi/EFI/centos/grubaa64.efi` on centos 7 But seems grubaa64.efi file are trying different grub.cfg filename like `grub.cfg-xx-xx-xx-xx`( check bellow) Whereas ironic generate filename like `xx:xx:xx:xx:xx.conf`. Is this a bug in ironic? or I made something wrong? ``` dnsmasq-dhcp[1]: 140425456 vendor class: PXEClient:Arch:00011:UNDI:003000 dnsmasq-dhcp[1]: 140425456 DHCPREQUEST(eth1) 10.0.0.171 52:54:00:ea:56:f2 dnsmasq-dhcp[1]: 140425456 tags: known, efi-arm64, eth1 dnsmasq-dhcp[1]: 140425456 DHCPACK(eth1) 10.0.0.171 52:54:00:ea:56:f2 pxe-uefi dnsmasq-dhcp[1]: 140425456 requested options: 1:netmask, 2:time-offset, 3:router, 4, 5, dnsmasq-dhcp[1]: 140425456 requested options: 6:dns-server, 12:hostname, 13:boot-file-size, dnsmasq-dhcp[1]: 140425456 requested options: 15:domain-name, 17:root-path, 18:extension-path, dnsmasq-dhcp[1]: 140425456 requested options: 22:max-datagram-reassembly, 23:default-ttl, dnsmasq-dhcp[1]: 140425456 requested options: 28:broadcast, 40:nis-domain, 41:nis-server, dnsmasq-dhcp[1]: 140425456 requested options: 42:ntp-server, 43:vendor-encap, 50:requested-address, dnsmasq-dhcp[1]: 140425456 requested options: 51:lease-time, 54:server-identifier, 58:T1, dnsmasq-dhcp[1]: 140425456 requested options: 59:T2, 60:vendor-class, 66:tftp-server, 67:bootfile-name, dnsmasq-dhcp[1]: 140425456 requested options: 97:client-machine-id, 128, 129, 130, 131, dnsmasq-dhcp[1]: 140425456 requested options: 132, 133, 134, 135 dnsmasq-dhcp[1]: 140425456 next server: 10.0.0.167 dnsmasq-dhcp[1]: 140425456 broadcast response dnsmasq-dhcp[1]: 140425456 sent size: 1 option: 53 message-type 5 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 54 server-identifier 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 51 lease-time 2m dnsmasq-dhcp[1]: 140425456 sent size: 13 option: 67 bootfile-name grubaa64.efi dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 58 T1 1m dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 59 T2 1m45s dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 1 netmask 255.255.255.0 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 28 broadcast 10.0.0.255 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 3 router 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 6 dns-server 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 8 option: 12 hostname pxe-uefi dnsmasq-tftp[1]: error 8 User aborted the transfer received from 10.0.0.171 dnsmasq-tftp[1]: failed sending /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: sent /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/command.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/fs.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/crypto.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/terminal.lst not found ``` --- Regards, Jeffrey Zhang Blog: http://xcodest.me
Hi Jeffrey, Different firmware may have different search path, ironic takes a simple path to have a main grub.cfg to distribute a request to the correct configuration file with grub built-in variables, you can get detailed steps here [1]. [1] https://docs.openstack.org/ironic/latest/install/configure-pxe.html#uefi-pxe... // kaifeng On Thu, Jun 11, 2020 at 9:39 PM Jeffrey Zhang <zhang.lei.fly@gmail.com> wrote:
hey guys,
I am testing a standalone ironic node on arm64 node through centos 7. Then dnsmasq is configured as following
``` enable-tftp tftp-root=/var/lib/ironic/public/boot/tftp
# dhcp-option=option:router,192.168.122.1 # use static dhcp-range=10.0.0.167,static,60s log-queries log-dhcp dhcp-match=set:efi-arm64,option:client-arch,11 dhcp-boot=tag:efi-arm64,grubaa64.efi ```
the grubaa64.efi file come from `/boot/efi/EFI/centos/grubaa64.efi` on centos 7
But seems grubaa64.efi file are trying different grub.cfg filename like `grub.cfg-xx-xx-xx-xx`( check bellow) Whereas ironic generate filename like `xx:xx:xx:xx:xx.conf`. Is this a bug in ironic? or I made something wrong?
``` dnsmasq-dhcp[1]: 140425456 vendor class: PXEClient:Arch:00011:UNDI:003000 dnsmasq-dhcp[1]: 140425456 DHCPREQUEST(eth1) 10.0.0.171 52:54:00:ea:56:f2 dnsmasq-dhcp[1]: 140425456 tags: known, efi-arm64, eth1 dnsmasq-dhcp[1]: 140425456 DHCPACK(eth1) 10.0.0.171 52:54:00:ea:56:f2 pxe-uefi dnsmasq-dhcp[1]: 140425456 requested options: 1:netmask, 2:time-offset, 3:router, 4, 5, dnsmasq-dhcp[1]: 140425456 requested options: 6:dns-server, 12:hostname, 13:boot-file-size, dnsmasq-dhcp[1]: 140425456 requested options: 15:domain-name, 17:root-path, 18:extension-path, dnsmasq-dhcp[1]: 140425456 requested options: 22:max-datagram-reassembly, 23:default-ttl, dnsmasq-dhcp[1]: 140425456 requested options: 28:broadcast, 40:nis-domain, 41:nis-server, dnsmasq-dhcp[1]: 140425456 requested options: 42:ntp-server, 43:vendor-encap, 50:requested-address, dnsmasq-dhcp[1]: 140425456 requested options: 51:lease-time, 54:server-identifier, 58:T1, dnsmasq-dhcp[1]: 140425456 requested options: 59:T2, 60:vendor-class, 66:tftp-server, 67:bootfile-name, dnsmasq-dhcp[1]: 140425456 requested options: 97:client-machine-id, 128, 129, 130, 131, dnsmasq-dhcp[1]: 140425456 requested options: 132, 133, 134, 135 dnsmasq-dhcp[1]: 140425456 next server: 10.0.0.167 dnsmasq-dhcp[1]: 140425456 broadcast response dnsmasq-dhcp[1]: 140425456 sent size: 1 option: 53 message-type 5 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 54 server-identifier 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 51 lease-time 2m dnsmasq-dhcp[1]: 140425456 sent size: 13 option: 67 bootfile-name grubaa64.efi dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 58 T1 1m dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 59 T2 1m45s dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 1 netmask 255.255.255.0 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 28 broadcast 10.0.0.255 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 3 router 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 6 dns-server 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 8 option: 12 hostname pxe-uefi dnsmasq-tftp[1]: error 8 User aborted the transfer received from 10.0.0.171 dnsmasq-tftp[1]: failed sending /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: sent /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/command.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/fs.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/crypto.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/terminal.lst not found ``` --- Regards, Jeffrey Zhang Blog: http://xcodest.me
yeah, i have set up an ironic node based on the doc, thanks a lot. --- Regards, Jeffrey Zhang Blog: http://xcodest.me On Thu, Jun 11, 2020 at 10:16 PM Kaifeng Wang <kaifeng.w@gmail.com> wrote:
Hi Jeffrey,
Different firmware may have different search path, ironic takes a simple path to have a main grub.cfg to distribute a request to the correct configuration file with grub built-in variables, you can get detailed steps here [1].
[1] https://docs.openstack.org/ironic/latest/install/configure-pxe.html#uefi-pxe...
// kaifeng
On Thu, Jun 11, 2020 at 9:39 PM Jeffrey Zhang <zhang.lei.fly@gmail.com> wrote:
hey guys,
I am testing a standalone ironic node on arm64 node through centos 7. Then dnsmasq is configured as following
``` enable-tftp tftp-root=/var/lib/ironic/public/boot/tftp
# dhcp-option=option:router,192.168.122.1 # use static dhcp-range=10.0.0.167,static,60s log-queries log-dhcp dhcp-match=set:efi-arm64,option:client-arch,11 dhcp-boot=tag:efi-arm64,grubaa64.efi ```
the grubaa64.efi file come from `/boot/efi/EFI/centos/grubaa64.efi` on centos 7
But seems grubaa64.efi file are trying different grub.cfg filename like `grub.cfg-xx-xx-xx-xx`( check bellow) Whereas ironic generate filename like `xx:xx:xx:xx:xx.conf`. Is this a bug in ironic? or I made something wrong?
``` dnsmasq-dhcp[1]: 140425456 vendor class: PXEClient:Arch:00011:UNDI:003000 dnsmasq-dhcp[1]: 140425456 DHCPREQUEST(eth1) 10.0.0.171 52:54:00:ea:56:f2 dnsmasq-dhcp[1]: 140425456 tags: known, efi-arm64, eth1 dnsmasq-dhcp[1]: 140425456 DHCPACK(eth1) 10.0.0.171 52:54:00:ea:56:f2 pxe-uefi dnsmasq-dhcp[1]: 140425456 requested options: 1:netmask, 2:time-offset, 3:router, 4, 5, dnsmasq-dhcp[1]: 140425456 requested options: 6:dns-server, 12:hostname, 13:boot-file-size, dnsmasq-dhcp[1]: 140425456 requested options: 15:domain-name, 17:root-path, 18:extension-path, dnsmasq-dhcp[1]: 140425456 requested options: 22:max-datagram-reassembly, 23:default-ttl, dnsmasq-dhcp[1]: 140425456 requested options: 28:broadcast, 40:nis-domain, 41:nis-server, dnsmasq-dhcp[1]: 140425456 requested options: 42:ntp-server, 43:vendor-encap, 50:requested-address, dnsmasq-dhcp[1]: 140425456 requested options: 51:lease-time, 54:server-identifier, 58:T1, dnsmasq-dhcp[1]: 140425456 requested options: 59:T2, 60:vendor-class, 66:tftp-server, 67:bootfile-name, dnsmasq-dhcp[1]: 140425456 requested options: 97:client-machine-id, 128, 129, 130, 131, dnsmasq-dhcp[1]: 140425456 requested options: 132, 133, 134, 135 dnsmasq-dhcp[1]: 140425456 next server: 10.0.0.167 dnsmasq-dhcp[1]: 140425456 broadcast response dnsmasq-dhcp[1]: 140425456 sent size: 1 option: 53 message-type 5 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 54 server-identifier 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 51 lease-time 2m dnsmasq-dhcp[1]: 140425456 sent size: 13 option: 67 bootfile-name grubaa64.efi dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 58 T1 1m dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 59 T2 1m45s dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 1 netmask 255.255.255.0 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 28 broadcast 10.0.0.255 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 3 router 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 4 option: 6 dns-server 10.0.0.167 dnsmasq-dhcp[1]: 140425456 sent size: 8 option: 12 hostname pxe-uefi dnsmasq-tftp[1]: error 8 User aborted the transfer received from 10.0.0.171 dnsmasq-tftp[1]: failed sending /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: sent /var/lib/ironic/public/boot/tftp/grubaa64.efi to 10.0.0.171 dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-01-52-54-00-ea-56-f2 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000AB not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A000 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A00 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0A not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg-0 not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/grub.cfg not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/command.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/fs.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/crypto.lst not found dnsmasq-tftp[1]: file /var/lib/ironic/public/boot/tftp/EFI/centos/arm64-efi/terminal.lst not found ``` --- Regards, Jeffrey Zhang Blog: http://xcodest.me
participants (2)
-
Jeffrey Zhang
-
Kaifeng Wang