[Apcupsd-users] doshutdown script problems
Brought to you by:
adk0212
From: Matthew T. K. <mat...@gm...> - 2014-10-21 22:14:53
|
Hey all, I have googled this issue, and came across users back in 2012 having the same issue, but there was never a solution posted. My issue is as follows: Apcupsd (3.14.10 from Ubuntu repositories) is running on Ubuntu Server 14.04 as a guest in ESXi using an APC SUA1500 UPS. Instead of shutting down the guest when power has run low, I need it to send a command to the ESXi host, to shut down all guests and power off. In order to accomplish this, I created a mini doshutdown script and placed it in /etc/apcupsd as instructed in the manual. It looks like this: __________________________ #!/bin/sh plink -ssh -2 -pw password ro...@xx... "/sbin/shutdown.sh && /sbin/poweroff" exit 99 __________________________ Plink is a simple command that sends an ssh command to a remote host, in this case the ESXi host. The /etc/apcupsd folder looks as follows: __________________________ # ls -lh total 60K -rwxr-xr-x 1 root root 3.9K Oct 20 19:28 apccontrol -rw-r--r-- 1 root root 13K Oct 5 21:31 apcupsd.conf -rwxr-xr-x 1 root root 455 May 19 2013 changeme -rwxr-xr-x 1 root root 444 May 19 2013 commfailure -rwxr-xr-x 1 root root 483 May 19 2013 commok -rwxr-xr-x 1 root root 103 Oct 21 2014 doshutdown -rw-r--r-- 1 root root 662 May 19 2013 hosts.conf -rwxr-xr-x 1 root root 617 May 19 2013 killpower -rw-r--r-- 1 root root 2.3K May 19 2013 multimon.conf -rwxr-xr-x 1 root root 450 May 19 2013 offbattery -rwxr-xr-x 1 root root 415 May 19 2013 onbattery -rw-r--r-- 1 root root 0 Oct 21 13:24 powerfail -rwxr-xr-x 1 root root 944 May 19 2013 ups-monitor __________________________ If I log in as root, go to the /etc/apcupsd folder and execute ./doshutdown everything works as expected, each guest on the ESXi server (including the ubuntu server 14.04 guest running apcupsd) goes through an orderly shutdown, followed by the host shutting down. Good thus far. Now however, if I power everything back up again, and instead unplug the UPS I get the following: __________________________ Broadcast Message from root@apcupsd (somewhere) at 12:39 ... Power failure on UPS SUA1500. Running on batteries. __________________________ followed (~45 minutes later) by: __________________________ Broadcast Message from root@apcupsd (somewhere) at 13:24 ... Remaining battery runtime below limit on UPS SUA1500. Doing shutdown. Broadcast Message from root@apcupsd (somewhere) at 13:25 ... Continuing with shutdown. __________________________ but neither the host, nor the guest shut down. The script appears to be of the correct name, and to be in the correct location. apcupsd even seems to detect that it is exiting with 99, as it skips the default shutdown activity. It just never seems to execute my plink command. What's worse, in my test, it still sends the killpower command to the UPS, so after the preset delay (9 minutes in my case) the UPS cut power to the still running host. (luckily nothing broke) Has anyone else run into this problem before? Were you able to solve it? How? Thank you very much, Matt |