diff --git a/xCAT-probe/subcmds/osdeploy b/xCAT-probe/subcmds/osdeploy
index bbcbd1914..144f31cea 100755
--- a/xCAT-probe/subcmds/osdeploy
+++ b/xCAT-probe/subcmds/osdeploy
@@ -53,7 +53,7 @@ $::USAGE = "Usage:
     $program_name -n <node_range> -r <roll_back_duration> [-p <level>] [-V]
 
 Description:
-    Probe operating system provision process. Supports two modes - 'Realtime monitor' and 'Replay history'. 
+    Probe operating system provision process. Supports two modes - 'Realtime monitor' and 'Replay history'.
     Realtime monitor: This is a default. This tool with monitor provision state of the node. Trigger 'Realtime monitor' before rebooting target node to do provisioning.
     Replay history: Used after provisioning is finished to probe the previously completed provisioning.
 
@@ -61,7 +61,7 @@ Description:
 
 Options:
     -h : Get usage information of $program_name
-    -V : Output more information 
+    -V : Output more information
     -n : The range of nodes to be monitored or replayed.
     -t : The maximum time to wait when doing monitor, unit is minutes. default is 60.
     -r : Trigger 'Replay history' mode. Follow the duration of rolling back. Units are 'h' (hour) or 'm' (minute)
