Author: fapeeler
Date: Wed Aug  4 18:25:34 2010
New Revision: 982350

URL: http://svn.apache.org/viewvc?rev=982350&view=rev
Log:
VCL-224

removed ETHDEVICE from vcld.conf
utils.pm: set failover routine setstaticaddress to use eth1
OS modules use the network_configuration data to determine the public
interface name

VCL-352
Ubuntu.pm - added pre-capture calls to set rc.local,sshd config and ext_sshd 
startup script


Modified:
    incubator/vcl/trunk/managementnode/etc/vcl/vcld.conf
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm
    incubator/vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: incubator/vcl/trunk/managementnode/etc/vcl/vcld.conf
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/etc/vcl/vcld.conf?rev=982350&r1=982349&r2=982350&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/etc/vcl/vcld.conf (original)
+++ incubator/vcl/trunk/managementnode/etc/vcl/vcld.conf Wed Aug  4 18:25:34 
2010
@@ -151,8 +151,6 @@ jabResource=vcl
 # Windows node root password
 WINDOWS_ROOT_PASSWORD=cl0udy
 
-#ETHDEVICE=eth1
-
 # NOT_STANDALONE:
 # Used to specify affiliations whose users should NOT have the STANDALONE flag 
set
 # This causes users accounts to NOT be added to Linux reservations for the 
