Author: brad Date: 2006-08-15 21:54:43 +0000 (Tue, 15 Aug 2006) New Revision: 17561
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17561 Log: Two small perl scripts which are used in `make wintest', provided here as straightforward examples of using the VMHost.pm module. Added: branches/SOC/bnh/perl/vm_get_ip.pl branches/SOC/bnh/perl/vm_load_snapshot.pl Changeset: Added: branches/SOC/bnh/perl/vm_get_ip.pl =================================================================== --- branches/SOC/bnh/perl/vm_get_ip.pl 2006-08-15 21:50:41 UTC (rev 17560) +++ branches/SOC/bnh/perl/vm_get_ip.pl 2006-08-15 21:54:43 UTC (rev 17561) @@ -0,0 +1,48 @@ +#!/usr/bin/perl -w + +# A perl script to connect to a VMware server and get the IP address of a VM. +# Copyright Brad Henry <[EMAIL PROTECTED]> 2006 +# Released under the GNU GPL v2 or later. + +use VMHost; + +sub check_error { + my $vm = VMHost; + my $custom_err_str = ""; + ($vm, $custom_err_str) = @_; + + my ($err_code, $err_str) = $vm->error; + if ($err_code != 0) { + undef $vm; + die $custom_err_str . "Returned $err_code: $err_str.\n"; + } +} + +# Read in parameters from environment. +my $vm_cfg_path = $ENV{'VM_CFG_PATH'}; +my $host_server_name = $ENV{'HOST_SERVER_NAME'}; +my $host_server_port = $ENV{'HOST_SERVER_PORT'}; +if (!defined($host_server_port)) { + $host_server_port = 902; +} + +my $host_username = $ENV{'HOST_USERNAME'}; +my $host_password = $ENV{'HOST_PASSWORD'}; +my $guest_admin_username = $ENV{'GUEST_ADMIN_USERNAME'}; +my $guest_admin_password = $ENV{'GUEST_ADMIN_PASSWORD'}; + +my $vm = VMHost; + +$vm->host_connect($host_server_name, $host_server_port, $host_username, + $host_password, $vm_cfg_path, $guest_admin_username, + $guest_admin_password); +check_error($vm, "Error in \$vm->host_connect().\n"); + +my $guest_ip = $vm->get_guest_ip(); +check_error($vm, "Error in \$vm->get_guest_ip().\n"); + +print $guest_ip; + +undef $vm; + +exit 0; Added: branches/SOC/bnh/perl/vm_load_snapshot.pl =================================================================== --- branches/SOC/bnh/perl/vm_load_snapshot.pl 2006-08-15 21:50:41 UTC (rev 17560) +++ branches/SOC/bnh/perl/vm_load_snapshot.pl 2006-08-15 21:54:43 UTC (rev 17561) @@ -0,0 +1,46 @@ +#!/usr/bin/perl -w + +# A perl script to connect to a VMware server and revert a VM snapshot. +# Copyright Brad Henry <[EMAIL PROTECTED]> 2006 +# Released under the GNU GPL v2 or later. + +use VMHost; + +sub check_error { +my $vm = VMHost; + my $custom_err_str = ""; + ($vm, $custom_err_str) = @_; + + my ($err_code, $err_str) = $vm->error; + if ($err_code != 0) { + undef $vm; + die $custom_err_str . "Returned $err_code: $err_str.\n"; + } +} + +# Read in parameters from environment. +my $vm_cfg_path = $ENV{'VM_CFG_PATH'}; +my $host_server_name = $ENV{'HOST_SERVER_NAME'}; +my $host_server_port = $ENV{'HOST_SERVER_PORT'}; +if (!defined($host_server_port)) { + $host_server_port = 902; +} + +my $host_username = $ENV{'HOST_USERNAME'}; +my $host_password = $ENV{'HOST_PASSWORD'}; +my $guest_admin_username = $ENV{'GUEST_ADMIN_USERNAME'}; +my $guest_admin_password = $ENV{'GUEST_ADMIN_PASSWORD'}; + +my $vm = VMHost; + +$vm->host_connect($host_server_name, $host_server_port, $host_username, + $host_password, $vm_cfg_path, $guest_admin_username, + $guest_admin_password); +check_error($vm, "Error in \$vm->host_connect().\n"); + +$vm->revert_snapshot(); +check_error($vm, "Error in \$vm->revert_snapshot().\n"); + +undef $vm; + +exit 0;
