[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