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;

Reply via email to