← Back to team overview

openstack team mailing list archive

Re: Guest PXE Boot

 

Hello Monty,

	I haven't had the time to play with baremetal yet but it is on my todo list. 
I know I may be doing it wrong but when I create my Linux/Windows/ETC images, I'm 
using the kickstarting solution we already have in place and I was simply trying to PXE
boot my images from my lab as it is faster (better hardware, more memory).

I'm wondering if this patch could make it trunk?   I enjoyed the libvirt.xml.template before 
it got removed and found this solution (quick and easy).

I will definitely look at the baremetal (after seeing what it can do at the summit).

Thank you very much,

Dave


-----Original Message-----
From: Monty Taylor [mailto:mordred@xxxxxxxxxxxx] 
Sent: May-11-13 4:18 PM
To: David Hill
Cc: openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Openstack] Guest PXE Boot

Neat!

Have you seen any of the work around nova baremetal (which is
transitioning to be called ironic?) Related to that is a set of "virtual
power drivers" which allow for treating virtual machines like real
machines - so that you can use nova to pxe boot a kvm or a virtualbox or
a vmware instance.

I know it's not exactly the same thing, but I don't know what you're
trying to accomplish. Perhaps what you want is similar enough to work
together?

Monty

On 05/10/2013 12:55 PM, David Hill wrote:
> Hi guys,
> 
>  
> 
>     I was trying to PXE boot a guest for quite some time now and I think
> I've found a solution that is kind of hackish but pretty simple.   I'm
> not quite sure it's good to go in trunk but felt like I'd share it since
> I've been messing a while on this.  
> 
> If anybody have a better solution, I would really like to hear/see/try it ...
> 
>  
> 
> Here is how I did it:
> 
>  
> 
> First, patch the libvirt/driver.py file:
> 
> --- /usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py.orig  
> 2013-05-10 16:25:17.787862177 +0000
> 
> +++ /usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py       
> 2013-05-10 16:26:39.442022870 +0000
> 
> @@ -87,6 +87,9 @@
> 
> LOG = logging.getLogger(__name__)
> 
>  
> 
> libvirt_opts = [
> 
> +    cfg.StrOpt('default_guest_boot_dev',
> 
> +               default='hd',
> 
> +               help='Sets the default guest boot device'),
> 
>      cfg.StrOpt('rescue_image_id',
> 
>                 default=None,
> 
>                 help='Rescue ami image'),
> 
> @@ -1792,7 +1795,7 @@
> 
>                                                     instance['name'],
> 
>                                                     "ramdisk")
> 
>              else:
> 
> -                guest.os_boot_dev = "hd"
> 
> +                guest.os_boot_dev = FLAGS.default_guest_boot_dev
> 
>  
> 
>          if FLAGS.libvirt_type != "lxc" and FLAGS.libvirt_type != "uml":
> 
>              guest.acpi = True
> 
>  
> 
>  
> 
> And add to nova.conf:
> 
> default_guest_boot_dev=network
> 
>  
> 
> And finally add to /etc/dnsmasq.conf
> 
> dhcp-boot=boot\x86\pxelinux.com,host_name,host_ip
> 
> dhcp-no-override
> 
>  
> 
> And restart dnsmasq.conf
> 
>  
> 
> In my actual setup, the guest will PXE boot, show the menu 60 seconds
> and then boot from hard disk after the 60 seconds timeout.
> 
>  
> 
>  
> 
> Thank you very much,
> 
>  
> 
> Dave
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
> 


References