Unrescued node fails to boot with partition image

Bug #1749433 reported by Hironori Shiina
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
Hironori Shiina

Bug Description

When a node is unrescued, the node fails to boot if the node is deployed with a partition image and with netboot option.
This is because paths to a kernel and a remdisk are missing in the iPXE configuration script like:

  :boot_partition
  imgfree
  kernel root=UUID=35a2ae36-b422-4230-9c8c-0bbf24dd684b ro text nofb nomodeset vga=normal console=ttyS0 systemd.journald.forward_to_console=yes ipa-debug=1 initrd=ramdisk || goto boot_partition
  initrd || goto boot_partition
  boot

This should be:

  :boot_partition
  imgfree
  kernel http://192.168.1.10:3928/8a2eea80-d53a-419e-a56c-9981f248cf91/kernel root=UUID=35a2ae36-b422-4230-9c8c-0bbf24dd684b ro text nofb nomodeset vga=normal console=ttyS0 systemd.journald.forward_to_console=yes ipa-debug=1 initrd=ramdisk || goto boot_partition
  initrd http://192.168.1.10:3928/8a2eea80-d53a-419e-a56c-9981f248cf91/ramdisk || goto boot_partition
  boot

Necessary configuration is skipped[1] because prepare_instance() is called with UNRESCUING provision state, which gives wrong mode[2][3][4].

[1] https://github.com/openstack/ironic/blob/180277a65a5ad7f9cdc55d55aee08ef25ff92f8b/ironic/drivers/modules/pxe.py#L259
[2] https://github.com/openstack/ironic/blob/180277a65a5ad7f9cdc55d55aee08ef25ff92f8b/ironic/drivers/modules/pxe.py#L244
[3] https://github.com/openstack/ironic/blob/180277a65a5ad7f9cdc55d55aee08ef25ff92f8b/ironic/drivers/modules/deploy_utils.py#L127
[4] https://github.com/openstack/ironic/blob/180277a65a5ad7f9cdc55d55aee08ef25ff92f8b/ironic/drivers/modules/deploy_utils.py#L70

Changed in ironic:
assignee: nobody → Hironori Shiina (shiina-hironori)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/544278

Changed in ironic:
status: New → In Progress
Changed in ironic:
assignee: Hironori Shiina (shiina-hironori) → Dmitry Tantsur (divius)
Dmitry Tantsur (divius)
Changed in ironic:
importance: Undecided → High
assignee: Dmitry Tantsur (divius) → Hironori Shiina (shiina-hironori)
tags: added: pxe rescue
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/544278
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=4df93fc4746184f42e852fbb372c0662aa829a55
Submitter: Zuul
Branch: master

commit 4df93fc4746184f42e852fbb372c0662aa829a55
Author: Hironori Shiina <email address hidden>
Date: Wed Feb 14 21:10:26 2018 +0900

    Build instance PXE options for unrescue

    This patch always builds PXE options for booting a user image even if
    the provision state is related to rescue mode. When the state is
    unrescuing, these options are necessary to boot a user image. When the
    provision state is rescuing, these options are just ignored because
    the PXE configuration is used at deployment mode.

    Change-Id: I1ff51cab120e6612c71e5d9c45cf28797bc16e76
    Closes-Bug: 1749433

Changed in ironic:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/546026

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (stable/queens)

Reviewed: https://review.openstack.org/546026
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=2bc984aabacce75f01fa0879b7783c392255417e
Submitter: Zuul
Branch: stable/queens

commit 2bc984aabacce75f01fa0879b7783c392255417e
Author: Hironori Shiina <email address hidden>
Date: Wed Feb 14 21:10:26 2018 +0900

    Build instance PXE options for unrescue

    This patch always builds PXE options for booting a user image even if
    the provision state is related to rescue mode. When the state is
    unrescuing, these options are necessary to boot a user image. When the
    provision state is rescuing, these options are just ignored because
    the PXE configuration is used at deployment mode.

    Change-Id: I1ff51cab120e6612c71e5d9c45cf28797bc16e76
    Closes-Bug: 1749433
    (cherry picked from commit 4df93fc4746184f42e852fbb372c0662aa829a55)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic 10.1.1

This issue was fixed in the openstack/ironic 10.1.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic 11.0.0

This issue was fixed in the openstack/ironic 11.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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