From 090192c74396b0f3b2ef6864cbd2861e080ccf1f Mon Sep 17 00:00:00 2001 From: sjing Date: Tue, 7 Sep 2010 08:20:51 +0000 Subject: [PATCH] lslite supports node in nodegroup while nodegroup in statelite table. git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@7369 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/litetree.pm | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/xCAT-server/lib/xcat/plugins/litetree.pm b/xCAT-server/lib/xcat/plugins/litetree.pm index 5cd744c86..0526c7ffb 100644 --- a/xCAT-server/lib/xcat/plugins/litetree.pm +++ b/xCAT-server/lib/xcat/plugins/litetree.pm @@ -313,6 +313,32 @@ sub getNodeData { { # get locations with specific nodes push @imageInfo, $tab->getAttribs({node => $node}, @attrs); + + if (!defined $imageInfo[0]) + { + # maybe node belongs to nodegroup + # try to find it in groups + my @tmpnodes = join(',', $node); + + # group info in nodelist tab + my $nltab = xCAT::Table->new('nodelist'); + my $nltabdata = $nltab->getNodesAttribs(\@tmpnodes, ['node', 'groups']); + + my $data = $nltabdata->{$node}->[0]; + my @grps = split(',', $data->{groups}); + foreach my $g (@grps) + { + chomp $g; + my $info = $tab->getAttribs({node => $g}, @attrs); + if(defined $info) + { + push @imageInfo, $info; + } + + # return once get one record + last if (defined $imageInfo[1]); + } + } } else {