Populate /var/lib/ironic/tftpboot in ironic-pxe image build

This change creates and populates /var/lib/ironic/tftpboot with
required bootloader files.

The same copy operations are done by puppet-ironic[1] when given
tripleo-heat-templates opinionated defaults[2]. This change is
proposed to reduce puppet-ironic's role to only generate configuration
files, and to prepare for a tool other than puppet-ironic (like
ironic-operator) to not be responsible for copying files during init.

The map-file generation is also removed, because we use `dnsmasq`, not
`tftp` to serve tftp content (and the path was wrong anyway).

[1] https://opendev.org/openstack/puppet-ironic/src/branch/master/manifests/pxe.pp
[2] https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/deployment/ironic/ironic-conductor-container-puppet.yaml#L552-L560

Change-Id: I94ad66804a634a4d5880332c2d1637112d654717
This commit is contained in:
Steve Baker 2022-08-23 17:37:32 +12:00
parent 85c6631324
commit bcfa3edcee

View File

@ -1,7 +1,7 @@
tcib_actions:
- run: dnf -y install {{ tcib_packages['common'] | join(' ') }} && dnf clean all && rm -rf /var/cache/dnf
- run: sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
- run: echo -e "re ^(/tftpboot/) /tftpboot/\2\nre ^/tftpboot/ /tftpboot/\nre ^(^/) /tftpboot/\1\nre ^([^/]) /tftpboot/\1" > /map-file
- run: mkdir -p --context=tftpdir_t /var/lib/ironic/tftpboot/pxelinux.cfg && cp /usr/share/ipxe/undionly.kpxe /usr/share/ipxe/ipxe-snponly-x86_64.efi /boot/efi/EFI/*/grubx64.efi /boot/efi/EFI/*/shimx64.efi /var/lib/ironic/tftpboot/
- run: echo ". /usr/local/bin/kolla_httpd_setup"> /usr/local/bin/kolla_extend_start && chmod 755 /usr/local/bin/kolla_extend_start
- run: ln -s /usr/share/openstack-tripleo-common/healthcheck/ironic-pxe /openstack/healthcheck && chmod a+rx /openstack/healthcheck
tcib_packages: