Forgot about tags, sorry.

-- 
With best regards,
Vladimir Eremin,
Fuel Deployment Engineer,
Mirantis, Inc.



> On Nov 13, 2015, at 5:13 PM, Vladimir Eremin <[email protected]> wrote:
> 
> Hi folks,
> 
> As you know, to speed up provisioning stage we could use HTTP for downloading 
> kernel and initramfs. There are 3 options to do this: lpxelinux, iPXE (which 
> is successor/fork of gPXE) and GRUB 2, which we were assessed during my work 
> in Yandex and I’d like to share some experience.
> 
> In this note I leave UEFI/iPXE embedding for IPv6 out of scope. Yandex has 
> chosen with iPXE embedding mostly because it’s well-known already and there 
> was less problem to embed iPXE to custom-build hardware than mess with UEFI.
> 
> lpxelinux is a HTTP/FTP enabled variant of usual pxelinux (since syslinux 
> 5.10), so it’s required no chainloading (so no mess with DHCP-server) and no 
> boot config re-design. To provide HTTP URI instead of TFTP, two variants may 
> be used:
> 
> * replace entries in boot config like LINUX from relative path like 
> boot/mykernel to absolute URL like http://boot-server/boot/mykernel
> * provide pxelinux.pathprefix DHCP option [1] contains URL prefix like 
> http://boot-server/
> 
> This is most convenient variant to speed up pxelinux setup. Unfortunately, 
> lpxelinux hasn't built for Ubuntu Trusty, so it should be rebuilt from Debian 
> Sid.
> 
> 
> iPXE is advanced boot loader with many features like IPv6, HTTP and scripting 
> language. Actually, it allows to pass hardware-related information to 
> provisioning server.
> 
> Boot script should be compiled into iPXE, or you will need to set up your 
> DHCP-server [2] to serve different options for different loaders. This option 
> will require to re-write provisioning logic.
> It also support UEFI, so it could be used for IPv6 provisioning.
> 
> I recommend this variant for advanced IPv6 + HTTP provisioning.
> 
> 
> GRUB2 is most advanced option. Unfortunately, it’s still has a bug with IPv6 
> [3], so there is no point to overcomplicate the setup.
> 
> 
> Note that UNDI API is provided correctly by most of modern NIC’s. However, 
> some cards like Mellanox ConnectX and weird Intels is not working correctly. 
> To fix it, iPXE could be built with vendor-specific driver [4]. There is no 
> workaround for lpxelinux.
> 
> [1] http://www.syslinux.org/wiki/index.php/PXELINUX#DHCP_options
> [2] http://ipxe.org/howto/chainloading
> [3] https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229458
> [4] http://ipxe.org/appnote/hardware_drivers
> 
> -- 
> With best regards,
> Vladimir Eremin,
> Fuel Deployment Engineer,
> Mirantis, Inc.
> 
> 
> 


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to