PXE boot guest

Asked by David Hill

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

Question information

Language:
English Edit question
Status:
Expired
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
David Hill (david-hill-ubisoft) said :
#1

Should I push it to trunk or we don't want to allow this?

Thanks

Revision history for this message
David Hill (david-hill-ubisoft) said :
#2

FLAGS was replaced with CONF in grizzly/trunk...

+++ /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 = CONF.default_guest_boot_dev

         if CONF.libvirt_type != "lxc" and CONF.libvirt_type != "uml":
             guest.acpi = True

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
David Hill (david-hill-ubisoft) said :
#4

Should I commit it?

Revision history for this message
Launchpad Janitor (janitor) said :
#5

This question was expired because it remained in the 'Open' state without activity for the last 15 days.