Deploying partition image with localboot needs to be tested in the CI

Bug #1657077 reported by Pavlo Shchelokovskyy
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
Vasyl Saienko

Bug Description

While local-booting partition images is supported by ironic, currently this feature is not tested anywhere on upstream CI.
Enabling such testing is even more important as we plan to switch default boot option from 'netboot' to 'local' in some future.

The problem is that using a standard cloud image (like ubuntu ones) will significantly increase test time - image has to be rebuilt with dib and uploaded to glance, and whole deployment will take longer, plus virtual BMs need more RAM, ~768MB with tinyipa deploy ramdisk.

On the other hand, while the standard cirros image used in tests actually has grub as bootloader, it does not has it "installed" in the root partition, only in MBR plus menu/config files needed to boot in the root partition.

Proposed path to enable testing partition images with local boot is the following:

1) introduce and enable handling of special glance image property "has_grub": <bool> (default True), or 'no_grub' tag
  a) if image is declared/understood to have grub installed inside - do what we are doing now
  b) if image is declared to not have grub installed - use grub pre-installed in the deploy ramdisk
  c) this will require changes to
    - IPA code that installs the bootloader
    - ironic code that calls into IPA to install bootloader
    - imagebuild scripts for deploy ramdisk to include grub (for tinyipa only)

 2) before running tests:
   a) upload standard cirros-*-rootfs image to glance (the default cirros-*-uec image is blank) as ami
     - default cirros-*-uec kernel and ramdisk can be re-used as aki and ari as they are the same
   b) set image properties/tags as outlined above to declare image as not having grub installed
   c) set default boot option to 'local' in ironic config
   d) this will require adding new toggles and logic to ironic's devstack plugin

 3) add an experimental and then non-voting job that tests this feature, at least with agent_ipmitool driver. Move it to voting once proven stable enough.

Alternatively to 1) we could avoid relying on image properties/tags and always first try to find grub commands in the user image (and use them from 'chroot'), then if not found in user image try to find them in deploy ramdisk (and use them w/o chroot), and only if not found anywhere fail.

Revision history for this message
Lucas Alvares Gomes (lucasagomes) wrote :
Dmitry Tantsur (divius)
summary: - deploying partiton image with localboot needs to be tested on gates
+ Deploying partition image with localboot needs to be tested in the CI
Changed in ironic:
status: New → Triaged
importance: Undecided → High
Changed in ironic:
assignee: nobody → Vasyl Saienko (vsaienko)
status: Triaged → In Progress
Revision history for this message
Ruby Loo (rloo) wrote :

Vasyl, is there a fix for this? I'm setting the status to Triaged since I don't see any patch.

Changed in ironic:
status: In Progress → Triaged
Revision history for this message
Vasyl Saienko (vsaienko) wrote :
Changed in ironic:
status: Triaged → In Progress
Revision history for this message
Ruby Loo (rloo) wrote :

Not sure why this was tagged as an RFE. I removed the tag, after asking on irc: http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2017-11-13.log.html, around 16:10.

tags: removed: rfe
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Dmitry Tantsur (<email address hidden>) on branch: master
Review: https://review.openstack.org/502886
Reason: Abandoning due to no activity :(

Changed in ironic:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.