#!/usr/bin/perl -w # # modified get_vifp_password.pl - written by Andrew Sullivan, 2009-01-05 ################################################################## # Author: William Lam # Email: william2003[at]gmail[dot]com # 02/13/2009 # http://www.engineering.ucsb.edu/~duonglt/vmware/ ################################################################## use strict; use warnings; use VMware::VIFPLib; ########################################################################################## # # LIST OF ESX/ESXi Hosts (Please make sure the host running VIMA is last in the array) # ########################################################################################## my @hosts = ("superion.primp-industries.com","devastator.primp-industries.com"); ################################# # LOG OUTPUT FILE ################################# my $log_output = "/tmp/upsShutdown.log"; ##################################### # DISPLAY NAME OF VM MONITORING UPS ##################################### my $ups_vm_name = "VIMA-UPS-DEV"; ######################################################## # SECS TO SLEEP AFTER GUESTOS SHUTDOWN (default 15secs) ######################################################## my $sec_to_sleep = 15; ### PLEASE DO NOT MODIFY PAST THIS LINE ### my $viuser = vifplib_perl::CreateVIUserInfo(); my $vifplib = vifplib_perl::CreateVIFPLib(); open(LOG,">>$log_output"); foreach my $server (@hosts) { eval { $vifplib->QueryTarget($server, $viuser); }; if(!defined($sec_to_sleep)) { $sec_to_sleep = 15; } if(!$@) { my $username = $viuser->GetUsername(); my $password = $viuser->GetPassword(); my $result_output = `/home/vi-admin/ghettoShutdown.pl --server $server --username $username --password $password --ups_vm $ups_vm_name --sleep $sec_to_sleep`; print LOG $result_output; print LOG "\n"; } } close(LOG);