diff --git a/playbooks/roles/bifrost-ironic-install/tasks/create_tftpboot.yml b/playbooks/roles/bifrost-ironic-install/tasks/create_tftpboot.yml index 10c3037dc..5768517e2 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/create_tftpboot.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/create_tftpboot.yml @@ -100,7 +100,7 @@ mode: 0644 remote_src: true -- name: "Copy full iPXE image into /tftpboot" +- name: "Copy full iPXE image into {{ tftp_boot_folder }}" copy: src: "{{ ipxe_dir }}/{{ ipxe_full_binary }}" dest: "{{ tftp_boot_folder }}" @@ -109,6 +109,35 @@ mode: 0644 remote_src: true +- name: "Set grub2 and shim paths for Debian and Red Hat systems" + set_fact: + grub_efi_source: /usr/lib/ironic/grub-efi + shim_efi_source: /usr/lib/ironic/shim-efi + +- name: "Copy shim into serving folders" + copy: + src: "{{ shim_efi_source }}" + dest: "{{ item }}/bootx64.efi" + owner: ironic + group: ironic + mode: 0644 + remote_src: true + loop: + - "{{ tftp_boot_folder }}" + - "{{ http_boot_folder }}" + +- name: "Copy grub into serving folders" + copy: + src: "{{ grub_efi_source }}" + dest: "{{ item }}/grubx64.efi" + owner: ironic + group: ironic + mode: 0644 + remote_src: true + loop: + - "{{ tftp_boot_folder }}" + - "{{ http_boot_folder }}" + - name: "Set up iPXE for EFI booting" block: - name: "Check if the iPXE EFI image is present" diff --git a/scripts/collect-test-info.sh b/scripts/collect-test-info.sh index 21c2fa2ca..c8e94ed03 100755 --- a/scripts/collect-test-info.sh +++ b/scripts/collect-test-info.sh @@ -83,7 +83,7 @@ sudo journalctl -u uwsgi@keystone-public &> ${LOG_LOCATION}/keystone-public.log # Copy PXE information mkdir -p ${LOG_LOCATION}/pxe/ sudo ls -lR /var/lib/ironic/httpboot > ${LOG_LOCATION}/pxe/listing.txt -sudo bash -c "cp -aL /var/lib/ironic/httpboot/*.ipxe ${LOG_LOCATION}/pxe/" +sudo bash -c "cp -aL /var/lib/ironic/httpboot/*.ipxe ${LOG_LOCATION}/pxe/ || true" sudo cp -aL /var/lib/ironic/httpboot/pxelinux.cfg/ ${LOG_LOCATION}/pxe/ # Copy files generated by bifrost-cli