Commit Graph

13 Commits

Author SHA1 Message Date
Ghanshyam Mann 8325044e7a Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: Ib988f3b567e31c2b9402f41e5dd222b7fc006756
2024-02-24 11:41:49 -08:00
Steve Baker ce863ae11c Make ipxe-boot image EFI capable
This refreshes the ipxe build makefile to build an image
that works in both legacy BIOS and UEFI environments.

This makes the following changes:
- Moves the ipxe submodule commit to current master
- Creates an EFI partition efi.img containing ipxe.efi
  as the default binary
- Builds ipxe-boot.img as an MBR/GPT hybrid ISO which boots
  and runs iPXE in both legacy BIOS and UEFI environments
- Stop creating ipxe-boot.qcow2 since the conversion from
  ipxe-boot.img has an incorrect EFI partition, and there is
  no real benefit over the raw image anyway
- Refresh the documentation for how to upload the images to
  an OpenStack cloud, remove the redundancy from ipxe/README

Change-Id: I720ed5aaa0d55ded73e01aaba9db66602adc26cd
2022-03-30 15:16:39 +13:00
Jesse Pretorius (odyssey4me) 23c0c73e5f Change ipxe-boot image to try all interfaces
The current implementation will only try an iPXE
boot from eth0. This patch sets it to try all
interfaces up to 10 attempts, then reboots and
starts again.

Change-Id: I9259a275f5f1f248905755ec5955ace5b67fc2bd
2020-05-05 10:25:48 +02:00
Jiri Stransky d3704c9bc5 Update deps list for building ipxe-boot.qcow2
Perl is not required, so it's removed from the list. Package
syslinux-nonlinux is added to the list because when it's missing, the
build suffers this non-fatal error:

    genisoimage: Uh oh, I cant find the boot image 'isolinux.bin' !

Also, the list is now sorted alphabetically :).

Change-Id: Ib52365e5e962adc471bef0fd8a1a2d536ee8d835
2020-05-04 17:21:07 +02:00
Matthew Booth 4b39f398ce Explicitly set MTU on interfaces in IPXE image
IPXE boot frequently hangs during introspection on upshift downloading
agent.kernel and/or agent.ramdisk because our virtualised network has a
smaller MTU than the default of 1500, and the introspection dhcp server
doesn't provide it explicitly. This is a hack to work round this until a
proper fix lands for bug 1845487, and it's backported everywhere we need
it. We should eventually aim to revert it.

Related-Bug: 1845487

Change-Id: I5efeaba8f4184c4a51575a3fb29804fd744d13b9
2020-03-13 00:45:51 +00:00
Harald Jensås b6124030e8 Add press Ctrl-B for iPXE command line
Prior to embedding the iPXE script that does retries
the default would prompt the user to press Ctrl-B to
open the iPXE shell.

This change updates the embedded script to add the
Ctrl-B prompt.

Change-Id: Ic185cdceee50b38dea4f6815f1f2217b0586f365
2019-09-27 13:29:06 +01:00
Matthew Booth 5c33131e24 Enable IPv6 support in the iPXE image
Also adds support for making this and any future iPXE build config changes.

Change-Id: Ice0eb5e10e60b1b85e36f695117c1af07e958d6d
2019-09-26 15:16:54 +01:00
Matthew Booth 6dc1bad813 Fix off-by-one error in ipxe retry attempts
Change-Id: I36d0ec88d15c651f6b3236814c08f43e711f3231
2019-09-26 12:38:12 +01:00
Matthew Booth e87628318a Remove pre-built iPXE image from the repo
Change-Id: If48823aceb2d61319ef08d72a21c7449618e8c47
2019-09-26 12:38:06 +01:00
Matthew Booth 652cece48c Don't use diskimage-builder to build IPXE image
IPXE's build process already creates bootable images, so we just use one of
those. This builds much faster, has far fewer dependencies, and produces
a much smaller image. The largest difference in output is that the
resulting image no longer uses grub, but as we weren't using any
features of grub this also means a faster boot time.

For reference, a full build takes 62 seconds on my laptop. The new
Makefile also handles dependencies much better so, for example, an
incremental rebuild after changing the embedded script takes under 3
seconds.

The ipxe repo changes to being a submodule, which continues to allow us
to pin it to a specific commit.

We no longer build the -41 image, as that was oddly specific to some
undescribed use-case. It's also trivial for whoever needed it to do
themselves if the use case is still relevant.

Change-Id: I5a6a990e6966d6eeaa2aa87cd89bfbac6738f6ee
2019-09-25 17:15:30 +01:00
Jesse Pretorius (odyssey4me) b5b7791180 Add embedded iPXE script to retry
Currently when the iPXE boot fails, the machine halts and requires
manual intervention to retry. In some environments when machine
boots, but the network is not yet ready to receive the DHCP request
on time. Sometimes when DHCP is ready, the filename option is not
present because the back-end service is not yet ready to provide it.
Then also sometimes the option is there, but it fails.

This patch implements a script which will do ten attempts to get
DHCP and the filename option before failing. When it fails, it will
then reboot the machine. The purpose of this is to maximise the chances
of succeeding the iPXE boot.

A small change to the element deps is also made to ensure that a boot
partition is created. This is necessary due to changes in
diskimage-builder.

Finally, the git SHA is updated in the make file to the current HEAD
to ensure that the image built is current.

Change-Id: Iccef8ff21b64f20f4a185c654c0308478eecfb4a
2019-08-09 16:05:01 +01:00
Ben Nemec 35c9a83baf Add larger version of ipxe-boot.qcow2 image
This image can be used as the base for baremetal instances with a
flavor that has a disk size of 0, which means the image's virtual
size will be used as the base disk size.

The original image is left unchanged so it can still be used for
instances where a disk size of less than 41 GB is desired.
2018-03-15 11:51:19 -05:00
Steve Baker 915269adc7 Replace empty image & nova patch with ipxe-boot image 2016-04-13 10:15:22 +12:00