<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Listing_and_Modifying_the_Database</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>Recent changes to Listing_and_Modifying_the_Database</description><atom:link href="https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 02 Sep 2014 16:02:22 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/feed" rel="self" type="application/rss+xml"/><item><title>Listing_and_Modifying_the_Database modified by Lissa Valletta</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v47
+++ v48
@@ -36,7 +36,7 @@
 The xCAT data that is used to manage a cluster is contained in a relational database. Different types of data are stored in different tables. You can manage this information directly using the set of table oriented commands provided by xCAT defined above.

-See [http://xcat.sf.net/man5/xcatdb.5.html the man page for xcatdb 
+See [xcatdb](http://xcat.sf.net/man5/xcatdb.5.html) the man page for xcatdb 

 ### **Object definitions**

@@ -96,7 +96,7 @@

 ~~~~

-    lsdef -t node -l -z &amp;gt; nodestanzafile
+    lsdef -t node -l -z &amp;gt; nodestanzafile
 ~~~~    

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lissa Valletta</dc:creator><pubDate>Tue, 02 Sep 2014 16:02:22 -0000</pubDate><guid>https://sourceforge.netee5e48ed2e858cc804ec2863c8b12ad5e64d32fd</guid></item><item><title>Listing_and_Modifying_the_Database modified by &lt;REDACTED&gt;</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v46
+++ v47
@@ -204,11 +204,15 @@

 This is a group name. In this example, we are assuming that all of your blades belong to this group. Each time the xCAT software accesses the mp table to get the management module and slot number of a specific blade (e.g. node20), this row will match (because node20 is in the blade group). Once this row is matched for node20, then the processing described in the following items will take place. 

+~~~~
    |\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))| 
-
-This is a perl substitution pattern that will produce the value for the second column of the table (the management module hostname). The text \D+(\d+) between the 1st two vertical bars is a regular expression that matches the node name that was searched for in this table (in this example node20). The text that matches within the 1st set of parentheses is set to $1. (If there was a 2nd set of parentheses, it would be set to $2, and so on.) In our case, the \D+ matches the non-numeric part of the name (node) and the \d+ matches the numeric part (20). So $1 is set to 20. The text cmm(sprintf('%02d',($1-1)/14+1)) between the 2nd and 3rd vertical bars produces the string that should be used as the value for the mpa attribute for node20. Since $1 is set to 20, the expression ($1-1)/14+1 equals 19/14 + 1, which equals 2. (The division is integer division, so 19/14 equals 1. Fourteen is used as the divisor, because there are 14 blades in each chassis.) The value of 2 is then passed into sprintf() with a format string to add a leading zero, if necessary, to always make the number two digits. Lastly the string cmm is added to the beginning, making the resulting string cmm02, which will be used as the hostname of the management module. 
-
+~~~~
+
+This is a perl substitution pattern that will produce the value for the second column of the table (the management module hostname). The text \D+(\d+) between the 1st two vertical bars is a regular expression that matches the node name that was searched for in this table (in this example node20). The text that matches within the 1st set of parentheses is set to $1. (If there was a 2nd set of parentheses, it would be set to $2, and so on.) In our case, the \D+ matches the non-numeric part of the name (node) and the \d+ matches the numeric part (20). So $1 is set to 20. The text cmm(sprintf('%02d',($1-1)/14+1)) between the 2nd and 3rd vertical bars produces the string that should be used as the value for the mpa attribute for node20. Since $1 is set to 20, the expression ($1-1)/14+1 equals 19/14 + 1, which equals 2. (The division is integer division, so 19/14 equals 1. Fourteen is used as the divisor, because there are 14 blades in each chassis.) The value of 2 is then passed into sprintf() with a format string to add a leading zero, if necessary, to always make the number two digits. Lastly the string cmm is added to the beginning, making the resulting string cmm02, which will be used as the hostname of the management module. 
+
+~~~~
    |\D+(\d+)|(($1-1)%14+1)| 
