Author: arkurth Date: Mon Mar 30 13:57:24 2009 New Revision: 759971 URL: http://svn.apache.org/viewvc?rev=759971&view=rev Log: Removed copy_file(), run_command() and run_remote_script() subs in Windows.pm. They were created a while ago as a test and never used. The run_command() sub causes conflicts with utils.pm::run_command().
Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm?rev=759971&r1=759970&r2=759971&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Mon Mar 30 13:57:24 2009 @@ -68,134 +68,6 @@ #///////////////////////////////////////////////////////////////////////////// -=head2 run_command - - Parameters : String containing the Windows command to be run - Returns : Array: - - first index contains the return code of the command - - indices > 0 contain the lines of output generated by running - the command - Description : Runs a command on a Windows node. The command is executed by - by passing it through SSH. The command passed to this subroutine - is formatted so that it runs as a Windows command would normally - run by using the Windows command shell instead of Cygwin's bash - shell. - -=cut - -sub run_command { - my $self = shift; - my ($command) = @_; - - # Get the computer node name - my $computer_node_name = $self->data->get_computer_node_name(); - - # Passing Windows-style commands through SSH/Cygwin causes problems - # Encapsulate the command in a 'cmd.exe /q /v:on /k' command and call exit afterwards - # First replace % with !, the /v:on switch allows this so the variables aren't interpolated - # /q turns echo off - $command =~ s/\%/\!/g; - - # This causes the command to be run in a normal Windows command shell rather than Cygwin's bash shell - $command = "cmd.exe /q /v:on /c '$command'"; - - # Replace line breaks with && - $command =~ s/\n/ && /g; - - # Run the SSH command - my @ssh_results = ssh($computer_node_name, $IDENTITY_wxp, $command); - - return @ssh_results; -} ## end sub run_command -#///////////////////////////////////////////////////////////////////////////// - -=head2 run_remote_script - - Parameters : - Returns : - Description : - -=cut - -sub run_remote_script { - my $self = shift; - my ($script_path) = @_; - - # Take the script path apart - my ($filename, $directory, $extension) = fileparse($script_path, qr/\.[^.]*$/); - - # Remove the leading period from the extension - $extension =~ s/^\.//; - - # Assemble the remote script path - my $remote_script_scp_path = "\$TEMP/$filename.$extension"; - my $remote_script_ssh_path = "\%TEMP\%\\$filename.$extension"; - - # Copy the script to the node - if (!$self->copy_file($script_path, $remote_script_scp_path)) { - log_warning("failed to execute script, unable to copy $script_path to $remote_script_scp_path"); - return 0; - } - - # Assemble a script execution command based on the extension - my $command; - if ($extension =~ /ws|js|vbs|vbe|wsf|wsh/i) { - # Call cscript.exe for vbs and similar files - $command = "%SystemRoot%/System32/cscript.exe $remote_script_ssh_path //NoLogo"; - } - elsif ($extension !~ /bat|cmd/i) { - # Attempt to run other types of files in the Windows command interpreter - log_warning("unsupported script extension: $filename.$extension, attempting to run file in Windows command interpreter"); - $command = $remote_script_ssh_path; - } - else { - $command = $remote_script_ssh_path; - } - - # Attempt to run the script - my ($command_exit_status, @command_output) = $self->run_command($command); - if ($command_exit_status) { - log_warning("failed to execute script: $script_path"); - } - - return ($command_exit_status, @command_output); -} ## end sub run_remote_script - -#///////////////////////////////////////////////////////////////////////////// - -=head2 copy_file - - Parameters : - Returns : - Description : - -=cut - -sub copy_file { - my $self = shift; - my ($source_file_path, $destination_file_path) = @_; - - # Get the computer node name - my $computer_node_name = $self->data->get_computer_node_name(); - - my %scp_options = (options => 'v', - identity_file => $IDENTITY_wxp, - source_path => $source_file_path, - destination_host => $computer_node_name, - destination_path => $destination_file_path,); - - # Run the SCP command - if (!scp(\%scp_options)) { - log_warning("failed to copy file using SCP"); - return 0; - } - - log_info("file copied using SCP: $source_file_path --> $computer_node_name:$destination_file_path"); - return 1; -} ## end sub copy_file - -#///////////////////////////////////////////////////////////////////////////// - =head2 capture_prepare Parameters :