• chuck cranor's avatar
    add power support for IBM BladeCenter chassis · f66517f5
    chuck cranor authored
    Add power support for the IBM BladeCenter chassis (power_ibmbc.pm).
    This is the chassis used in the old Roadrunner cluster at LANL.  Each
    chassis has 14 blades in it.  The management IP API is accessed from
    boss via ssh.  A ssh keypair should be setup to allow for passwordless
    ssh access.  We assume the admin has installed the keypair on boss
    (in /usr/testbed/etc/{ibmbc,ibmbc.pub}) and on each chassis for
    the standard "USERID" account.  The key files should be owned by
    an account like "operator" to avoid ssh complaining about key file
    permissions in some cases.
    
    The module will end up running commands like:
    
          ssh USERID@chassis-mm power -on -T 'blade[1]'
          ssh USERID@chassis-mm power -off -T 'blade[1]'
          ssh USERID@chassis-mm power -cycle -T 'blade[1]'
    
    (we'll add "-i /usr/testbed/etc/ibmbc" to "ssh" if the key file is present)
    
    using this requires the following "mysql tbdb" cmds on boss:
      one-time operation:
         insert into node_types (class,type) values ('power', 'ibmbc');
    
      per-chassis operations:
         # assumes that "rr1" is blade1 of chassis "bch1"
         insert into nodes (node_id,type,phys_nodeid,role,priority,status,
                            eventstate,op_mode,allocstate)
         values ('bch1', 'ibmbc', 'bch1', 'powerctrl', 10001, 'down',
                            'ISUP', 'NONE', 'FREE_DIRTY');
    
         # adds IP of the chassis management module
         insert into interfaces (node_id,IP,mask,interface_type,iface,role) values
              ('bch1', '172.19.148.61', '255.255.240.0','','eth0','other');
    
      per-blade operation:
         insert into outlets (node_id,power_id,outlet)
                values ('rr1', 'bch1', 1);   # outlet 1==blade1, etc.
    f66517f5