Author: arkurth
Date: Tue May  2 17:44:37 2017
New Revision: 1793565

URL: http://svn.apache.org/viewvc?rev=1793565&view=rev
Log:
VCL-1036
Updated Provisioning.pm::retrieve_image to calculate the percentage complete 
when transferring multiple image files and display the progress in vcld.log.

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

Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm?rev=1793565&r1=1793564&r2=1793565&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning.pm Tue May  2 17:44:37 
2017
@@ -421,16 +421,28 @@ sub retrieve_image {
        }
        
        # Copy each file path to the image repository directory
-       my $total_file_count = scalar(keys 
%{$partner_info{$retrieval_partner}{file_paths}});
-       my $file_number = 0;
+       my $image_size_total_bytes = 
$partner_info{$retrieval_partner}{image_size};
+       my $image_size_total_gb = format_number(($image_size_total_bytes / 1024 
/ 1024 / 1024), 1);
+       
+       my $image_size_retrieved_bytes = 0;
+       my $image_size_retrieved_gb = 0.0;
+       
+       my $file_total_count = scalar(keys 
%{$partner_info{$retrieval_partner}{file_paths}});
+       my $file_retrieved_count = 0;
+       
        for my $partner_file_path (sort {lc($a) cmp lc($b)} keys 
%{$partner_info{$retrieval_partner}{file_paths}}) {
-               $file_number++;
+               $file_retrieved_count++;
                my $file_name = 
$partner_info{$retrieval_partner}{file_paths}{$partner_file_path}{file_name};
                my $local_file_path = "$image_repository_path_local/$file_name";
                
-               notify($ERRORS{'DEBUG'}, 0, "file 
$file_number/$total_file_count: retrieving image from 
$retrieval_partner_hostname: $partner_file_path -->");
+               my $file_size_bytes = 
$partner_info{$retrieval_partner}{file_paths}{$partner_file_path}{file_size};
+               
+               notify($ERRORS{'DEBUG'}, 0, "retrieving image file 
$file_retrieved_count/$file_total_count from $retrieval_partner_hostname: 
$partner_file_path --> $local_file_path (" . 
get_file_size_info_string($file_size_bytes) . ')');
                if 
(run_scp_command("$partner_info{$retrieval_partner}{user}\@$retrieval_partner:$partner_file_path",
 $local_file_path, $partner_info{$retrieval_partner}{key}, 
$partner_info{$retrieval_partner}{port})) {
-                       notify($ERRORS{'OK'}, 0, "file 
$file_number/$total_file_count: retrieved image from 
$retrieval_partner_hostname: --> $local_file_path");
+                       $image_size_retrieved_bytes += $file_size_bytes;
+                       $image_size_retrieved_gb = 
format_number(($image_size_retrieved_bytes / 1024 / 1024 / 1024), 1);
+                       my $retrieved_percent = 
format_number(int($image_size_retrieved_bytes / $image_size_total_bytes * 100), 
0);                     
+                       notify($ERRORS{'OK'}, 0, "retrieved image file 
$file_retrieved_count/$file_total_count, $retrieved_percent\% complete, 
$image_size_retrieved_gb/$image_size_total_gb GB");
                }
                else {
                        notify($ERRORS{'WARNING'}, 0, "failed to copy image 
$image_name from $retrieval_partner_hostname");


Reply via email to