Author: yoh
Date: Wed Jul 23 21:48:10 2014
New Revision: 1612956

URL: http://svn.apache.org/r1612956
Log:
removed node_status from openstack.pm

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

Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm?rev=1612956&r1=1612955&r2=1612956&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm Wed Jul 
23 21:48:10 2014
@@ -234,176 +234,6 @@ sub capture {
 
 #/////////////////////////////////////////////////////////////////////////
 
-=head2 node_status
-
- Parameters  : $computer_id or $hash->{computer}{id} (optional)
- Returns     : string -- 'READY', 'POST_LOAD', or 'RELOAD'
- Description : Checks the status of an openstack VM. 'READY' is returned if 
the VM is
-              accessible via SSH, and the OS module's post-load tasks have 
-              run. 'POST_LOAD' is returned if the VM only needs to have 
-              the OS module's post-load tasks run before it is ready. 
-              'RELOAD' is returned otherwise.
-
-=cut
-
-sub node_status {
-       my $self;
-
-       # Get the argument
-       my $argument = shift;
-
-       # Check if this subroutine was called an an object method or an 
argument was passed
-       if (ref($argument) =~ /VCL::Module/i) {
-               $self = $argument;
-       }
-       elsif (!ref($argument) || ref($argument) eq 'HASH') {
-               # An argument was passed, check its type and determine the 
computer ID
-               my $computer_id;
-               if (ref($argument)) {
-                       # Hash reference was passed
-                       $computer_id = $argument->{id};
-               }
-               elsif ($argument =~ /^\d+$/) {
-                       # Computer ID was passed
-                       $computer_id = $argument;
-               }
-               else {
-                       # Computer name was passed
-                       ($computer_id) = get_computer_ids($argument);
-               }
-
-               if ($computer_id) {
-                       notify($ERRORS{'DEBUG'}, 0, "computer ID: 
$computer_id");
-               }
-               else {
-                       notify($ERRORS{'WARNING'}, 0, "unable to determine 
computer ID from argument:\n" . format_data($argument));
-                       return;
-               }
-
-               # Create a DataStructure object containing data for the 
computer specified as the argument
-               my $data;
-               eval {
-                       $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");
-                       return;
-               }
-               elsif (!$data) {
-                       notify($ERRORS{'WARNING'}, 0, "failed to create 
DataStructure object for computer ID: $computer_id, DataStructure object is not 
defined");
-                       return;
-               }
-               else {
-                       notify($ERRORS{'DEBUG'}, 0, "created DataStructure 
object  for computer ID: $computer_id");
-               }
-
-               # Create a VMware object
-               my $object_type = 'VCL::Module::Provisioning::openstack';
-               if ($self = ($object_type)->new({data_structure => $data})) {
-                       notify($ERRORS{'DEBUG'}, 0, "created $object_type 
object to check the status of computer ID: $computer_id");
-               }
-               else {
-                       notify($ERRORS{'WARNING'}, 0, "failed to create 
$object_type object to check the status of computer ID: $computer_id");
-                       return;
-               }
-
-               # Create an OS object for the VMware object to access
-               if (!$self->create_os_object()) {
-                       notify($ERRORS{'WARNING'}, 0, "failed to create OS 
object");
-                       return;
-               }
-       }
-
-       my $reservation_id = $self->data->get_reservation_id() || return;
-       my $computer_name = $self->data->get_computer_node_name() || return;
-       my $image_name = $self->data->get_image_name() || return;
-       my $imagerevision_id = $self->data->get_imagerevision_id() || return;
-
-       notify($ERRORS{'DEBUG'}, 0, "attempting to check the status of computer 
$computer_name, image: $image_name");
-
-       # Create a hash reference and populate it with the default values
-       my $status;
-       $status->{currentimage} = '';
-       $status->{ssh} = 0;
-       $status->{image_match} = 0;
-       $status->{status} = 'RELOAD';
-
-       # Check if node is pingable and retrieve the power status if the 
reservation ID is 0
-       # The reservation ID will be 0 is this subroutine was not called as an 
object method, but with a computer ID argument
-       # The reservation ID will be 0 when called from healthcheck.pm
-       # The reservation ID will be > 0 if called from a normal VCL reservation
-       # Skip the ping and power status checks for a normal reservation to 
speed things up
-       if (!$reservation_id) {
-               if (_pingnode($computer_name)) {
-                       notify($ERRORS{'DEBUG'}, 0, "VM $computer_name is 
pingable");
-                       $status->{ping} = 1;
-               }
-               else {
-                       notify($ERRORS{'DEBUG'}, 0, "VM $computer_name is not 
pingable");
-                       $status->{ping} = 0;
-               }
-       }
-
-       notify($ERRORS{'DEBUG'}, 0, "Trying to ssh...");
-       # Check if SSH is available
-       if ($self->os->is_ssh_responding()) {
-               notify($ERRORS{'DEBUG'}, 0, "VM $computer_name is responding to 
SSH");
-               $status->{ssh} = 1;
-       }
-       else {
-               notify($ERRORS{'OK'}, 0, "VM $computer_name is not responding 
to SSH, returning 'RELOAD'");
-               $status->{status} = 'RELOAD';
-               $status->{ssh} = 0;
-
-               # Skip remaining checks if SSH isn't available
-               return $status;
-       }
-
-       my $current_imagerevision_id = $self->os->get_current_image_info();
-       $status->{currentimagerevision_id} = $current_imagerevision_id;
-
-       $status->{currentimage} = $self->data->get_computer_currentimage_name();
-       my $current_image_name = $status->{currentimage};
-       my $vcld_post_load_status = 
$self->data->get_computer_currentimage_vcld_post_load();
-
-       if (!$current_imagerevision_id) {
-               notify($ERRORS{'OK'}, 0, "unable to retrieve image name from 
currentimage.txt on VM $computer_name, returning 'RELOAD'");
-               return $status;
-       }
-       elsif ($current_imagerevision_id eq $imagerevision_id) {
-               notify($ERRORS{'OK'}, 0, "currentimage.txt image 
$current_imagerevision_id ($current_image_name) matches requested 
imagerevision_id $imagerevision_id  on VM $computer_name");
-               $status->{image_match} = 1;
-       }
-       else {
-               notify($ERRORS{'OK'}, 0, "currentimage.txt imagerevision_id 
$current_imagerevision_id ($current_image_name) does not match requested 
imagerevision_id $imagerevision_id on VM $computer_name, returning 'RELOAD'");
-               return $status;
-       }
-
-       # Determine the overall machine status based on the individual status 
results
-       if ($status->{ssh} && $status->{image_match}) {
-               $status->{status} = 'READY';
-       }
-       else {
-               $status->{status} = 'RELOAD';
-       }
-
-       notify($ERRORS{'DEBUG'}, 0, "status set to $status->{status}");
-
-       if ($vcld_post_load_status) {
-               notify($ERRORS{'DEBUG'}, 0, "OS module post_load tasks have 
been completed on VM $computer_name");
-               $status->{status} = 'READY';
-       }
-       else {
-               notify($ERRORS{'OK'}, 0, "OS module post_load tasks have not 
been completed on VM $computer_name, returning 'POST_LOAD'");
-               $status->{status} = 'POST_LOAD';
-       }
-
-       notify($ERRORS{'DEBUG'}, 0, "returning node status hash reference 
(\$node_status->{status}=$status->{status})");
-       return $status;
-} ## end sub node_status
-
-#/////////////////////////////////////////////////////////////////////////
-
 =head2 does_image_exist
 
  Parameters  : 


Reply via email to