+~~~~

 This item is similar to the one above. This substituion pattern will produce the value for the 3rd column (the chassis slot number for this blade). Because this row was the match for node20, the parentheses within the 1st set of vertical bars will set $1 to 20. Since % means modulo division, the expression ($1-1)%14+1 will evaluate to 6. 

&lt;/pre&gt;
&lt;/div&gt;</description><pubDate>Wed, 13 Aug 2014 20:06:45 -0000</pubDate><guid>https://sourceforge.netcaa25d69ce7e63b9d90294ebdd62fe8e9e911bcf</guid></item><item><title>Listing_and_Modifying_the_Database modified by &lt;REDACTED&gt;</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v45
+++ v46
@@ -204,11 +204,11 @@

 This is a group name. In this example, we are assuming that all of your blades belong to this group. Each time the xCAT software accesses the mp table to get the management module and slot number of a specific blade (e.g. node20), this row will match (because node20 is in the blade group). Once this row is matched for node20, then the processing described in the following items will take place. 

-|\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))| 
+   |\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))| 

 This is a perl substitution pattern that will produce the value for the second column of the table (the management module hostname). The text \D+(\d+) between the 1st two vertical bars is a regular expression that matches the node name that was searched for in this table (in this example node20). The text that matches within the 1st set of parentheses is set to $1. (If there was a 2nd set of parentheses, it would be set to $2, and so on.) In our case, the \D+ matches the non-numeric part of the name (node) and the \d+ matches the numeric part (20). So $1 is set to 20. The text cmm(sprintf('%02d',($1-1)/14+1)) between the 2nd and 3rd vertical bars produces the string that should be used as the value for the mpa attribute for node20. Since $1 is set to 20, the expression ($1-1)/14+1 equals 19/14 + 1, which equals 2. (The division is integer division, so 19/14 equals 1. Fourteen is used as the divisor, because there are 14 blades in each chassis.) The value of 2 is then passed into sprintf() with a format string to add a leading zero, if necessary, to always make the number two digits. Lastly the string cmm is added to the beginning, making the resulting string cmm02, which will be used as the hostname of the management module. 

-|\D+(\d+)|(($1-1)%14+1)| 
+   |\D+(\d+)|(($1-1)%14+1)| 

 This item is similar to the one above. This substituion pattern will produce the value for the 3rd column (the chassis slot number for this blade). Because this row was the match for node20, the parentheses within the 1st set of vertical bars will set $1 to 20. Since % means modulo division, the expression ($1-1)%14+1 will evaluate to 6. 

