Add cgi to handle the status update for rhev-h when finished installing

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13556 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
daniceexi 2012-08-20 13:51:40 +00:00
parent 3ce3fc1db7
commit 418c371dae

View File

@ -0,0 +1,50 @@
#!/usr/bin/perl
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
use strict;
use CGI qw/:standard/;
use Socket;
use IO::Socket::INET;
use IO::Socket::SSL; IO::Socket::SSL->import('inet4');
my $q = CGI->new;
my $url = $q->url;
my $pathInfo = $q->path_info;
my $peerAdd = $q->remote_addr;
my $iaddr = inet_aton($peerAdd);
my $peerhost = gethostbyaddr($iaddr, AF_INET);
$peerhost =~ s/\..*//;
if ($pathInfo =~ /^\/rhevh_finish_install\/(.*)$/) {
if ($1 eq $peerhost) {
&rhevhupdateflag($peerhost);
my $cmd = "rhevhupdateflag";
}
}
# check mapping of the IP and hostname
sub rhevhupdateflag {
my $node = shift;
my $socket = IO::Socket::INET->new(
PeerAddr => "127.0.0.1",
PeerPort => '3001',
Timeout => 15,);
my $client;
if ($socket) {
$client = IO::Socket::SSL->start_SSL($socket,
Timeout => 0,
);
}
my $req1 = "<xcatrequest><command>rhevhupdateflag</command><noderange>";
my $req2 = "</noderange></xcatrequest>";
my $req = $req1.$node.$req2;
print $client $req;
}