Author: arkurth
Date: Mon Feb 27 21:48:38 2017
New Revision: 1784662

URL: http://svn.apache.org/viewvc?rev=1784662&view=rev
Log:
VCL-867
Added $no_cache argument to get_image_active_directory_domain_info to cause 
vcld to pick up changes made to AD configuration.

Modified:
    vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: vcl/trunk/managementnode/lib/VCL/utils.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=1784662&r1=1784661&r2=1784662&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/utils.pm Mon Feb 27 21:48:38 2017
@@ -3587,7 +3587,7 @@ EOF
        
        # Retrieve AD info if configured for the image
        my $image_id = $image_info->{id};
-       my $domain_info = get_image_active_directory_domain_info($image_id);
+       my $domain_info = get_image_active_directory_domain_info($image_id, 
$no_cache);
        $image_info->{imagedomain} = $domain_info;
        
        #notify($ERRORS{'DEBUG'}, 0, "retrieved info for image 
'$image_identifier':\n" . format_data($image_info));
@@ -14604,20 +14604,23 @@ EOF
 
 =head2 get_image_active_directory_domain_info
 
- Parameters  : $image_id
+ Parameters  : $image_id, $no_cache (optional)
  Returns     : Hash containing image domain columns
  Description : Gets the imagedomain information from the database
 
 =cut
 
 sub get_image_active_directory_domain_info {
-       my ($image_id) = @_;
+       my ($image_id, $no_cache) = @_;
        if (!$image_id) {
                notify($ERRORS{'WARNING'}, 0, "image ID argument was not 
specified");
                return;
        }
        
-       return $ENV{image_active_directory_domain_info} if 
defined($ENV{image_active_directory_domain_info});
+       if (!$no_cache && defined($ENV{image_active_directory_domain_info})) {
+               notify($ERRORS{'DEBUG'}, 0, "returning cached Active Directory 
info for image $image_id");
+               return $ENV{image_active_directory_domain_info};
+       }
        
        # Get a hash ref containing the database column names
        my $database_table_columns = get_database_table_columns();
@@ -14656,8 +14659,9 @@ EOF
 
        # Check to make sure 1 row was returned
        if (scalar @selected_rows == 0) {
+               $ENV{image_active_directory_domain_info} = {};
                notify($ERRORS{'DEBUG'}, 0, "image $image_id is not configured 
for Active Directory");
-               return;
+               return $ENV{image_active_directory_domain_info};
        }
 
        # Get the single row returned from the select statement


Reply via email to