xCAT -- eXtreme Cloud Administration Toolkit. This is a mirror from git://git.code.sf.net/p/xcat/xcat-core
Go to file
cjhardee 5b4ba54a2d Cross your fingers that this makes the million and a half dependant things happy. Changed the output of getNodeAttributes to merge the data from its different groups and to clone entries from one group for each entry in a folowing group with data in it.
I'm just gonna paste the description Jarrod sent to the group via email:

So if getAttribs ever returns more than one result, then getNodeAttribs will have it's output multiplied by that factor.  I'll draw out a table with changes Chris started adding while he was also trying to flatten the recursion.  Let's say 'n1' is in groups 'g1,g2,g3', and that we request columns 'c1,c2,c3,c4'  Let's also assume the primary key is not simply 'node', allowing the node column to contain duplicates (as in switch table).  I don't expect anyone to actually construct something this convoluted in practice, but:

node    |c1     |c2     |c3     |c4
n1      |v1     |       |       |
g2      |       |V2+=   |       |
g2      |       |v3     |v4     |
g3      |       |v5     |       |v6
g3      |       |v7     |v8     |v9

First, we get n1s record:
[
{ node => 'n1',  c1 => 'v1',}
]
We see that c2-c4 are still unsatisfiad, then we check g1, see there is no record, so no action takes place, then getAttribs node=>'g2' returns two records.  As a result, we clone our results so far and independently populate them:
[
{ node => 'n1', c1=> 'v1', c2 => 'v2+=' },
{ node => 'n1', c1 => 'v1', c2=> 'v3', c3 => 'v4'},
]
Now, in the first record, we are still looking to fill in c3, c4, and we are also still looking at c2 to complete the '+=' operation.
In the second record, we only need c4 now, no other columns will be checked for that record.

Then we hit g3.  We also get two results back (two was easier, but arbitrarily many are possible, btw).  Since both records are still looking to be completed, the two become 4 records (if one of the two records were satisfied before this point, the two would have become three instead):

[
{ node => 'n1', c1=> 'v1', c2 => 'v2v5',c4=>'v6' },
{ node => 'n1', c1 => 'v1', c2=> 'v3', c3 => 'v4',c4=>'v6'},
{ node => 'n1', c1=> 'v1', c2 => 'v2v7',c3=>v8,c4=>'v9' },
{ node => 'n1', c1 => 'v1', c2=> 'v3', c3 => 'v4',c4=>'v9'},
]

And that would be what getNodesAttribs would return in this case.




git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@7131 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-08-18 18:14:48 +00:00
build-utils
java-xCAT
perl-xCAT Cross your fingers that this makes the million and a half dependant things happy. Changed the output of getNodeAttributes to merge the data from its different groups and to clone entries from one group for each entry in a folowing group with data in it. 2010-08-18 18:14:48 +00:00
xCAT fix the error that handle the return code when initiate the syncfile 2010-08-18 03:21:19 +00:00
xCAT-client defect 2990570: add the part that using the /install/<os>/<arch> as the repository of management node 2010-08-18 07:04:17 +00:00
xCAT-IBMhpc HPC integration RH6 support for diskless cluster(rsct) 2010-08-18 08:59:05 +00:00
xCAT-nbroot -Have xCAT only attempt to change user privilege if not currently accurate 2010-08-16 19:47:05 +00:00
xCAT-rmc add the more addional log information to postscripts 2010-04-06 08:18:30 +00:00
xCAT-server fix example 2010-08-18 16:24:07 +00:00
xCAT-UI Removed getStatus() call 2010-08-05 19:17:07 +00:00
xCAT-web
xCATsn Moved atftp-xcat require so it isn't required on system z 2010-05-03 19:52:56 +00:00
build-debs
buildcore.sh remove AIX bundles files. 2010-06-03 16:02:59 +00:00
builddep.sh Change to dep build script: do not install perl-DBD-DB2 on aix 2010-07-29 11:36:38 +00:00
debperldepends
makeclientrpm
makehpcrpm Fix xCAT-IBMhpc build on aix 2010-04-19 13:53:58 +00:00
makenbrootrpm
makeperlxcatrpm
makermcrpm
makeserverrpm
makeuirpm
makexcatrpm install xCATMN with xCAT metapackage so will be removed on erase 2010-01-25 13:41:46 +00:00
makexcatsnrpm Add xCATsn rpm to AIX build. 2010-02-08 19:48:57 +00:00
mkAIXdeps take out expect, tk, tcl. 2010-06-07 16:52:34 +00:00
mkAIXsnap Add expect,tk,tcl. 2010-03-15 12:48:21 +00:00
README
Version fix bug in build script and up version of trunk to 2.5 2010-04-16 14:37:03 +00:00

xCAT - eXtreme Cluster Administration Toolkit

xCAT is a toolkit for the deployment and administration of clusters.

For documentation on getting started with xCAT, see: 
http://xcat.svn.sourceforge.net/svnroot/xcat/xcat-core/trunk/xCAT-client/share/doc/xCAT2.pdf .

xCAT is made available as OSS under the EPL license:
http://www.opensource.org/licenses/eclipse-1.0.php

(This file is not packaged with the xCAT RPMs.  It is only here for those that look
at the source in SVN and want to know how to get started.  The README that is packaged
with xCAT is in perl-xCAT-2.0/README.)