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 2014/12/15 22:46:41 UTC
svn commit: r1645767 - in /vcl/trunk/managementnode/lib/VCL:
DataStructure.pm Module/OS/OSX.pm Module/Provisioning/vbox.pm
healthcheck.pm utils.pm
Author: arkurth
Date: Mon Dec 15 21:46:41 2014
New Revision: 1645767
URL: http://svn.apache.org/r1645767
Log:
VCL-755
Fixed all locations that were using get_management_node_info()->{} to first get the info, check if defined, then access the hash key.
Modified:
vcl/trunk/managementnode/lib/VCL/DataStructure.pm
vcl/trunk/managementnode/lib/VCL/Module/OS/OSX.pm
vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vbox.pm
vcl/trunk/managementnode/lib/VCL/healthcheck.pm
vcl/trunk/managementnode/lib/VCL/utils.pm
Modified: vcl/trunk/managementnode/lib/VCL/DataStructure.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/DataStructure.pm?rev=1645767&r1=1645766&r2=1645767&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/DataStructure.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/DataStructure.pm Mon Dec 15 21:46:41 2014
@@ -1790,10 +1790,13 @@ sub get_management_node_public_default_g
my $default_gateway;
# Attempt to retrieve the default gateway explicitly configured for this management node
- $default_gateway = get_management_node_info()->{PUBLIC_DEFAULT_GATEWAY};
- if ($default_gateway && is_valid_ip_address($default_gateway)) {
- notify($ERRORS{'DEBUG'}, 0, "returning default gateway configured in vcld.conf: $default_gateway");
- return $default_gateway;
+ my $management_node_info = get_management_node_info();
+ if ($management_node_info) {
+ $default_gateway = $management_node_info->{PUBLIC_DEFAULT_GATEWAY};
+ if ($default_gateway && is_valid_ip_address($default_gateway)) {
+ notify($ERRORS{'DEBUG'}, 0, "returning default gateway configured for management node: $default_gateway");
+ return $default_gateway;
+ }
}
# Attempt to retrieve the gateway from the route command
@@ -1876,9 +1879,15 @@ sub get_management_node_public_default_g
sub get_management_node_public_dns_servers {
# Attempt to retrieve the DNS server addresses configured for this management node
- my $dns_address_string = get_management_node_info()->{PUBLIC_DNS_SERVER};
+ my $management_node_info = get_management_node_info();
+ if (!$management_node_info) {
+ notify($ERRORS{'WARNING'}, 0, "unable to determine public DNS servers, management node information could not be retrieved");
+ return;
+ }
+
+ my $dns_address_string = $management_node_info->{PUBLIC_DNS_SERVER};
if (!$dns_address_string) {
- notify($ERRORS{'DEBUG'}, 0, "no public dns server addresses are configured for the management node");
+ notify($ERRORS{'DEBUG'}, 0, "no public DNS server addresses are configured for the management node");
return ();
}
@@ -1898,7 +1907,13 @@ sub get_management_node_public_dns_serve
=cut
sub get_management_node_identity_key_paths {
- my $keys_string = get_management_node_info()->{keys};
+ my $management_node_info = get_management_node_info();
+ if (!$management_node_info) {
+ notify($ERRORS{'WARNING'}, 0, "unable to determine public management node identity key paths, management node information could not be retrieved");
+ return;
+ }
+
+ my $keys_string = $management_node_info->{keys};
if (!$keys_string) {
notify($ERRORS{'WARNING'}, 0, "no identity key paths are configured for the management node");
return ();
Modified: vcl/trunk/managementnode/lib/VCL/Module/OS/OSX.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS/OSX.pm?rev=1645767&r1=1645766&r2=1645767&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS/OSX.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS/OSX.pm Mon Dec 15 21:46:41 2014
@@ -1799,14 +1799,6 @@ sub add_user {
return 0;
}
- #Make sure the identity key was passed
- my $image_identity = shift;
- $image_identity = $self->data->get_image_identity() if (!$image_identity);
- if (!$image_identity) {
- notify($ERRORS{'WARNING'}, 0, "image identity keys could not be determined");
- return 0;
- }
-
my $useradd_cmd = $self->get_node_configuration_directory() . "/useradd $user_login_id $reservation_password";
if ($self->execute($useradd_cmd,1)) {
notify($ERRORS{'DEBUG'}, 0, "added user: $user_login_id to $computer_node_name");
Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vbox.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vbox.pm?rev=1645767&r1=1645766&r2=1645767&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vbox.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vbox.pm Mon Dec 15 21:46:41 2014
@@ -469,7 +469,6 @@ sub capture { ## This is going to need t
my $image_id = $self->data->get_image_id;
my $image_os_name = $self->data->get_image_os_name;
- my $image_identity = $self->data->get_image_identity;
my $image_os_type = $self->data->get_image_os_type;
my $image_name = $self->data->get_image_name();
Modified: vcl/trunk/managementnode/lib/VCL/healthcheck.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/healthcheck.pm?rev=1645767&r1=1645766&r2=1645767&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/healthcheck.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/healthcheck.pm Mon Dec 15 21:46:41 2014
@@ -613,7 +613,17 @@ sub _image_revision_check {
sub send_report {
my ($hck) = @_;
- my $sysadmin_email = get_management_node_info()->{SYSADMIN_EMAIL};
+ my $management_node_info = get_management_node_info();
+ if (!$management_node_info) {
+ notify($ERRORS{'WARNING'}, 0, "unable to send report, management node information could not be retrieved");
+ return;
+ }
+
+ my $sysadmin_email = $management_node_info->{SYSADMIN_EMAIL};
+ if (!$sysadmin_email) {
+ notify($ERRORS{'WARNING'}, 0, "unable to send report, management node information does not contain a SYSADMIN_EMAIL value");
+ return;
+ }
#notify($ERRORS{'OK'},0,"$hck->{globalmsg}->{body}\n\n $hck->{globalmsg}->{failedbody}\n");
if (defined($hck->{computercount})) {
Modified: vcl/trunk/managementnode/lib/VCL/utils.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=1645767&r1=1645766&r2=1645767&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/utils.pm Mon Dec 15 21:46:41 2014
@@ -3506,7 +3506,11 @@ EOF
my $image_owner_user_info = get_user_info($image_owner_id);
$image_info->{owner} = $image_owner_user_info;
- $image_info->{IDENTITY} = get_management_node_info()->{keys};
+ # TODO: Get rid of the IDENTITY key, it shouldn't be used anymore
+ my $management_node_info = get_management_node_info();
+ if ($management_node_info) {
+ $image_info->{IDENTITY} = $management_node_info->{keys};
+ }
#notify($ERRORS{'DEBUG'}, 0, "retrieved info for image '$image_identifier':\n" . format_data($image_info));
$ENV{image_info}{$image_identifier} = $image_info;
@@ -3998,7 +4002,11 @@ sub run_ssh_command {
$user = "root" if (!$user);
$port = 22 if (!$port);
$timeout_seconds = 0 if (!$timeout_seconds);
- $identity_paths = get_management_node_info()->{keys} if (!defined $identity_paths || length($identity_paths) == 0);
+
+ if (!defined $identity_paths || length($identity_paths) == 0) {
+ my $management_node_info = get_management_node_info();
+ $identity_paths = $management_node_info->{keys}
+ }
# TESTING: use the new subroutine if $ENV{execute_new} is set and the command isn't one that's known to fail with the new subroutine
if ($ENV{execute_new} && $command !~ /(vmkfstools|qemu-img|Convert-VHD|scp)/) {
@@ -6717,11 +6725,14 @@ EOF
}
# Check if the user's affiliation is listed in the management node's NOT_STANDALONE list
- elsif (my $not_standalone_list = get_management_node_info()->{NOT_STANDALONE}) {
- my $user_affiliation_name = $user_info->{affiliation}{name};
- if (grep(/^$user_affiliation_name$/i, split(/[,;]/, $not_standalone_list))) {
- notify($ERRORS{'DEBUG'}, 0, "non-standalone affiliation found for user $user_login_id:\nuser affiliation: $user_affiliation_name\nnot standalone list: $not_standalone_list");
- $user_info->{STANDALONE} = 0;
+ else {
+ my $management_node_info = get_management_node_info();
+ if ($management_node_info) {
+ my $not_standalone_list = $management_node_info->{NOT_STANDALONE};
+ if (grep(/^$user_affiliation_name$/i, split(/[,;]/, $not_standalone_list))) {
+ notify($ERRORS{'DEBUG'}, 0, "non-standalone affiliation found for user $user_login_id:\nuser affiliation: $user_affiliation_name\nnot standalone list: $not_standalone_list");
+ $user_info->{STANDALONE} = 0;
+ }
}
}