Archived
1
0
Fork 0

Guantanamo: add list action to master process

This commit is contained in:
Mercier Pierre-Olivier 2013-11-30 22:24:34 +01:00
commit 9de4ca25b0

View file

@ -14,6 +14,7 @@ use ACU::Process;
my %master_actions = my %master_actions =
( (
"launch" => \&master_launch, "launch" => \&master_launch,
"list" => \&master_list,
"register" => \&master_register, "register" => \&master_register,
); );
@ -23,17 +24,40 @@ sub master_register
{ {
my $args = shift; my $args = shift;
if ($args->{param}{nodename}) { if ($args->{param}{nodename})
{
my $nodename = $args->{param}{nodename}; my $nodename = $args->{param}{nodename};
log INFO, "New node: $nodename"; if (! grep { $_ eq $nodename } @nodes)
push @nodes, "$nodename"; {
log INFO, "New node: $nodename";
push @nodes, "$nodename";
}
else {
log WARN, "Node $nodename alredy registered";
}
} }
else { else {
log WARN, "nodename empty, cannot register new node"; log WARN, "nodename empty, cannot register new node";
} }
} }
sub master_list
{
my $doc = XML::LibXML::Document->new('1.0');
my $root = $doc->createElement("process");
for my $target (@nodes)
{
my $t = $doc->createElement("target");
$t->setAttribute("name", $target);
$root->appendChild($t);
}
$doc->setDocumentElement( $root );
return $doc->toString();
}
sub build_task_xml sub build_task_xml
{ {
my $files = shift; my $files = shift;