You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by ar...@apache.org on 2011/08/11 16:37:53 UTC

svn commit: r1156635 - /incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm

Author: arkurth
Date: Thu Aug 11 14:37:53 2011
New Revision: 1156635

URL: http://svn.apache.org/viewvc?rev=1156635&view=rev
Log:
VCL-496
Updated DataStructure.pm to implement a set_computer_private_ip_address subroutine.

Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm?rev=1156635&r1=1156634&r2=1156635&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/DataStructure.pm Thu Aug 11 14:37:53 2011
@@ -837,7 +837,7 @@ sub _automethod : Automethod {
 		# Make sure the value was set in the hash
 		my $check_value = eval $hash_path;
 		if ($check_value eq $set_data) {
-			notify($ERRORS{'DEBUG'}, 0, "data structure updated: $hash_path\n$data_identifier = $set_data");
+			#notify($ERRORS{'DEBUG'}, 0, "data structure updated: $hash_path\n$data_identifier = $set_data");
 			return sub {1;};
 		}
 		else {
@@ -1654,6 +1654,40 @@ sub get_computer_private_ip_address {
 
 #/////////////////////////////////////////////////////////////////////////////
 
+=head2 set_computer_private_ip_address
+
+ Parameters  : $private_ip_address
+ Returns     : boolean
+ Description : Sets the computer private IP address in the DataStructure.
+
+=cut
+
+sub set_computer_private_ip_address {
+	my $self = shift;
+	
+	# Check if subroutine was called as an object method
+	unless (ref($self) && $self->isa('VCL::DataStructure')) {
+		notify($ERRORS{'CRITICAL'}, 0, "subroutine can only be called as a VCL::DataStructure module object method");
+		return;
+	}
+	
+	my $private_ip_address = shift;
+	if (!$private_ip_address) {
+		notify($ERRORS{'WARNING'}, 0, "computer private IP address argument was not supplied");
+		return;
+	}
+	elsif (!is_valid_ip_address($private_ip_address)) {
+		notify($ERRORS{'WARNING'}, 0, "computer private IP address argument is not valid: '$private_ip_address'");
+		return;
+	}
+	
+	notify($ERRORS{'DEBUG'}, 0, "updated computer private IP address: '$private_ip_address'");
+	$self->request_data->{reservation}{$self->reservation_id}{computer}{PRIVATE_IP_ADDRESS} = $private_ip_address;
+	return 1;
+}
+
+#/////////////////////////////////////////////////////////////////////////////
+
 =head2 is_variable_set
 
  Parameters  : variable name