From 056e0e98ae9432cc21b2debf39b8de81592c19d6 Mon Sep 17 00:00:00 2001 From: "Leigh B. Stoller" Date: Fri, 9 Oct 2009 22:04:39 +0000 Subject: [PATCH] Ignore the fake lan nodes in the rspec. This is going to have to change pretty soon, but for the moment it allows me to create lans on remote testbeds. --- protogeni/lib/GeniTicket.pm.in | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/protogeni/lib/GeniTicket.pm.in b/protogeni/lib/GeniTicket.pm.in index ec954972f..7c369a05b 100644 --- a/protogeni/lib/GeniTicket.pm.in +++ b/protogeni/lib/GeniTicket.pm.in @@ -736,7 +736,18 @@ sub Release($$) my @nodes = (); foreach my $ref (@{$self->rspec()->{'node'}}) { + # Skip lan nodes; they are fake. + next + if (exists($ref->{'node_type'}) && + exists($ref->{'node_type'}->{'type_name'}) && + $ref->{'node_type'}->{'type_name'} eq "lan"); + my $resource_uuid = $ref->{'component_uuid'} || $ref->{'uuid'}; + if (!defined($resource_uuid)) { + print STDERR "No resource id for node in ticket\n"; + print Dumper($ref); + return -1; + } # Virtual nodes not created until ticket redeemed. my $node = Node->Lookup($resource_uuid); @@ -798,7 +809,18 @@ sub ReleaseHolding($$) my @nodes = (); foreach my $ref (@{$self->rspec()->{'node'}}) { + # Skip lan nodes; they are fake. + next + if (exists($ref->{'node_type'}) && + exists($ref->{'node_type'}->{'type_name'}) && + $ref->{'node_type'}->{'type_name'} eq "lan"); + my $resource_uuid = $ref->{'component_uuid'} || $ref->{'uuid'}; + if (!defined($resource_uuid)) { + print STDERR "No resource id for node in ticket\n"; + print Dumper($ref); + return -1; + } my $node = Node->Lookup($resource_uuid); next if (!defined($node)); -- GitLab