diff --git a/perl-xCAT/xCAT/Table.pm b/perl-xCAT/xCAT/Table.pm index cfbdd6896..43d0c14be 100644 --- a/perl-xCAT/xCAT/Table.pm +++ b/perl-xCAT/xCAT/Table.pm @@ -2564,7 +2564,7 @@ sub getNodeAttribs_nosub_returnany if(defined{$data}) { #if there was some data for the node, loop through and check it foreach $result (@results) { foreach $attrib (keys %attribsToDo) { - if (defined($result) && defined($result->{$attrib}) + if (defined($result) && defined($result->{$attrib}) && $self->{tabname} ne 'nodelist' && @hierarchy_attrs && grep (/^$attrib$/, @hierarchy_attrs) ) { $result->{$attrib} .= ',+=NEXTRECORD'; } @@ -2580,6 +2580,16 @@ sub getNodeAttribs_nosub_returnany return @results; } + if ($self->{tabname} eq 'nodelist') { + return @results; + } + + # As self->nodelist is a weak reference, if error haddpens, log it. + if (!defined($self->{nodelist})) { + xCAT::MsgUtils->message("S","xcat Table: Unexpected error, nodelist object is undef."); + return undef; + } + #find the groups for this node my ($nodeghash) = $self->{nodelist}->getAttribs({node => $node}, 'groups');