Author: arkurth
Date: Fri Apr  5 18:06:55 2013
New Revision: 1465079

URL: http://svn.apache.org/r1465079
Log:
VCL-682
Updated OS.pm::is_ssh_responding to accept an optional $computer_name argument. 
This is used by xCAT.pm::node_status.

Updated argument in line in Provisioning.pm which creates a DataStrucuture 
object.

Modified:
    vcl/trunk/managementnode/lib/VCL/Module/OS.pm
    vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm

Modified: vcl/trunk/managementnode/lib/VCL/Module/OS.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS.pm?rev=1465079&r1=1465078&r2=1465079&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS.pm Fri Apr  5 18:06:55 2013
@@ -621,7 +621,7 @@ sub wait_for_ssh {
 
 =head2 is_ssh_responding
 
- Parameters  : $max_attempts
+ Parameters  : $computer_name (optional), $max_attempts (optional)
  Returns     : If computer responds to SSH: 1
                If computer never responds to SSH: 0
  Description : Checks if the computer is responding to SSH. Ports 22 and 24 are
@@ -641,10 +641,27 @@ sub is_ssh_responding {
                return;
        }
        
-       # Get the max attempts argument if supplied, default to 1
-       my $max_attempts = shift || 1;
+       my $computer_node_name;
+       my $max_attempts = 1;
+
+       my $argument_1 = shift;
+       my $argument_2 = shift;
+       if ($argument_1) {
+               # Check if the argument is an integer
+               if ($argument_1 =~ /^\d+$/) {
+                       $max_attempts = $argument_1;
+               }
+               else {
+                       $computer_node_name = $argument_1;
+                       if ($argument_2 && $argument_2 =~ /^\d+$/) {
+                               $max_attempts = $argument_2;
+                       }
+               }
+       }
        
-       my $computer_node_name = $self->data->get_computer_node_name();
+       if (!$computer_node_name) {
+               $computer_node_name = $self->data->get_computer_node_name();
+       }
        
        # Try nmap to see if any of the ssh ports are open before attempting to 
run a test command
        my $port_22_status = nmap_port($computer_node_name, 22) ? "open" : 
"closed";

Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm?rev=1465079&r1=1465078&r2=1465079&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm Fri Apr  5 18:06:55 
2013
@@ -122,7 +122,7 @@ sub node_status {
                # Create a DataStructure object containing data for the 
computer specified as the argument
                my $data;
                eval {
-                       $data= new VCL::DataStructure({computer_id => 
$computer_id});
+                       $data= new VCL::DataStructure({computer_identifier => 
$computer_id});
                };
                if ($EVAL_ERROR) {
                        notify($ERRORS{'WARNING'}, 0, "failed to create 
DataStructure object for computer ID: $computer_id, error: $EVAL_ERROR");


Reply via email to