#!/usr/bin/env perl
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
BEGIN
{
    use Time::HiRes qw(sleep);
    $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
    my $sleepint=int(rand(10));
    print "Opening console in ".(0.5*$sleepint)." seconds...\n";
    sleep (0.5*$sleepint);
}
use lib "$::XCATROOT/lib/perl";
$ENV{HOME}='/root/';
require xCAT::Client;

require File::Basename;
import File::Basename;
my $scriptname = $0;

my $cmdref={
    command=>"getxencons",
    arg=>"text",
    noderange=>$ARGV[0]
};
use Data::Dumper;
my $dsthost;
my $dstty;
my $speed;
sub getans {
    my $rsp = shift; 
    if ($rsp->{node}) {
        $dsthost = $rsp->{node}->[0]->{sshhost}->[0];
        $dstty = $rsp->{node}->[0]->{psuedotty}->[0];
        $speed = $rsp->{node}->[0]->{baudrate}->[0];
    }
}
xCAT::Client::submit_request($cmdref,\&getans);
until ($dsthost and $speed and $dstty) {
    print "console not ready\n";
    sleep 5+int(rand(10));
    xCAT::Client::submit_request($cmdref,\&getans);
}
exec "ssh -t $dsthost cu -s $speed -l $dstty";

#my $pathtochild= dirname($scriptname). "/";
#exec $pathtochild."blade.expect $mm $slot $username $password";
  