&lt;/pre&gt;
&lt;/div&gt;</description><pubDate>Wed, 13 Aug 2014 19:09:26 -0000</pubDate><guid>https://sourceforge.net95abdd2905277142bd397ddbf7bcfcd5bdceaf02</guid></item><item><title>Listing_and_Modifying_the_Database modified by Lissa Valletta</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v44
+++ v45
@@ -1,4 +1,4 @@
-[[img src=Official-xcat-doc.png]] 
+![](https://sourceforge.net/p/xcat/wiki/XCAT_Documentation/attachment/Official-xcat-doc.png)

 [TOC]

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lissa Valletta</dc:creator><pubDate>Tue, 29 Jul 2014 12:19:12 -0000</pubDate><guid>https://sourceforge.netf64f5fc9d93d3bd8fe24b983271eb5a6a49e38c7</guid></item><item><title>Listing_and_Modifying_the_Database modified by Lissa Valletta</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v43
+++ v44
@@ -57,15 +57,15 @@
   * **kit** \- kit information. 
   * **kitcomponent** \- kitcomponent information 
   * **kitrepo** \- kitrepo information 
-  * **monitoring** \- A description of a monitoring plugin. This data is stored in the _monitoring _table. 
-  * **network** \- A description of a unique network. This data is stored in the _networks_ table. 
-  * **node** \- Information for a specific cluster node. The data for a node is stored in multiple tables in the database. The commands that are provided to manage these definitions automatically figure out which attributes are stored in which table. It is therefore not necessary to keep track of a large number of table names and attribute locations.* **notification** \- Defines the Perl modules and commands that will get called for changes in certain xCAT database tables. The data is stored in the _notification_ table. 
+  * **monitoring** \- A description of a monitoring plugin. This data is stored in the _monitoring table. 
+  * **network** \- A description of a unique network. This data is stored in the networks table. 
+  * **node** \- Information for a specific cluster node. The data for a node is stored in multiple tables in the database. The commands that are provided to manage these definitions automatically figure out which attributes are stored in which table. It is therefore not necessary to keep track of a large number of table names and attribute locations.* **notification** \- Defines the Perl modules and commands that will get called for changes in certain xCAT database tables. The data is stored in the notification table. 
   * **osdistro** \- os distribution information 
   * **osimage** \- Defines a unique operating system image and related resources that are required for xCAT to deploy a cluster node. 
   * **policy** \- Controls who has authority to run specific xCAT operations. 
   * **rack** \- node rack location description 
   * **route** \- defined routes 
-  * **site** \- Cluster-wide information. All the data is stored in the _site_ table. 
+  * **site** \- Cluster-wide information. All the data is stored in the site table.

@@ -173,14 +173,14 @@

 ## Using Regular Expressions in the xCAT Tables

-xCAT extends the group capability so that it can also be used for attribute values that vary from node to node in a very regular pattern. For example, if in the ipmi table you want the bmc attribute to be set to whatever the nodename is with ``-bmc_ appended to the end of it, then use this in the ipmi table:_
+xCAT extends the group capability so that it can also be used for attribute values that vary from node to node in a very regular pattern. For example, if in the ipmi table you want the bmc attribute to be set to whatever the nodename is with ``-bmc appended to the end of it, then use this in the ipmi table:

 ~~~~ 
     #node,bmc,bmcport,taggedvlan,bmcid,username,password,comments,disable
     "compute","/\z/-bmc/",,,,,,,
 ~~~~    

-In this example, **compute** is a node group that contains all of the compute nodes. The 2nd attribute (bmc) is a regular expression that is similar to a substitution pattern. The 1st part ``\z_ matches the end of the node name and substitutes ``-bmc_, effectively appending it to the node name. 
+In this example, **compute** is a node group that contains all of the compute nodes. The 2nd attribute (bmc) is a regular expression that is similar to a substitution pattern. The 1st part ``\z matches the end of the node name and substitutes ``-bmc, effectively appending it to the node name. 

 Another example is if node1 is to have IP address 10.0.0.1, node2 is to have IP address 10.0.0.2, etc., then this could be represented in the hosts table with the single row: 

@@ -189,7 +189,7 @@
     "compute","|node(\d+)|10.0.0.($1+0)|",",,,
 ~~~~    

-In this example, the regular expression in the ip attribute uses ``|_ to separate the 1st and 2nd part. This means that xCAT will allow arithmetic operations in the 2nd part. In the 1st part, ``(\d+)_, will match the number part of the node name and put that in a variable called $1. The 2nd part is what value to give the ip attribute. In this case it will set it to the string ``10.0.0._ and the number that is in $1. (Zero is added to $1 just to remove any leading zeroes.)_
+In this example, the regular expression in the ip attribute uses ``| to separate the 1st and 2nd part. This means that xCAT will allow arithmetic operations in the 2nd part. In the 1st part, ``(\d+), will match the number part of the node name and put that in a variable called $1. The 2nd part is what value to give the ip attribute. In this case it will set it to the string ``10.0.0. and the number that is in $1. (Zero is added to $1 just to remove any leading zeroes.)

 A more involved example is with the mp table. If your blades have node names node01, node02, etc., and your chassis node names are cmm01, cmm02, etc., then you might have an mp table like: 

@@ -238,7 +238,7 @@
     "compute","|10.0.0.($1+0)|",,,,
 ~~~~    

-In the easy regx example, the expression only has the 2nd part of the expression from the previous example. xCAT will evaluate the node name, matching the number part of the node name, and create the _1st part of the expression_ . The 2nd part supplied is what value to give the ip attribute. The resulting output is the same. 
+In the easy regx example, the expression only has the 2nd part of the expression from the previous example. xCAT will evaluate the node name, matching the number part of the node name, and create the 1st part of the expression . The 2nd part supplied is what value to give the ip attribute. The resulting output is the same. 

 #### Verify your regular expression

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lissa Valletta</dc:creator><pubDate>Thu, 24 Jul 2014 13:57:28 -0000</pubDate><guid>https://sourceforge.netdb7a667ead5c35a0f4193fc35aec2c29603a2116</guid></item><item><title>Listing_and_Modifying_the_Database modified by Lissa Valletta</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v42
+++ v43
@@ -2,7 +2,7 @@

 [TOC]

-## **Database Commands and Tables**
+## Database Commands and Tables

 Note: some of these commands run on Linux and AIX, some are targeted only for AIX or Linux. 

@@ -44,9 +44,10 @@

 The following data object types are currently supported, as of xCAT 2.8. The list can be checked by running 
-    
+ 
+~~~~   
     lsdef -t
-    
+~~~~    

   * **auditlog** \- Information from the auditlog table 
   * **boottarget**\- Target profiles with their accompanying kernel parameters. 
@@ -82,42 +83,49 @@

   * To create a set of definitions using information contained in a stanza file. 
+
+~~~~    
+    cat mystanzafile | mkdef -z
+~~~~    
+
+  
+
+
+  * To write all node definitions to a stanza file. 
+
+
+~~~~

-    _cat mystanzafile | mkdef -z_
-    
-
-  
-
-
-  * To write all node definitions to a stanza file. 
-    
-    _lsdef -t node -l -z &amp;gt; nodestanzafile_
-    
+    lsdef -t node -l -z &amp;gt; nodestanzafile
+~~~~    

 The stanza file support also provides an easy way to backup and restore the cluster data. 

-For more information on the use of stanza files see the **xcatstanzafile** **man** page. 
+For more information on the use of stanza files see the xcatstanzafile man page. 

 ## Node Group Support in the xCAT Tables

 The xCAT database has a number of tables, some with rows that are keyed by node name (such as noderes and nodehm) and others that are not keyed by node name (for example, the policy table). The tables that are keyed by node name (**except the nodelist table**) have some extra features that enable a more template-based style to be used: 

 For example defined a list of nodes with the group compute: 
-    
-    mkdef -t node node1-node3 groups=**compute**
-    
+  
+~~~~  
+    mkdef -t node node1-node3 groups=compute
+~~~~    

 The group name, **compute** , can be used in lieu of a node name in the node field, and that row will then provide **default** attribute values for any node in that group. A row with a specific node name can then override one or more attribute values for that specific node. 

 Now assign, some attributes to the entire group. 
-    
+  
+~~~~  
      chdef -t group compute mgt=ipmi serialspeed=19200
-    
+~~~~    

 Now check the nodes: 
-    
+  
+~~~~  
       lsdef compute
      Object name: node1
         .
@@ -127,15 +135,17 @@
         .
       serialspeed=19200
         .
-    
+~~~~    

 Assign a different attribute just to node1 
-    
+ 
+~~~~   
     chdef  node1 serialspeed=115200
-    
+~~~~    

 Now check the node settings: 
-    
+ 
+~~~~   
      lsdef  compute
      Object name: node1
         .
@@ -145,14 +155,15 @@
         .
       serialspeed=19200
         .
-    
+~~~~    

 In the nodehm table, you will see: 

-    #node,power,mgt,cons,termserver,termport,conserver,serialport,serialspeed,serialflow,getmac,cmdmapping,comments,disable
+ 
+~~~~   #node,power,mgt,cons,termserver,termport,conserver,serialport,serialspeed,serialflow,getmac,cmdmapping,comments,disable
     "compute",,"ipmi",,,,,,"19200",,,,,
     "node1",,,,,,,,"115200",,,,,
-    
+~~~~    

 In the above example, the node group called compute sets mgt=ipmi and serialspeed=19200. The nodes (node1-node3), that are in this group, will have those attribute values, unless overridden. In this example, node2 is a member of compute, it will automatically inherit these attribute values (even though it is not explicitly listed in this table). In the case of node1 above, it inherits mgt=ipmi, but overrides the serialspeed to be 115200, instead of 19200. A typical way to use this capability is to create a node group for your nodes and for all the attribute values that are the same for every node, set them at the group level. Then you only have to set attributes for each node that vary from node to node. 

@@ -163,26 +174,29 @@
 ## Using Regular Expressions in the xCAT Tables

 xCAT extends the group capability so that it can also be used for attribute values that vary from node to node in a very regular pattern. For example, if in the ipmi table you want the bmc attribute to be set to whatever the nodename is with ``-bmc_ appended to the end of it, then use this in the ipmi table:_
-    
+   
+~~~~ 
     #node,bmc,bmcport,taggedvlan,bmcid,username,password,comments,disable
     "compute","/\z/-bmc/",,,,,,,
-    
+~~~~    

 In this example, **compute** is a node group that contains all of the compute nodes. The 2nd attribute (bmc) is a regular expression that is similar to a substitution pattern. The 1st part ``\z_ matches the end of the node name and substitutes ``-bmc_, effectively appending it to the node name. 

 Another example is if node1 is to have IP address 10.0.0.1, node2 is to have IP address 10.0.0.2, etc., then this could be represented in the hosts table with the single row: 
-    
+
+~~~~    
     #node,ip,hostnames,otherinterfaces,comments,disable
     "compute","|node(\d+)|10.0.0.($1+0)|",",,,
-    
+~~~~    

 In this example, the regular expression in the ip attribute uses ``|_ to separate the 1st and 2nd part. This means that xCAT will allow arithmetic operations in the 2nd part. In the 1st part, ``(\d+)_, will match the number part of the node name and put that in a variable called $1. The 2nd part is what value to give the ip attribute. In this case it will set it to the string ``10.0.0._ and the number that is in $1. (Zero is added to $1 just to remove any leading zeroes.)_

 A more involved example is with the mp table. If your blades have node names node01, node02, etc., and your chassis node names are cmm01, cmm02, etc., then you might have an mp table like: 
-    
+
+~~~~    
     #node,mpa,id,nodetype,comments,disable
     "blade","|\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))|","|\D+(\d+)|(($1-1)%14+1)|",,
-    
+~~~~    

 Before you panic, let me explain each column: 

@@ -207,27 +221,30 @@
 If node1 is to have IP address 10.0.0.1, node2 is to have IP address 10.0.0.2, etc., then this could be represented in the hosts table with the single row: 

 Using **full** regular expression support you would put this in the hosts table. 
-    
+
+~~~~    
     chdef -t group compute ip="|node(\d+)|10.0.0.($1+0)|"
     tabdump hosts
     #node,ip,hostnames,otherinterfaces,comments,disable
     "compute","|node(\d+)|10.0.0.($1+0)|",,,,
-    
-
-Using **easy** regular expression support you would put this in the hosts table. 
-    
+~~~~    
+
+Using easy regular expression support you would put this in the hosts table. 
+
+~~~~    
     chdef -t group compute ip="|10.0.0.($1+0)|"
     tabdump hosts
     #node,ip,hostnames,otherinterfaces,comments,disable
     "compute","|10.0.0.($1+0)|",,,,
-    
+~~~~    

 In the easy regx example, the expression only has the 2nd part of the expression from the previous example. xCAT will evaluate the node name, matching the number part of the node name, and create the _1st part of the expression_ . The 2nd part supplied is what value to give the ip attribute. The resulting output is the same. 

 #### Verify your regular expression

 After you create your table with regular expression, make sure they are evaluating as you expect. 
-    
+
+~~~~    
      lsdef node1 | grep ip
        ip=10.0.0.1
-    
+~~~~    
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lissa Valletta</dc:creator><pubDate>Thu, 24 Jul 2014 13:53:49 -0000</pubDate><guid>https://sourceforge.net05df093447ca26eee1e03841c014c87eaaa8e397</guid></item><item><title>Discussion for Listing_and_Modifying_the_Database page</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;{{:XCAT Discussion Page Header}} &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce</dc:creator><pubDate>Mon, 23 Jun 2014 20:30:32 -0000</pubDate><guid>https://sourceforge.nete5b471fff10dfc030aa6d89023ff7aa4367fbee2</guid></item><item><title>Listing_and_Modifying_the_Database modified by Lissa Valletta</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v41
+++ v42
@@ -202,7 +202,7 @@

 #### Easy Regular expressions

-As or xCAT 2.8.1, you can use a modified version of the regular expression support described in the previous section. You do not need to enter the node information (1st part of the expression), it will be derived from the input nodename. You only need to supply the 2nd part of the expression to determine the value to give the attribute. For example: 
+As of xCAT 2.8.1, you can use a modified version of the regular expression support described in the previous section. You do not need to enter the node information (1st part of the expression), it will be derived from the input nodename. You only need to supply the 2nd part of the expression to determine the value to give the attribute. For example: 

 If node1 is to have IP address 10.0.0.1, node2 is to have IP address 10.0.0.2, etc., then this could be represented in the hosts table with the single row: 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lissa Valletta</dc:creator><pubDate>Mon, 23 Jun 2014 20:30:31 -0000</pubDate><guid>https://sourceforge.net3d5e4790c26f041d338fa30c4ce8de5f1b59d135</guid></item><item><title>Listing_and_Modifying_the_Database modified by Bruce</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v40
+++ v41
@@ -15,8 +15,6 @@
   * [lsflexnode](http://xcat.sourceforge.net/man1/lsflexnode.1.html) \- Displays the information of a flexible node. ( 2.5 or later) 
   * [mkdef ](http://xcat.sourceforge.net/man1/mkdef.1.html) \- used to create xCAT data object definitions. 
   * [mkflexnode](http://xcat.sourceforge.net/man1/mkflexnode.1.html) \- Create a flexible node. ( 2.5 or later) 
-  * [mkrrbc](http://xcat.sourceforge.net/man8/mkrrbc.8.html) \- Adds or deletes BladeCenter management module and switch node definitions in the xCAT cluster database. 
-  * [mkrrnodes](http://xcat.sourceforge.net/man8/mkrrnodes.8.html) \- adds or deletes nodes in the xCAT cluster database. Allows creation/deletion of many nodes at once. 
   * [nodeadd](http://xcat.sourceforge.net/man8/nodeadd.8.html) \- Adds nodes to the xCAT cluster database. 
   * [nodech](http://xcat.sourceforge.net/man1/nodech.1.html) \- Changes nodes' attributes in the xCAT cluster database. 
   * [nodels](http://xcat.sourceforge.net/man1/nodech.1.html) \- lists the nodes, and their attributes, from the xCAT database. 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce</dc:creator><pubDate>Mon, 23 Jun 2014 20:30:29 -0000</pubDate><guid>https://sourceforge.net279b92ea5a098f8bad87887c1c2c6f5bbf30966b</guid></item><item><title>Listing_and_Modifying_the_Database modified by Bruce</title><link>https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v39
+++ v40
@@ -102,7 +102,7 @@

 For more information on the use of stanza files see the **xcatstanzafile** **man** page. 

-## Node Group Support
+## Node Group Support in the xCAT Tables

 The xCAT database has a number of tables, some with rows that are keyed by node name (such as noderes and nodehm) and others that are not keyed by node name (for example, the policy table). The tables that are keyed by node name (**except the nodelist table**) have some extra features that enable a more template-based style to be used: 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce</dc:creator><pubDate>Mon, 23 Jun 2014 20:30:25 -0000</pubDate><guid>https://sourceforge.net6b0d8bebd7b9ae0794601ea1cf7e765ef003e57e</guid></item></channel></rss>