Unrescued node fails to boot with partition image

Bug #1749433 reported by Hironori Shiina on 2018-02-14
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)

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) on 2018-02-19
Changed in ironic:
importance: Undecided → High
assignee: Dmitry Tantsur (divius) → Hironori Shiina (shiina-hironori)
tags: added: pxe rescue

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

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

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

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  Edit
Everyone can see this information.

Other bug subscribers