affiliations specified

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm?rev=982350&r1=982349&r2=982350&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm Wed Aug  4 
18:25:34 2010
@@ -152,29 +152,9 @@ sub pre_capture {
        }
 
        if ($ip_configuration eq "static") {
-               #so we don't have conflicts we should set the public adapter 
back to dhcp
-               # reset ifcfg-eth1 back to dhcp
-               # when boot strap it will be set to dhcp
-               my @ifcfg;
-               my $tmpfile = "/tmp/createifcfg$computer_node_name";
-               push(@ifcfg, "DEVICE=eth1\n");
-               push(@ifcfg, "BOOTPROTO=dhcp\n");
-               push(@ifcfg, "STARTMODE=onboot\n");
-               push(@ifcfg, "ONBOOT=yes\n");
-               #write to tmpfile
-               if (open(TMP, ">$tmpfile")) {
-                       print TMP @ifcfg;
-                       close(TMP);
-               }
-               else {
-                       #print "could not write $tmpfile $!\n";
-                       notify($ERRORS{'OK'}, 0, "could not write $tmpfile $!");
-               }
-               #copy to node
-               if (run_scp_command($tmpfile, 
"$computer_node_name:/etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE", 
$management_node_keys)) {
-               }
-               if (unlink($tmpfile)) {
-               }
+               if ($self->can("set_static_public_address") && 
$self->set_static_public_address()) {
+                        notify($ERRORS{'DEBUG'}, 0, "set static public IP 
address on $computer_node_name using set_static_public_address() method");
+                }
        } ## end if ($ip_configuration eq "static")
 
        #Write /etc/rc.local script
@@ -468,7 +448,7 @@ sub set_static_public_address {
        notify($ERRORS{'OK'}, 0, "initiating Linux set_static_public_address on 
$computer_short_name");
        my @eth1file;
        my $tmpfile = "/tmp/ifcfg-eth_device-$computer_short_name";
-       push(@eth1file, "DEVICE=eth1\n");
+       push(@eth1file, "DEVICE=$public_interface_name\n");
        push(@eth1file, "BOOTPROTO=static\n");
        push(@eth1file, "IPADDR=$public_ip_address\n");
        push(@eth1file, "NETMASK=$subnet_mask\n");
@@ -496,7 +476,7 @@ sub set_static_public_address {
 
                #confirm it got there
                undef @sshcmd;
-               @sshcmd = run_ssh_command($computer_short_name, 
$management_node_keys, "cat /etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE", 
"root");
+               @sshcmd = run_ssh_command($computer_short_name, 
$management_node_keys, "cat 
/etc/sysconfig/network-scripts/ifcfg-$public_interface_name", "root");
                my $success = 0;
                foreach my $i (@{$sshcmd[1]}) {
                        if ($i =~ /$public_ip_address/) {

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm?rev=982350&r1=982349&r2=982350&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm 
(original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm Wed 
Aug  4 18:25:34 2010
@@ -103,30 +103,36 @@ sub capture_prepare {
                notify($ERRORS{'OK'}, 0, "$user_unityid deleted from 
$computer_node_name");
        }
        if ($ip_configuration eq "static") {
-               #so we don't have conflicts we should set the public adapter 
back to dhcp
-               # reset ifcfg-eth1 back to dhcp
-               # when boot strap it will be set to dhcp
-               my @ifcfg;
-               my $tmpfile = "/tmp/createifcfg$computer_node_name";
-               push(@ifcfg, "DEVICE=eth1\n");
-               push(@ifcfg, "BOOTPROTO=dhcp\n");
-               push(@ifcfg, "STARTMODE=onboot\n");
-               push(@ifcfg, "ONBOOT=yes\n");
-               #write to tmpfile
-               if (open(TMP, ">$tmpfile")) {
-                       print TMP @ifcfg;
-                       close(TMP);
-               }
-               else {
-                       #print "could not write $tmpfile $!\n";
-                       notify($ERRORS{'OK'}, 0, "could not write $tmpfile $!");
-               }
-               #copy to node
-               if (run_scp_command($tmpfile, 
"$computer_node_name:/etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE", 
$management_node_keys)) {
-               }
-               if (unlink($tmpfile)) {
-               }
+               if ($self->can("set_static_public_address") && 
$self->set_static_public_address()) {
+                        notify($ERRORS{'DEBUG'}, 0, "set static public IP 
address on $computer_node_name using set_static_public_address() method");
+                }
        } ## end if ($ip_configuration eq "static")
+       
+       #Write /etc/rc.local script
+        if(!$self->generate_rc_local()){
+                notify($ERRORS{'WARNING'}, 0, "unable to generate 
/etc/rc.local script on $computer_node_name");
+                return 0;
+        }
+
+        #Generate external_sshd_config
+        if(!$self->generate_ext_sshd_config()){
+                notify($ERRORS{'WARNING'}, 0, "unable to generate 
/etc/ssh/external_sshd_config on $computer_node_name");
+                return 0;
+        }
+
+        #Generate ext_sshd init script
+        if(!$self->generate_ext_sshd_init()){
+                notify($ERRORS{'WARNING'}, 0, "unable to generate 
/etc/init.d/ext_sshd on $computer_node_name");
+                return 0;
+        }
+
+        #shutdown node
+        notify($ERRORS{'OK'}, 0, "shutting down node for Linux imaging 
sequence");
+        run_ssh_command($computer_node_name, $management_node_keys, 
"/sbin/shutdown -h now", "root");
+        notify($ERRORS{'OK'}, 0, "sleeping for 60 seconds while machine shuts 
down");
+        sleep 60;
+       
+       
 
        notify($ERRORS{'OK'}, 0, "returning 1");
        return 1;

Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=982350&r1=982349&r2=982350&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Wed Aug  4 18:25:34 2010
@@ -209,7 +209,6 @@ our @EXPORT = qw(
   $DAEMON_MODE
   $DATABASE
   $DEFAULTHELPEMAIL
-  $ETHDEVICE
   $GATEWAY
   $FQDN
   $jabPass
@@ -250,7 +249,6 @@ INIT {
        our ($XCATROOT) = 0;
        our ($FQDN)     = 0;
        our ($MYSQL_SSL,       $MYSQL_SSL_CERT);
-       our ($ETHDEVICE) = 0;
        our ($WINDOWS_ROOT_PASSWORD);
    our ($XMLRPC_USER, $XMLRPC_PASS, $XMLRPC_URL);
 
@@ -385,10 +383,6 @@ INIT {
                                $MYSQL_SSL_CERT = $1;
                        }
        
-                       if ($l =~ /^ETHDEVICE=(eth[0-9])/) {
-                                $ETHDEVICE = $1;
-                        }
-
                        #Sysadmin list
                        if ($l =~ /^sysadmin=([,-...@a-za-z0-9_]*)/) {
                                $SYSADMIN = $1;
@@ -500,7 +494,6 @@ our ($vcldquerykey,  $SYSADMIN, $SHARED_
 our ($LOGFILE, $PIDFILE, $VCLDRPCQUERYKEY);
 our ($SERVER, $DATABASE, $WRTUSER, $WRTPASS);
 our ($MYSQL_SSL,       $MYSQL_SSL_CERT);
-our ($ETHDEVICE);
 our ($FQDN);
 our $XCATROOT           = "/opt/xcat";
 our $TOOLS              = "$FindBin::Bin/../tools";
@@ -1326,7 +1319,7 @@ sub setstaticaddress {
                        #print "could not write $tmpfile $!\n";
 
                }
-               @sshcmd = run_ssh_command($node, $identity, 
"/etc/sysconfig/network-scripts/ifdown $ETHDEVICE", "root");
+               @sshcmd = run_ssh_command($node, $identity, 
"/etc/sysconfig/network-scripts/ifdown eth1", "root");
                foreach my $l (@{$sshcmd[1]}) {
                        if ($l) {
                                #potential problem
@@ -1334,15 +1327,15 @@ sub setstaticaddress {
                        }
                }
                #copy new ifcfg-Device
-               if (run_scp_command($tmpfile, 
"$node:/etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE", $identity)) {
+               if (run_scp_command($tmpfile, 
"$node:/etc/sysconfig/network-scripts/ifcfg-eth1", $identity)) {
 
                        #confirm it got there
                        undef @sshcmd;
-                       @sshcmd = run_ssh_command($node, $identity, "cat 
/etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE", "root");
+                       @sshcmd = run_ssh_command($node, $identity, "cat 
/etc/sysconfig/network-scripts/ifcfg-eth1", "root");
                        my $success = 0;
                        foreach my $i (@{$sshcmd[1]}) {
                                if ($i =~ /$IPaddress/) {
-                                       notify($ERRORS{'OK'}, 0, "SUCCESS - 
copied ifcfg_$ETHDEVICE\n");
+                                       notify($ERRORS{'OK'}, 0, "SUCCESS - 
copied ifcfg_eth1\n");
                                        $success = 1;
                                }
                        }
@@ -1351,19 +1344,19 @@ sub setstaticaddress {
                        }
 
                        if (!$success) {
-                               notify($ERRORS{'WARNING'}, 0, "unable to copy 
$tmpfile to $node file ifcfg-$ETHDEVICE did get updated with $IPaddress ");
+                               notify($ERRORS{'WARNING'}, 0, "unable to copy 
$tmpfile to $node file ifcfg-eth1 did get updated with $IPaddress ");
                                return 0;
                        }
-               } ## end if (run_scp_command($tmpfile, 
"$node:/etc/sysconfig/network-scripts/ifcfg-$ETHDEVICE"...
+               } ## end if (run_scp_command($tmpfile, 
"$node:/etc/sysconfig/network-scripts/ifcfg-eth1"...
 
                #bring device up
                undef @sshcmd;
-               @sshcmd = run_ssh_command($node, $identity, 
"/etc/sysconfig/network-scripts/ifup $ETHDEVICE", "root");
+               @sshcmd = run_ssh_command($node, $identity, 
"/etc/sysconfig/network-scripts/ifup eth1", "root");
                #should be empty
                foreach my $l (@{$sshcmd[1]}) {
                        if ($l) {
                                #potential problem
-                               notify($ERRORS{'OK'}, 0, "possible problem with 
ifup $ETHDEVICE $l");
+                               notify($ERRORS{'OK'}, 0, "possible problem with 
ifup eth1 $l");
                        }
                }
                #correct route table - delete old default and add new in same 
line
@@ -1382,15 +1375,15 @@ sub setstaticaddress {
 
                notify($ERRORS{'OK'}, 0, "Setting default route");
                undef @sshcmd;
-               @sshcmd = run_ssh_command($node, $identity, "/sbin/route add 
default gw $default_gateway metric 0 $ETHDEVICE", "root");
+               @sshcmd = run_ssh_command($node, $identity, "/sbin/route add 
default gw $default_gateway metric 0 eth1", "root");
                #should be empty
                foreach my $l (@{$sshcmd[1]}) {
                        if ($l =~ /Usage:/) {
                                #potential problem
-                               notify($ERRORS{'OK'}, 0, "possible problem with 
route add default gw $default_gateway metric 0 $ETHDEVICE");
+                               notify($ERRORS{'OK'}, 0, "possible problem with 
route add default gw $default_gateway metric 0 eth1");
                        }
                        if ($l =~ /No such process/) {
-                               notify($ERRORS{'CRITICAL'}, 0, "problem with 
$node $l add default gw $default_gateway metric 0 $ETHDEVICE ");
+                               notify($ERRORS{'CRITICAL'}, 0, "problem with 
$node $l add default gw $default_gateway metric 0 eth1 ");
                                return 0;
                        }
                } ## end foreach my $l (@{$sshcmd[1]})


Reply via email to