From 7a623c9ab69bce7b4c8b6a8d00b2f2a67dac3eb7 Mon Sep 17 00:00:00 2001 From: Leigh B Stoller Date: Mon, 7 Oct 2013 10:26:02 -0600 Subject: [PATCH] Add all nonlocalusers (login) to the services element. --- protogeni/lib/GeniSliver.pm.in | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/protogeni/lib/GeniSliver.pm.in b/protogeni/lib/GeniSliver.pm.in index 5a48c402d..a35e893d4 100755 --- a/protogeni/lib/GeniSliver.pm.in +++ b/protogeni/lib/GeniSliver.pm.in @@ -843,13 +843,20 @@ sub AnnotateManifest($) $services = GeniXML::AddElement("services", $rspec); } my $login = GeniXML::FindFirst("n:login", $services); - if (! defined($login)) { + while (defined($login)) { + $services->RemoveChild($login); + $login = GeniXML::FindFirst("n:login", $services); + } + my $nonlocalusers; + $experiment->NonLocalUsers(\$nonlocalusers); + foreach my $localuser (@$nonlocalusers) { $login = GeniXML::AddElement("login", $services); + + GeniXML::SetText("authentication", $login, "ssh-keys"); + GeniXML::SetText("hostname", $login, $sshdhost); + GeniXML::SetText("port", $login, $sshdport); + GeniXML::SetText("username", $login, $localuser->{"login"}); } - GeniXML::SetText("authentication", $login, "ssh-keys"); - GeniXML::SetText("hostname", $login, $sshdhost); - GeniXML::SetText("port", $login, $sshdport); - GeniXML::SetText("username", $login, $user->uid()); } if ($self->UpdateRspec($rspec)) { @@ -1410,7 +1417,8 @@ sub UnProvision($) my $aggregate = $self->GetAggregate(); if (!defined($aggregate)) { print STDERR "Could not find aggregate for $self\n"; - return -1; + $self->ClearAggregate(); + return 0; } # -- GitLab