Project

General

Profile

Actions

Bug #6725

open

The "LOCALBOOT 0" entry causes some bare metal machines to stuck during boot

Added by Dominic Cleal almost 10 years ago. Updated about 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Templates
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1122153
++ This bug was initially created as a clone of Bug #1122152 ++

Foreman: The "LOCALBOOT 0" entry causes some bare metal machines to stuck during boot.

Environment:
rhel-osp-installer-0.1.1-1.el6ost.noarch
foreman-proxy-1.6.0.8-1.el6sat.noarch
foreman-installer-1.5.0-0.4.RC2.el6ost.noarch
ruby193-rubygem-foreman-tasks-0.6.4-2.el6sat.noarch
rubygem-foreman_api-0.1.11-4.el6sat.noarch
openstack-foreman-installer-2.0.15-1.el6ost.noarch
foreman-discovery-image-6.5-20140620.2.el6sat.noarch
ruby193-rubygem-foreman_openstack_simplify-0.0.6-8.el6ost.noarch
openstack-puppet-modules-2014.1-19.1.el6ost.noarch

Description:
The PXE file created for VMs with intention to boot from the HD (here: /var/lib/tftpboot/pxelinux.cfg/<MAC>) contains the following:

DEFAULT menu
PROMPT 0
MENU TITLE PXE Menu
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT 0

Result:
Some HW (for example Dell PowerEdge C6100) isn't able to boot the OS from the HD when this option is selected after booting via PXE.

Expected result:
All machines should be able to boot from the HD, when selecting the "local" option after booting via PXE.

Note: the following workaround found to be working on all machines (so far):
label local
MENU LABEL (local)
MENU DEFAULT
COM32 chain.c32
APPEND hd0 0

Actions #1

Updated by Dominic Cleal almost 10 years ago

  • Subject changed from Foreman: The "LOCALBOOT 0" entry causes some bare metal machines to stuck during boot. to The "LOCALBOOT 0" entry causes some bare metal machines to stuck during boot
  • Category set to Templates
Actions #2

Updated by The Foreman Bot almost 10 years ago

  • Status changed from New to Ready For Testing
  • Target version set to 1.7.5
  • Pull request https://github.com/Katello/katello/pull/4585 added
  • Pull request deleted ()
Actions #3

Updated by Dominic Cleal almost 10 years ago

  • Status changed from Ready For Testing to New
  • Target version deleted (1.7.5)
  • Pull request added
  • Pull request deleted (https://github.com/Katello/katello/pull/4585)
Actions #4

Updated by Simone Caldana almost 8 years ago

This happens also on virtual hosts with more than 1 NIC.
The workaround of adding

COM32 chain.c32
APPEND hd0 0

to the "PXELinux default local boot" template works

Actions #5

Updated by Ohad Levy almost 8 years ago

Simone Caldana wrote:

This happens also on virtual hosts with more than 1 NIC.
The workaround of adding
[...]
to the "PXELinux default local boot" template works

this can be done conditionally in the template too, e.g. if you have more than one nic, or on specific hardware model. maybe you could consider sending it as a patch to https://github.com/theforeman/community-templates ?

thanks!

Actions #6

Updated by Lukas Zapletal about 7 years ago

Experiencing this on RHEV 4.0 (reported by Sat QA https://bugzilla.redhat.com/show_bug.cgi?id=1421656). Weird, what is causing this?

Actions #7

Updated by Denis Müller about 7 years ago

Ohad Levy wrote:

Simone Caldana wrote:

This happens also on virtual hosts with more than 1 NIC.
The workaround of adding
[...]
to the "PXELinux default local boot" template works

this can be done conditionally in the template too, e.g. if you have more than one nic, or on specific hardware model. maybe you could consider sending it as a patch to https://github.com/theforeman/community-templates ?

thanks!

Is it possible to select another Template for PXE local boot? Now we are using "Kickstart default PXELinux" as PXE Template, but there is no option to select a another template for pxe local boot.

Actions #8

Updated by Lukas Zapletal about 7 years ago

Is it possible to select another Template for PXE local boot? Now we are using "Kickstart default PXELinux" as PXE Template, but there is no option to select a another template for pxe local boot.

Unfortunately no, this is hardcoded in codebase: "#{kind} default local boot

Feel free to send a patch, this could be global variable or even host variable.

Actions #9

Updated by Lukas Zapletal about 7 years ago

For the record, I patched community-templates already, it's an alternative localboot option now. Not the default one tho.

Actions #10

Updated by Lukas Zapletal almost 7 years ago

For the record, a change has been pushed into community-templates repository [1] which adds an entry called "Chainload the first hard drive (hd0)" which uses chain.c32 method. Users can make it a default easily via "MENU DEFAULT" and "DEFAULT" options for all of their systems, unfortunately there is no way of changing that per host as I believe @host variable is not available during template rendering (I haven't verified this, template is currently locked due to issue #19677).

This change will be available in Foreman 1.15, users are able to easily do template edits in older versions tho. This is trivial operation.

Actions #11

Updated by Frederic Schaer almost 7 years ago

Lukas Zapletal wrote:

(...) as I believe @host variable is not available during template rendering (I haven't verified this, template is currently locked due to issue #19677).

Hi,

I faced the exact same issue, and another weird one too.
But to reply to previous comment, yes, the @host variable is available during template building, so I "fixed" this by editing the pxelinux_chainload snippet with this :

(...)
LABEL local
  MENU LABEL Chainload into bootloader on the first disk
  MENU DEFAULT
<% if @host.hostgroup.to_s.match(".*C6220.*") -%>
  LOCALBOOT -1
<% else -%>
  LOCALBOOT 0
<% end -%>
(...)

Or put whatever you want in the if condition.
! WARNING !
Don't put a LOCALBOOT -1 on old dell R510s : I jut got bitten and faced PCIe fatal errors on the network card after I reinstalled a host and after it exited pxelinux after the install (I previously set localboot -1 for all hosts)

Cheers

Actions

Also available in: Atom PDF