From 4c32555f70644309dc6b262fb4e105e1cd1c83ef Mon Sep 17 00:00:00 2001 From: bp-sawyers Date: Fri, 8 Feb 2008 21:53:41 +0000 Subject: [PATCH] Fixed noderange and the man page for it git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@429 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- perl-xCAT-2.0/xCAT/NodeRange.pm | 94 ++++++------ xCAT-client-2.0/pods/man1/nodels.1.pod | 24 +-- xCAT-client-2.0/share/man/man1/nodels.1 | 61 ++++---- xCAT-client-2.0/share/man/man3/noderange.3 | 145 ++++++++++-------- xCAT-server-2.0/etc/init.d/xcatd | 11 +- .../conf.d/{xcat.conf => xcat-web.conf} | 0 xCAT-web/xCAT-web.spec | 10 +- 7 files changed, 184 insertions(+), 161 deletions(-) rename xCAT-web/etc/apache2/conf.d/{xcat.conf => xcat-web.conf} (100%) diff --git a/perl-xCAT-2.0/xCAT/NodeRange.pm b/perl-xCAT-2.0/xCAT/NodeRange.pm index ab38e921d..6b04561dc 100644 --- a/perl-xCAT-2.0/xCAT/NodeRange.pm +++ b/perl-xCAT-2.0/xCAT/NodeRange.pm @@ -11,7 +11,7 @@ our @EXPORT = qw(noderange nodesmissed); my $missingnodes=[]; my $nodelist; #=xCAT::Table->new('nodelist',-create =>1); -my $nodeprefix = "node"; +#my $nodeprefix = "node"; sub subnodes (\@@) { @@ -30,23 +30,26 @@ sub expandatom { my $atom = shift; my $verify = (scalar(@_) == 1 ? shift : 1); my @nodes= (); + #TODO: these env vars need to get passed by the client to xcatd my $nprefix=(defined ($ENV{'XCAT_NODE_PREFIX'}) ? $ENV{'XCAT_NODE_PREFIX'} : 'node'); - my $nsuffix=(defined ($ENV{'XCAT_NODE_SUFFIX'}) ? $ENV{'XCAT_NODE_PREFIX'} : ''); - if ($nodelist->getAttribs({node=>$atom},'node')) { - #The atom is a plain old nodename + my $nsuffix=(defined ($ENV{'XCAT_NODE_SUFFIX'}) ? $ENV{'XCAT_NODE_SUFFIX'} : ''); + if ($nodelist->getAttribs({node=>$atom},'node')) { #The atom is a plain old nodename return ($atom); } - if ($atom =~ /^\(.*\)$/) { + if ($atom =~ /^\(.*\)$/) { # handle parentheses by recursively calling noderange() $atom =~ s/^\((.*)\)$/$1/; return noderange($atom); } + + # Try to match groups? foreach($nodelist->getAllAttribsWhere("groups like '%".$atom."%'",'node','groups')) { my @groups=split(/,/,$_->{groups}); #The where clause doesn't guarantee the atom is a full group name, only that it could be if (grep { $_ eq "$atom" } @groups ) { push @nodes,$_->{node}; } } - if ($atom =~ m/^[0-9]+\z/) { + + if ($atom =~ m/^[0-9]+\z/) { # if only numbers, then add the prefix my $nodename=$nprefix.$atom.$nsuffix; return expandatom($nodename,$verify); } @@ -54,7 +57,22 @@ sub expandatom { if ($nodelen > 0) { return @nodes; } - if ($atom =~ m/(.*)\[(.*)\](.*)/) { #bracket range + + if ($atom =~ m/^\//) { # A regular expression + unless ($verify) { # If not in verify mode, regex makes zero possible sense + return ($atom); + } + #TODO: check against all groups + $atom = substr($atom,1); + foreach ($nodelist->getAllAttribs('node')) { + if ($_->{node} =~ m/^${atom}$/) { + push(@nodes,$_->{node}); + } + } + return(@nodes); + } + + if ($atom =~ m/(.*)\[(.*)\](.*)/) { # square bracket range #for the time being, we are only going to consider one [] per atom #xcat 1.2 does no better my @subelems = split(/([\,\-\:])/,$2); @@ -69,7 +87,8 @@ sub expandatom { } return @nodes; } - if ($atom =~ m/\+/) {#process + operator + + if ($atom =~ m/\+/) { # process the + operator $atom =~ m/^([^0-9]*)([0-9]+)([^\+]*)\+([0-9]+)/; my $pref=$1; my $startnum=$2; @@ -89,7 +108,8 @@ sub expandatom { } return (@nodes); } - if ($atom =~ m/[-:]/) {#process - range operator + + if ($atom =~ m/[-:]/) { # process the minus range operator my $left; my $right; if ($atom =~ m/:/) { @@ -99,7 +119,7 @@ sub expandatom { if (($count % 2)==0) { #can't understand even numbers of - in range context if ($verify) { push @$missingnodes,$atom; - return (); + return (); } else { #but we might not really be in range context, if noverify return ($atom); } @@ -122,7 +142,7 @@ sub expandatom { return ($atom); } } - my $prefix = ""; + my $prefix = ""; my $suffix = ""; foreach (0..$#leftarr) { my $idx = $_; @@ -131,7 +151,7 @@ sub expandatom { my $prefix = join('',@leftarr[0..($idx-1)]); #Make a prefix of the pre-validated parts my $luffix; #However, the remainder must still be validated to be the same my $ruffix; - if ($idx eq $#leftarr) { + if ($idx eq $#leftarr) { $luffix=""; $ruffix=""; } else { @@ -159,7 +179,7 @@ sub expandatom { } else { return ($atom); } - } + } $prefix .= $leftarr[$idx]; #If here, it means that the pieces were the same, but more to come } #I cannot conceive how the code could possibly be here, but whatever it is, it must be questionable @@ -169,22 +189,8 @@ sub expandatom { } else { #Not in verify mode, just have to guess it's meant to be a nodename return ($atom); } - } - - - if ($atom =~ m/^\//) { #A regex - unless ($verify) { #If not in verify mode, regex makes zero possible sense - return ($atom); - } - #TODO: check against all groups - $atom = substr($atom,1); - foreach ($nodelist->getAllAttribs('node')) { - if ($_->{node} =~ m/^${atom}$/) { - push(@nodes,$_->{node}); - } - } - return(@nodes); - } + } + push @$missingnodes,$atom; if ($verify) { return (); @@ -205,14 +211,15 @@ sub noderange { my %delnodes = (); my $op = ","; #my @elems = split(/(,(?![^[]*?])|@)/,$range); #, or @ but ignore , within [] - my @elems = split(/(,(?![^[]*?])(?![^\(]*?\))|@(?![^\(]*?\)))/,$range); #, or @ but ignore , within [] + my @elems = split(/(,(?![^[]*?])(?![^\(]*?\))|@(?![^\(]*?\)))/,$range); # comma or @ but ignore comma within [] while (my $atom = shift @elems) { - if ($atom =~ /^-/) { + if ($atom =~ /^-/) { # if this is an exclusion, strip off the minus, but remember it $atom = substr($atom,1); $op = $op."-"; } - if ($atom =~ /^\^(.*)$/) { + + if ($atom =~ /^\^(.*)$/) { # get a list of nodes from a file open(NRF,$1); while () { my $line=$_; @@ -229,24 +236,29 @@ sub noderange { close(NRF); next; } - my %newset = map { $_ =>1 } expandatom($atom,$verify); - if ($op =~ /@/) { + + my %newset = map { $_ =>1 } expandatom($atom,$verify); # expand the atom and make each entry in the resulting array a key in newset + + if ($op =~ /@/) { # compute the intersection of the current atom and the node list we have received before this foreach (keys %nodes) { unless ($newset{$_}) { delete $nodes{$_}; } } - } elsif ($op =~ /,-/) { + } elsif ($op =~ /,-/) { # add the nodes from this atom to the exclude list foreach (keys %newset) { $delnodes{$_}=1; #delay removal to end } - } else { + } else { # add the nodes from this atom to the total node list foreach (keys %newset) { $nodes{$_}=1; } } $op = shift @elems; - } + + } # end of main while loop + + # Now remove all the exclusion nodes foreach (keys %nodes) { if ($delnodes{$_}) { delete $nodes{$_}; @@ -254,7 +266,7 @@ sub noderange { } undef $nodelist; return sort (keys %nodes); - + } @@ -300,7 +312,7 @@ A node plus offset (this increments the first number found in nodename): node1+199 -And most of the above substituting groupnames. +And most of the above substituting groupnames. 3C 3C @@ -317,9 +329,5 @@ Jarrod Johnson (jbjohnso@us.ibm.com) Copyright 2007 IBM Corp. All rights reserved. -TODO: What license is this? - - - =cut diff --git a/xCAT-client-2.0/pods/man1/nodels.1.pod b/xCAT-client-2.0/pods/man1/nodels.1.pod index f100d8313..ffcf36e03 100644 --- a/xCAT-client-2.0/pods/man1/nodels.1.pod +++ b/xCAT-client-2.0/pods/man1/nodels.1.pod @@ -1,28 +1,28 @@ =head1 NAME - -B -Lists the nodes in the noderange. - + +B - lists the nodes in the noderange. + =head1 SYNOPSIS - + I I - I =head1 DESCRIPTION - The nodels command lists the nodes in the input node range. If no noderange is provided, then all nodes are listed. + + The nodels command lists the nodes specified in the node range. If no noderange is provided, then all nodes are listed. =head1 OPTIONS B<-h> Display usage message. -B<-v> Command Version. +B<-v> Command Version. -B<-V> Verbose output. +B<-V> Verbose output. =head1 RETURN VALUE @@ -33,9 +33,9 @@ B<-V> Verbose output. =head1 EXAMPLES -1. To list all defined nodes, enter: +1. To list all defined nodes, enter: -I +I Output is similar to: node1 @@ -54,7 +54,7 @@ Output is similar to: =head1 FILES - + /opt/xcat/bin/nodels @@ -63,4 +63,4 @@ Output is similar to: This command is part of the xCAT software product. - + diff --git a/xCAT-client-2.0/share/man/man1/nodels.1 b/xCAT-client-2.0/share/man/man1/nodels.1 index b598b8a07..299b8b1b5 100644 --- a/xCAT-client-2.0/share/man/man1/nodels.1 +++ b/xCAT-client-2.0/share/man/man1/nodels.1 @@ -1,8 +1,7 @@ -.\" Automatically generated by Pod::Man version 1.02 -.\" Wed Jan 9 08:40:29 2008 +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: -.\" ====================================================================== +.\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp @@ -15,12 +14,6 @@ .if t .sp .5v .if n .sp .. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. .de Vb \" Begin verbatim text .ft CW .nf @@ -28,15 +21,14 @@ .. .de Ve \" End verbatim text .ft R - .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ @@ -46,8 +38,8 @@ . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" -. ds C` ` -. ds C' ' +. ds C` "" +. ds C' "" 'br\} .el\{\ . ds -- \|\(em\| @@ -56,26 +48,25 @@ . ds R" '' 'br\} .\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" -. . +.. . nr % 0 . rr F .\} .\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 @@ -135,13 +126,12 @@ . ds Ae AE .\} .rm #[ #] #H #V #F C -.\" ====================================================================== +.\" ======================================================================== .\" .IX Title "NODELS.1 1" -.TH NODELS.1 1 "perl v5.6.0" "2008-01-09" "User Contributed Perl Documentation" -.UC +.TH NODELS.1 1 "2008-02-08" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" -\&\fBnodels\fR \-Lists the nodes in the noderange. +\&\fBnodels\fR \- lists the nodes in the noderange. .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fInodels [\-h| \-\-help]\fR @@ -149,17 +139,18 @@ \&\fInodels [\-v| \-\-version]\fR .PP \&\fInodels [\-V| \-\-verbose] noderange\fR -.SH "DESCRIPTION - The nodels command lists the nodes in the input node range. If no noderange is provided, then all nodes are listed." -.IX Header "DESCRIPTION - The nodels command lists the nodes in the input node range. If no noderange is provided, then all nodes are listed." +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +.Vb 1 +\& The nodels command lists the nodes specified in the node range. If no noderange is provided, then all nodes are listed. +.Ve .SH "OPTIONS" .IX Header "OPTIONS" \&\fB\-h\fR Display usage message. .PP -\&\fB\-v\fR Command Version. +\&\fB\-v\fR Command Version. .PP -\&\fB\-V\fR Verbose output. +\&\fB\-V\fR Verbose output. .SH "RETURN VALUE" .IX Header "RETURN VALUE" 0 The command completed successfully. @@ -167,9 +158,9 @@ 1 An error has occurred. .SH "EXAMPLES" .IX Header "EXAMPLES" -1. To list all defined nodes, enter: +1. To list all defined nodes, enter: .PP -\&\fInodels\fR +\&\fInodels\fR .PP Output is similar to: node1 diff --git a/xCAT-client-2.0/share/man/man3/noderange.3 b/xCAT-client-2.0/share/man/man3/noderange.3 index 7cae1d010..35cc12627 100644 --- a/xCAT-client-2.0/share/man/man3/noderange.3 +++ b/xCAT-client-2.0/share/man/man3/noderange.3 @@ -21,10 +21,13 @@ node14-node56,node70-node203,group1-group10 node1,node2,node8,node20,node14-node56,node70-node203 .br +node[14-56] +.br + all,-node129-node256,-frame01-frame03 .br -@node.* +/node.* .br ^/tmp/nodes @@ -36,55 +39,68 @@ node10+5 10-15,-13 .br +group1@group2 +.br + .br .SH DESCRIPTION .B noderange -is a function -that a single -operation may be applied to a range of nodes often in parallel. +is a syntax that can be used in most xCAT commands to conveniently +specify a list of nodes. The result is that the command will +be applied to a range of nodes, often in parallel. .B noderange -lists can be an individual node and/or group: +is a comma-separate list. Each token (text between commas) in the list can be any +of the forms listed below: + +Individual node or group: .I node01 .br .I group1 .br -a range of nodes and/or groups: +A range of nodes or groups: .I node01-node10 +(equivalent to: node01,node02,node03,...node10) .br .I group1-group3 +(equivalent to: group1,group2,group3) .br -a regular expression match of nodes and/or groups: +A regular expression match of nodes or groups: -.I @node[345].* +.I /node[345].* +(will match any nodes that start with node3, node4, or node5) .br -.I @group[12].* +.I /group[12].* +(will match any groups that start with group1 or group2) .br -an incremented range of nodes: +An incremented range of nodes: -.I node10+5 +.I node10+3 +(equivalent to: node10,node11,node12,node13) .br -a file containing noderanges of nodes and/or groups: +The full path of a file containing noderanges of nodes or groups: .I ^/tmp/nodelist .br -a node shorthand range of nodes: +A node shorthand range of nodes: .I 10-20 +(if prefix is 'node', equivalent to: node10,node11,node12,...node20) .br -.I 10+5 +.I 10+3 +(if prefix is 'node', equivalent to: node10,node11,node12,node13) .br -or any combination: +Or any combination: -.I node01-node30,node40,^/tmp/nodes,@node[13].*,2-10,node50+5 +.I node01-node30,node40,^/tmp/nodes,/node[13].*,2-10,node50+5 .br Any individual @@ -92,6 +108,11 @@ Any individual may be prefixed with an exclusion operator (default -) with the exception of the file operator (default ^). +The intersection operator @ calculates the intersection of the left and right sides: + +.I group1@group2 +(will result in the list of nodes group1 and group2 have in common) + Any combination or multiple combinations of inclusive and exclusive ranges of nodes and groups is legal. There is no precedence implied in the order of the @@ -122,7 +143,7 @@ In plain english a node or group is in if starting from the begining there are one or more alpha characters of any case and any number of - in any combination, followed by -one or more numbers, then optionally followed by one +one or more numbers, then optionally followed by one alpha character of any case or the - followed by any combination of case mixed alphanumerics and the -. @@ -140,8 +161,8 @@ E.g. If using a of .I node1a-node9a with a -.BR nodelist.tab (5) -only listing +.B nodelist +table only listing .I node1a through .IR node5a , @@ -149,16 +170,16 @@ through will enumerate then validate and return a proper range. If using a node range of .I aa-az -with -.BR nodelist.tab (5) -only listing +with a +.B nodelist +table only listing .I aa through .IR ay, .B noderange will fail to return any values. -Example +Example of \fIxCAT Node Format\fR node/group names: @@ -183,7 +204,7 @@ unit34rack01 unit 34 rack01 pos0134 pos 0134 .br -Example non-\fIxCAT Node Format\fR +Example of non-\fIxCAT Node Format\fR node/group names, but still valid: aa @@ -196,7 +217,9 @@ red .br -First +The supported +.B noderange +syntaxes are checked for, and processed, in a specific order. First .B noderange checks for the multiple range operator (default ,). Each range is also processed by @@ -204,7 +227,7 @@ also processed by Next .B noderange -checks for the file operator (default ^). If the file exists +checks for the file operator (default ^). If the file exists (must be a full path name) each line will be processed as a .BR noderange . Lines starting @@ -236,7 +259,7 @@ node03 .br node10-node20 .br -@group[456].* +/group[456].* .br -node50 .br @@ -246,41 +269,33 @@ Next checks for the exclusion operator (default -) then continues. This operator supports nodes and groups. .B noderange -is smart and will not confuse the exclusion or range +will not confuse the exclusion or range operators with the - character in names. -Next -.B noderange -checks for the for the regular expression operator (default @). -Regular expressions offer the most flexibility. If you are -interested in learing regex read the book -\fIMastering Regular Expressions\fR. -This operator supports nodes and groups. - Next .B noderange checks for a numeric only range (e.g. 10-20, 5+3, or just 10), then uses .I $XCAT_NODE_PREFIX -and +(default is 'node') and .I $XCAT_NODE_SUFFIX (optional) as the defaults to complete the node names. -.I $XCAT_NODE_PREFIX -must be defined to use noderange -shorthand. If you use padded node names (e.g. node001, node002, etc...) -then you must specify -.I $XCAT_NODE_PADDING -or the default of -.I 1 -will be used. E.g. if you use node names node001, node002, etc..., then -.I $XCAT_NODE_PADDING -should be set to -.IR 3 . +.B nodeRange +tries to be intelligent about detecting padding, so you can specify 'node001-node200' +and it will add the proper number of zeroes to make all numbers 3 digits. Noderange shorthand supports nodes only. Noderange shorthand can be mixed with all other operators except regex. i.e. exclusion, increment, range, and file may be used. +Next +.B noderange +checks for the for the regular expression operator (default /). +Regular expressions offer the most flexibility. If you are +interested in learning regex read the book +\fIMastering Regular Expressions\fR. +This operator supports nodes and groups. + Next .B noderange checks for the increment range operator (default +). Increment @@ -293,7 +308,7 @@ e.g. .I node10+5 would yield node10 plus the next -.I 4 +.I 5 nodes. This action is performed using two different methods. @@ -301,13 +316,13 @@ If .I valid_node_name is in \fIxCAT Node Format\fR -then the range is enumerated to one less than +then the range is enumerated to .IR number_of_sequential_nodes . If not in \fIxCAT Node Format\fR then a sorted -.BR nodelist.tab (5) -is used to return the node range. +.B nodelist +table is used to return the node range. This operator supports nodes only. Next @@ -319,11 +334,11 @@ Next checks for the range operator (default -). Ranges are performed first by validating that both the start and end nodes or groups defining the range exist and if -so the range is returned based on the content of -.BR nodelist.tab (5), -.BR nodetype.tab (5), +so the range is returned based on the content of the +.B nodelist and -.BR nodemodel.tab (5). +.B nodetype +tables. If the start and end nodes or groups defined in the range do not exist, .I and @@ -334,7 +349,7 @@ if both the prefix and suffix match, then the range is enumerated and each node/group validated. Only valid nodes/groups will be returned. .B noderange -is smart and will not confuse the exclusion or range +will not confuse the exclusion or range operators with the - character in names. @@ -358,9 +373,9 @@ will only be listed once. .I all,-node5-node10 Generates a list of all nodes (assuming all is a group) -listed in -.BR nodelist.tab (5) -less node5 through node10. +listed in the +.B nodelist +table less node5 through node10. .I node1-node10,-node3-node5,node4 @@ -374,9 +389,9 @@ Generates a list of nodes 1 through 10 less nodes 3 and 5. .I -node17-node32,all -Generates a list of all (assuming 'all' is a group) nodes in -.BR nodelist.tab (5) -less 17 through 32. +Generates a list of all (assuming 'all' is a group) nodes in the +.B nodelist +table less 17 through 32. .I node1-node128,user1-user4 @@ -390,7 +405,7 @@ rack2, and rack3 are defined), less nodes 100 through 200, less nodes in the storage group. Note that node150 is listed but is excluded. -.I @node[23].* +.I /node[23].* Generates a list of nodes matching the regex .IR node[23].* . @@ -399,4 +414,4 @@ or nothing. E.g. node2, node3, node20, node30, node21234 all match. .SH "NOTES" .IX Header "NOTES" -This command is part of the xCAT software product. +This command is part of the xCAT software. diff --git a/xCAT-server-2.0/etc/init.d/xcatd b/xCAT-server-2.0/etc/init.d/xcatd index 8fb504e9a..a41fbfbea 100755 --- a/xCAT-server-2.0/etc/init.d/xcatd +++ b/xCAT-server-2.0/etc/init.d/xcatd @@ -67,7 +67,7 @@ stop) fi kill -TERM -`cat /var/run/xcatd.pid` let i=0; - while $STATUS >& /dev/null && [ $i -lt 15 ]; do + while $STATUS >& /dev/null && [ $i -lt 15 ]; do usleep 100000 let i=i+1 done @@ -92,8 +92,13 @@ start) exit fi echo -n "Starting xCATd " - xcatroot=`head -n1 /etc/profile.d/xcat.sh` - export $xcatroot + #xcatroot=`head -n1 /etc/profile.d/xcat.sh` + #export $xcatroot + # When this script is invoked via the service cmd on RH, it doesn't have PATH + # set either, so we run our profile entry to get everything set up properly. + if [ -r /etc/profile.d/xcat.sh ]; then + . /etc/profile.d/xcat.sh + fi xcatd -p /var/run/xcatd.pid && $LOG_SUCCESS || $LOG_FAILURE ;; esac diff --git a/xCAT-web/etc/apache2/conf.d/xcat.conf b/xCAT-web/etc/apache2/conf.d/xcat-web.conf similarity index 100% rename from xCAT-web/etc/apache2/conf.d/xcat.conf rename to xCAT-web/etc/apache2/conf.d/xcat-web.conf diff --git a/xCAT-web/xCAT-web.spec b/xCAT-web/xCAT-web.spec index fe419d731..7eddbc4b6 100644 --- a/xCAT-web/xCAT-web.spec +++ b/xCAT-web/xCAT-web.spec @@ -62,8 +62,8 @@ then # Update the apache config echo "Updating $apachedaemon configuration for xCAT..." - /bin/rm -f /etc/$apachedaemon/conf.d/xcat.conf - /bin/ln -s %{prefix}/web/etc/apache2/conf.d/xcat.conf /etc/$apachedaemon/conf.d/xcat.conf + /bin/rm -f /etc/$apachedaemon/conf.d/xcat-web.conf + /bin/ln -s %{prefix}/web/etc/apache2/conf.d/xcat-web.conf /etc/$apachedaemon/conf.d/xcat-web.conf /etc/init.d/$apachedaemon reload # Link to the grpattr cmd. Todo: remove this when it is in base xcat @@ -76,6 +76,10 @@ then echo "Configuring sudo for $apacheuser..." echo "$apacheuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers fi + # Authorize the apacheuser to xcatd + # echo -e "y\ny\ny" | %{prefix}/share/xcat/scripts/setup-local-client.sh $apacheuser + # XCATROOT=%{prefix} %{prefix}/sbin/chtab priority=5 policy.name=$apacheuser policy.rule=allow + fi if [ "$1" = 1 ] || [ "$1" = 2 ] # initial install, or upgrade and this is the newer rpm @@ -103,7 +107,7 @@ then # Remove links made during the post install script echo "Undoing $apachedaemon configuration for xCAT..." - /bin/rm -f /etc/$apachedaemon/conf.d/xcat.conf + /bin/rm -f /etc/$apachedaemon/conf.d/xcat-web.conf /etc/init.d/$apachedaemon reload /bin/rm -f %{prefix}/bin/grpattr