Add setting vlan tag to bmcsetup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.7@12814 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		@@ -334,13 +334,14 @@ hosts => {
 | 
			
		||||
 },
 | 
			
		||||
  },
 | 
			
		||||
ipmi => {
 | 
			
		||||
    cols => [qw(node bmc bmcport username password comments disable )],
 | 
			
		||||
    cols => [qw(node bmc bmcport taggedvlan username password comments disable )],
 | 
			
		||||
    keys => [qw(node)],
 | 
			
		||||
    table_desc => 'Settings for nodes that are controlled by an on-board BMC via IPMI.',
 | 
			
		||||
 descriptions => {
 | 
			
		||||
  node => 'The node name or group name.',
 | 
			
		||||
  bmc => 'The hostname of the BMC adapater.',
 | 
			
		||||
  bmcport => 'In systems with selectable shared/dedicated ethernet ports, this parameter can be used to specify the preferred port.  0 means use the shared port, 1 means dedicated, blank is to not assign',
 | 
			
		||||
  taggedvlan => 'Have bmcsetup place the BMC on the specified vlan tag on a shared netwirk interface.  Some network devices may be incompatible with this option',
 | 
			
		||||
  username => 'The BMC userid.  If not specified, the key=ipmi row in the passwd table is used as the default.',
 | 
			
		||||
  password => 'The BMC password.  If not specified, the key=ipmi row in the passwd table is used as the default.',
 | 
			
		||||
     comments => 'Any user-written notes.',
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,8 @@ while [ -z "$BMCIP" -a $IPCFGMETHOD="static" ]; do
 | 
			
		||||
    done
 | 
			
		||||
    TIMEOUT=15
 | 
			
		||||
    BMCIP=`grep bmcip /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
 | 
			
		||||
    BMCVLAN=`grep taggedvlan /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
 | 
			
		||||
    if [ -z "$BMCVLAN" ]; then BMCVLAN=off; fi
 | 
			
		||||
    BMCGW=`grep gateway /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
 | 
			
		||||
    BMCNM=`grep netmask /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
 | 
			
		||||
    BMCUS=`grep username /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
 | 
			
		||||
@@ -151,6 +153,13 @@ else
 | 
			
		||||
        done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
let idev=NUMBMCS-1
 | 
			
		||||
while [ $idev -gt 0 ]; do
 | 
			
		||||
      let idev=idev-1
 | 
			
		||||
      TRIES=0
 | 
			
		||||
      ipmitool -d $idev lan set $LANCHAN vlan id $BMCVLAN
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
let idev=NUMBMCS-1
 | 
			
		||||
for bmcu in $BMCUS; do
 | 
			
		||||
DISABLEUSERS="1 2 3 4"
 | 
			
		||||
 
 | 
			
		||||
@@ -113,9 +113,9 @@ sub process_request  {
 | 
			
		||||
  if ($tmphash->{value} eq "1" or $tmphash->{value}  =~ /y(es)?/i) {
 | 
			
		||||
    $password = genpassword(10)."1cA!";
 | 
			
		||||
    $gennedpassword=1;
 | 
			
		||||
    $tmphash=$ipmitable->getNodeAttribs($node,['bmc','username','bmcport']);
 | 
			
		||||
    $tmphash=$ipmitable->getNodeAttribs($node,['bmc','username','bmcport','taggedvlan']);
 | 
			
		||||
  } else {
 | 
			
		||||
    $tmphash=$ipmitable->getNodeAttribs($node,['bmc','username','bmcport','password']);
 | 
			
		||||
    $tmphash=$ipmitable->getNodeAttribs($node,['bmc','username','bmcport','password','taggedvlan']);
 | 
			
		||||
    if ($tmphash->{password}) {
 | 
			
		||||
      $password = $tmphash->{password};
 | 
			
		||||
    }
 | 
			
		||||
@@ -146,6 +146,9 @@ sub process_request  {
 | 
			
		||||
	  if (defined $bmcport) {
 | 
			
		||||
	      $response->{bmcport}=$bmcport;
 | 
			
		||||
	  }
 | 
			
		||||
	  if (defined $tmphash->{taggedvlan}) {
 | 
			
		||||
	      $response->{taggedvlan}=$tmphash->{taggedvlan};
 | 
			
		||||
	  }
 | 
			
		||||
  	$callback->($response);
 | 
			
		||||
  }
 | 
			
		||||
  if ($gennedpassword) { # save generated password
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user