Forum Discussion
Hamish
Feb 04, 2014Cirrocumulus
Using iControl?
I think this is what you want...
sub getFailoverState {
my ($dbh, $dev)=(@_);
my $t0=[gettimeofday];
my $devID=$dev->{ID};
my $devFQDN=$dev->{FQDN};
my $icServer=$dev->{MgmtAddr};
my $icPort=$dev->{MgmtPort};
dbprint "getFailoverState: cookiejar (Before)\n";
print Dumper($cookieJar);
my $Failover = SOAP::Lite
-> uri('urn:iControl:System/Failover')
-> proxy("$sProtocol://$icUser:$icPass\@$icServer:$icPort/iControl/iControlPortal.cgi", cookie_jar => $cookieJar);
-> proxy("$sProtocol://$icUser:$icPass\@$icServer:$icPort/iControl/iControlPortal.cgi"i,
$Failover->transport->cookie_jar($cookieJar);
dbprint "getFailoverState: Getting failover state for $devFQDN\n";
my $soapResponse = $Failover->get_failover_state();
dbprint "getFailoverState: cookiejar (After)\n";
print Dumper($cookieJar);
&checkResponse($soapResponse);
my $failoverState=$soapResponse->result;
dbprint "getFailoverState: state=$failoverState\n";
my $updatestr="update device set fostate='$failoverState' where id=$devID";
dbprint "getFailoverState: SQL [$updatestr]\n";
my $update=$dbh->prepare($updatestr);
$update->execute;
my $elapsed=tv_interval ( $t0 );
log_action($elapsed, 0, "getFailoverState", "$updatestr");
}