[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sisuite-users
Subject:    Re: [sisuite-users] [Oscar-users] Missing stuff: updateclient,
From:       Patrick Nolan <Patrick.Nolan () stanford ! edu>
Date:       2010-08-07 23:38:36
Message-ID: 4C5DEE7C.8040107 () stanford ! edu
[Download RAW message or body]

Chuck Ritter wrote:
> On Fri, Aug 6, 2010 at 6:42 PM, Patrick Nolan
> <Patrick.Nolan@stanford.edu> wrote:
>> With a lot of help from some of you, I have finished setting up a
>> cluster with a head and 4 nodes.  However, when I run step 7 of the
>> OSCAR 5.1 setup (Complete cluster setup) it finds some errors.  I think
>> I can deal with some of them, but others are puzzling:
>>
>>  >  --> Update Wizard Env (as needed)
>>  >  Use of uninitialized value in scalar assignment at
>>  >    /opt/oscar/lib/OSCAR/WizardEnv.pm line 181
>>
>> This has something to do with parsing the command-line arguments
>> passed to WizardEnv.
>>
> 
> vi +181 /opt/oscar/lib/OSCAR/WizardEnv.pm
> 

I don't understand.  Here's the relevant (?) section:

          # Convert multi-line EnvVars to single-line, noticed b/c of
          # TERMCAP when using screen.  We also ignore TERMCAP but need
          # all on one line to actually get it out of the way. ;)

     @rslt = multi2singleline(@rslt);
     foreach my $r (@rslt) {
         my ($key, $val) = split(/=/, $r, 2);   # Limit to 2 tokens!
         if( ! $ENV_IGNORE{$key} ) {
             next if( defined($ENV{$key}) && $ENV{$key} eq $val );
             print "Update environment: ENV{$key}\n" if( $DEBUG >= 
DBG_LOW );
             print "  $key=$val\n\n" if( $DEBUG >= DBG_MED );
             # To see actual differential (for the paranoid among us)
             if( $DEBUG >= DBG_HIGH )
             {
                 # To avoid unintialized warnings when not prev. exist
                 my $orig = (defined($ENV{$key}))? $ENV{$key} : "";
                 print "  ORIG: $key=$orig\n";
                 print "   NEW: $key=$val\n\n";
             }
             $ENV{$key} = $val;  # <-- This is line 181.
             push @modified_env, $key;
         }
       }
   return @modified_env;
}

So it appears that the split(/=/, $r, 2) returns with one of its
tokens undefined.  That means the "env" command returns a bad
value.  Just running "env | grep -v =" turns up a line which contains
only the single character "}".  The line before it is
module=() {  eval `/usr/bin/modulecmd bash $*`
This is probably related to the sh syntax errors.  The function
multi2singleline() deals only with strings that end with \. I will have 
to dig to figure out what to do about this.

>>  >  Need an explicit source and target
>>  >  Couldn't push /etc/hosts to all nodes at ./post_install line 43
>>
>> That line is
>> system(". /etc/profile.d/c3.sh && cpush /etc/hosts") and carp("Couldn't
>>     push /etc/hosts to all nodes");
>> There are a couple of problems there.  The script c3.sh refers to a
>> directory /opt/c3-4, which doesn't exist.  Also cpush wants an argument
>> list with at least 2 items.
> 
> Hmm. If you don't have an /opt/c3-4 that would seem to big important.
> It should have been installed with one of the server packages.
> 
> What do you get when you type "which cexec"
> 

On the head node it's in /usr/bin!  Digging further I find that on the
clients it's in /opt/c3-4.  The head node has version 5.0.1-1 of c3,
while the clients have version 4.0.1-5.

This inspired me to look deeper for the missing updateclient.  Its name
is now si_updateclient.  It lives in /usr/sbin.  Both head and clients
have version 4.0.2-1 of systemimager-client.

I still don't know what cpush is griping about.

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
sisuite-users mailing list
sisuite-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sisuite-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic