Menu

#4201 grub2 failure with mixed case mac address

2.8.5
closed
yangsong
None
RHEL7
5
2014-08-20
2014-07-09
No

I was working with Wes Jones on a RH7 install on a p7r2 node. This node was previously installed with RH6.5 using yaboot, so the node definition was working with yaboot.

However, with grub2, the node's config file could not be retrieved.

The tftp request was for:
Jul 9 09:51:14 c45f06n04 in.tftpd[38896]: RRQ from 192.168.55.29 filename /boot/grub2/grub.cfg-01-40-f2-e9-5a-43-78
(all lowercase)

but the file nodeset created was:
-rw-r--r--. 3 root root 540 Jul 9 09:48 /tftpboot/boot/grub2/grub.cfg-01-40-F2-e9-5A-43-78
(mixed case)

The node definition:

# lsdef -l c55f04n03
Object name: c55f04n03
    arch=ppc64
    cons=hmc
    currchain=boot
    currstate=install rhels7.0-ppc64-compute
    groups=c55f04,lpar,all
    hcp=c45f06hmc01.gpfs.net
    hwtype=lpar
    id=1
    initrd=xcat/osimage/rhels7.0-ppc64-install-compute/initrd.img
    installnic=mac
    kcmdline=quiet repo=http://!myipfn!:80/install/rhels7.0/ppc64 ks=http://!myipfn!:80/install/autoinst/c55f04n03 ksdevice=40:F2:e9:5A:43:78
    kernel=xcat/osimage/rhels7.0-ppc64-install-compute/vmlinuz
    mac=40:F2:e9:5A:43:78
    mgt=hmc
    netboot=grub2
    nodetype=ppc,osi
    os=rhels7.0
    parent=Server-8284-22A-SN103261V
    postbootscripts=otherpkgs
    postscripts=syslog,remoteshell,syncfiles
    pprofile=p01
    profile=compute
    provmethod=rhels7.0-ppc64-install-compute

The mac attr does have mixed case chars in it, but this used to work for RH6.5 with yaboot with no problems. I think the MAC value needs to be converted to lowercase before creating the grub2 cfg file.

Discussion

  • yangsong

    yangsong - 2014-07-16

    The same problem exist in sles11.3-ppc64

     
  • Guang Cheng Li

    Guang Cheng Li - 2014-07-21
    • assigned_to: yangsong
     
  • yangsong

    yangsong - 2014-07-28
    • status: open --> pending
     
  • yangsong

    yangsong - 2014-07-28

    fixed in 2.8.5:
    commit 4d5102b346a9b1a6bb40e03a24d6ba615af9506e
    Author: immarvin yangsbj@cn.ibm.com
    Date: Mon Jul 28 02:42:57 2014 -0700

    fix defect #4201 grub2 failure with mixed case mac address
    

    diff --git a/xCAT-server/lib/xcat/plugins/grub2.pm b/xCAT-server/lib/xcat/plugins/grub2.pm
    index 04650a6..bb2e0ed 100644
    --- a/xCAT-server/lib/xcat/plugins/grub2.pm
    +++ b/xCAT-server/lib/xcat/plugins/grub2.pm
    @@ -248,7 +248,7 @@ sub setstate {
    }

     if ($nodemac =~ /:/) {
    
    • my $tmp = $nodemac;
    • my $tmp = lc($nodemac);
      $tmp =~ s/(..):(..):(..):(..):(..):(..)/$1-$2-$3-$4-$5-$6/g;
      my $pname = "grub.cfg-01-" . $tmp;
      unlink($tftpdir."/boot/grub2/".$pname);
      diff --git a/xCAT-server/lib/xcat/plugins/yaboot.pm b/xCAT-server/lib/xcat/plugins/yaboot.pm
      index 3ce6736..6d08786 100644
      --- a/xCAT-server/lib/xcat/plugins/yaboot.pm
      +++ b/xCAT-server/lib/xcat/plugins/yaboot.pm
      @@ -289,7 +289,7 @@ sub setstate {
      }
      }
      if ($nodemac =~ /:/) {
    • my $tmp = $nodemac;
    • my $tmp =lc($nodemac);
      $tmp =~ s/(..):(..):(..):(..):(..):(..)/$1-$2-$3-$4-$5-$6/g;
      my $pname = "yaboot.conf-" . $tmp;
      unlink($tftpdir."/".$pname);

    fixed in 2.9:
    commit d2cda7eb9e930f4a873537964ab5fa7fcad0f393
    Author: immarvin yangsbj@cn.ibm.com
    Date: Mon Jul 28 02:42:57 2014 -0700

    fix defect #4201 grub2 failure with mixed case mac address
    

    diff --git a/xCAT-server/lib/xcat/plugins/grub2.pm b/xCAT-server/lib/xcat/plugins/grub2.pm
    index 04650a6..bb2e0ed 100644
    --- a/xCAT-server/lib/xcat/plugins/grub2.pm
    +++ b/xCAT-server/lib/xcat/plugins/grub2.pm
    @@ -248,7 +248,7 @@ sub setstate {
    }

     if ($nodemac =~ /:/) {
    
    • my $tmp = $nodemac;
    • my $tmp = lc($nodemac);
      $tmp =~ s/(..):(..):(..):(..):(..):(..)/$1-$2-$3-$4-$5-$6/g;
      my $pname = "grub.cfg-01-" . $tmp;
      unlink($tftpdir."/boot/grub2/".$pname);
      diff --git a/xCAT-server/lib/xcat/plugins/yaboot.pm b/xCAT-server/lib/xcat/plugins/yaboot.pm
      index 3ce6736..6d08786 100644
      --- a/xCAT-server/lib/xcat/plugins/yaboot.pm
      +++ b/xCAT-server/lib/xcat/plugins/yaboot.pm
      @@ -289,7 +289,7 @@ sub setstate {
      }
      }
      if ($nodemac =~ /:/) {
    • my $tmp = $nodemac;
    • my $tmp =lc($nodemac);
      $tmp =~ s/(..):(..):(..):(..):(..):(..)/$1-$2-$3-$4-$5-$6/g;
      my $pname = "yaboot.conf-" . $tmp;
      unlink($tftpdir."/".$pname);
      (END)
     
  • Anonymous

    Anonymous - 2014-08-20
    • status: pending --> closed