@@ -231,11 +231,11 @@ sub do_pre_check {
 =head3
     Description:
         Obtain the network interface of provision
-    Arguments: 
+    Arguments:
         installnic_ref: (output attribute) the reference of scalar which save the provision network interface.
         return_error_ref: (output attribute) the reference of array which save the error information.
     Returns:
-        0: success 
+        0: success
         1: failed
 =cut
 
@@ -266,9 +266,9 @@ sub obtain_install_nic {
 =head3
     Description:
         Check if the definition of all nodes are valid
-        If all nodes definition are valid, initialize below global attributes which will be used as a map in "Monitor" or "Replay" 
+        If all nodes definition are valid, initialize below global attributes which will be used as a map in "Monitor" or "Replay"
         %macmap, %ipnodemap
-                
+
     Arguments:
         node_range: node range
     Returns:
@@ -355,15 +355,15 @@ sub check_noderange {
 
 =head3
     Description:
-        Initailize a very important hash "%node_state" which will save the state information of every node 
+        Initailize a very important hash "%node_state" which will save the state information of every node
     Arguments:
         noderange: (input attribute) The range of node
-        node_state_ref: (output attribute) the reference of hash "%node_state" 
+        node_state_ref: (output attribute) the reference of hash "%node_state"
             The strucuture of  hash "%node_state" are :
-                $node_state{<node>}{statehistory}  Array.  save the latest loop provision states 
-                $node_state{<node>}{done}          Scalar.  the flag of if the node have finished the provision                
-                $node_state{<node>}{allstatehistory}   Array. save the history states before the latest loop provision. Used in debug mode.  
-                $node_state{<node>}{log}           Array. save all related logs of node. Used in debug mode. 
+                $node_state{<node>}{statehistory}  Array.  save the latest loop provision states
+                $node_state{<node>}{done}          Scalar.  the flag of if the node have finished the provision
+                $node_state{<node>}{allstatehistory}   Array. save the history states before the latest loop provision. Used in debug mode.
+                $node_state{<node>}{log}           Array. save all related logs of node. Used in debug mode.
     Returns:
         NULL
 =cut
@@ -391,9 +391,9 @@ sub init_node_state {
         noderange : the range of node
         start_time_of_replay: the start time point of scaning log
         end_time_of_replay: the end time point of scaning log
-   
+
     Returns:
-        0: success 
+        0: success
         1: failed
 =cut
 
@@ -429,7 +429,7 @@ sub do_replay {
         my $rst = $log_parse->obtain_one_second_logs($start_time_of_replay, \@valid_one_second_log_set);
         if ($rst) {
             probe_utils->send_msg("stdout", "d", "Failed to obtain logs from log files");
-            $rc = 1; 
+            $rc = 1;
             last;
         }
 
@@ -438,7 +438,7 @@ sub do_replay {
         }
 
         $start_time_of_replay = $log_parse->obtain_next_second();
-    
+
         # receive terminal signal from customer
         if ($terminal) {
             probe_utils->send_msg("stdout", "d", "Get INT or TERM signal!!!");
@@ -518,8 +518,8 @@ sub conclusion_report {
         # Cover limited non-privision error when replay
         # 1 if power on target node successfully and there is 'running postbootscript' in node state history, but without "installing" state,
         #   It is very possible to just do reboot process
-        # 2 if there isn't reboot operation for target node during the rollback time window 
-        #   That means there isn't provision process happened 
+        # 2 if there isn't reboot operation for target node during the rollback time window
+        #   That means there isn't provision process happened
 
         unless ($monitor) {
             if (! $start_rpower) {
@@ -606,14 +606,14 @@ sub performance_calculation {
     my @time_content;
     # print table's first line
     # @status_for_time: the status that needed to calculate time
-   
+
     my @title_lines = (
         [qw/NODE ELAPSED/],
         [qw/NODE SVRBOOT INSTALL POST POSTBOOT ELAPSED/],
         [qw/NODE RPOWER DHCP BOOTLOADER KERNEL INITRD INSTALL POST POSTBOOT COMPLETED/],
         [qw/NODE RPOWER DHCP BOOTLOADER KERNEL INITRD NETBOOTING ROOTIMG POSTBOOT COMPLETED/],
         [qw/NODE DHCP BOOTLOADER KERNEL INITRD NETBOOTING ROOTIMG POSTBOOT ELAPSED/]);
- 
+
     if ($performance eq "compact") {
         push @time_content, "Provision Time";
         push @time_content, $title_lines[0];
@@ -659,9 +659,9 @@ sub performance_calculation {
                         # If there is start time of kernel, but dhcp or bootloader's time value larger than kernel. It means dhcp and bootloader is after kernel, not the value we wanted.
                         } elsif ($node_status_time{$node}{$status}{start_time} > $node_status_time{$node}{$::STATE_KERNEL}{start_time}) {
                             push @timeinfo, "NULL";
-                            $isnull = 1;      
+                            $isnull = 1;
                         } else {
-                            push @timeinfo, $node_status_time{$node}{$status}{time_point}; 
+                            push @timeinfo, $node_status_time{$node}{$status}{time_point};
                         }
                     } elsif ($status >= $::STATE_INSTALLRPM and (!$node_status_time{$node}{$status-1}{start_time} and !$node_status_time{$node}{$status-1}{end_time})) {
                         push @timeinfo, "NULL";
@@ -706,7 +706,7 @@ sub performance_calculation {
                     $isnull = 1;
                 } else {
                     push @timeinfo, probe_utils->convert_second_to_time($tmp_end_time - $tmp_start_time);
-                } 
+                }
             } else {
                 push @timeinfo, "NULL";
                 $isnull = 1;
@@ -745,7 +745,7 @@ sub performance_calculation {
         Implement the monitor feature
     Arguments:
         noderange : the range of node
-        maxwaittime:  the max waiting time for monitor. 
+        maxwaittime:  the max waiting time for monitor.
     Returns:
         0: success
         1: failed
@@ -930,8 +930,8 @@ sub all_monitor_node_done {
     Description:
         Handle one line DHCP log
     Arguments:
-        log_ref: (input attribute) the reference of hash which save one line dhcp log. 
-        node_state_ref: (output attribute), the reference of hash "%node_state". refer to function "init_node_state" for the structure of "%node_state" 
+        log_ref: (input attribute) the reference of hash which save one line dhcp log.
+        node_state_ref: (output attribute), the reference of hash "%node_state". refer to function "init_node_state" for the structure of "%node_state"
     Returns:
         NULL
 =cut
@@ -965,7 +965,7 @@ sub handle_dhcp_msg {
         my $ip  = $1;
         my $mac = $2;
         my $nic = $3;
- 
+
         if (exists $macmap{$mac}) {
             my $node   = $macmap{$mac}{"node"};
             my $record = $log_ref->{msg};
@@ -1225,7 +1225,7 @@ sub handle_cluster_msg {
                     }
                 } elsif ($status eq "failed") {
                     $node_state_ref->{$node}{done} = 1;
-                } 
+                }
             }
         }
     }
@@ -1302,10 +1302,10 @@ sub handle_compute_msg {
 
 =head3
     Description:
-        Dispatch log to related handler 
+        Dispatch log to related handler
     Arguments:
         log_ref: (input attribute) the reference of hash which save one line log comes from computes.log.
-        candidate_mn_hostname_in_log_ref: (input attribute) The reference of array which save the candidate host name of MN 
+        candidate_mn_hostname_in_log_ref: (input attribute) The reference of array which save the candidate host name of MN
         node_state_ref: (output attribute), the reference of hash "%node_state". refer to function "init_node_state" for the structure of "%node_state"
     Returns:
         NULL
@@ -1340,7 +1340,7 @@ sub dispatch_log_to_handler {
     Arguments:
         node_state_ref: (input/output attribute), the reference of hash "%node_state". refer to function "init_node_state" for the structure of "%node_state"
         node : (input attribute) The node name
-        newstate : (input attribute) The new state of node 
+        newstate : (input attribute) The new state of node
     Returns:
         NULL
 =cut