=head1 NAME

B<nodech> - Changes nodes' attributes in the xCAT cluster database.


=head1 SYNOPSIS

B<nodech> I<noderange> I<table.column=value> [I<...>]

B<nodech> {B<-d> | B<--delete>} I<noderange> I<table> [I<...>]

B<nodech> {B<-v> | B<--version>}

B<nodech> [B<-?> | B<-h> | B<--help>]


=head1 DESCRIPTION

The nodech command changes the specified attributes for the given nodes.  Normally, the given
value will completely replace the current attribute value.  But if ",=" is used instead of "=",
the specified value will be prepended to the attribute's comma separated list, if it is not already
there.  If "^=" is used, the specified value will be removed from the attribute's comma separated list,
if it is there.  You can also use "^=" and ",=" in the same command to essentially replace one item
in the list with another.  (See the Examples section.)

Additionally, as in nodels, boolean expressions can be used to further limit the scope of nodech from 
the given noderange.  The operators supported are the same as nodels (=~, !~, ==, and !=).

With these operators in mind, the unambiguous assignment operator is '=@'.  If you need, for example, to set
the nodelist.comments to =foo, you would have to do I<nodech n1 nodelist.comments=@=foo>.

See the B<xcatdb> man page for an overview of each table.

The nodech command also supports some short cut names as aliases to common attributes.  See the
B<nodels> man page for details.


=head1 OPTIONS

=over 10

=item B<-d|--delete>

Delete the nodes' row in the specified tables.

=item B<-v|--version>

Command Version.

=item B<-?|-h|--help>

Display usage message.

=back


=head1 RETURN VALUE

=over 3

=item 0

The command completed successfully.

=item 1

An error has occurred.

=back


=head1 EXAMPLES

=over 2

=item *

To update nodes in noderange  node1-node4 to be in only group all:

B<nodech> I<node1-node4 groups=all>

=item *

To put all nodes with nodepos.rack value of 2 into a group called rack2:

B<nodech> I<all> nodepos.rack==2 groups,=rack2

=item *

To add nodes in noderange  node1-node4 to the nodetype table with os=rhel5:

B<nodech> I<node1-node4 groups=all,rhel5 nodetype.os=rhel5>

=item *

To add node1-node4 to group1 in addition to the groups they are already in:

B<nodech> I<node1-node4 groups,=group1>

=item *

To put node1-node4 in group2, instead of group1:

B<nodech> I<node1-node4 groups^=group1 groups,=group2>

=back


=head1 FILES

/opt/xcat/bin/nodech


=head1 SEE ALSO

L<nodels(1)|nodels.1>, L<nodeadd(8)|nodeadd.8>, L<noderange(3)|noderange.3>
