An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20120104/34be491b/attachment.html>
Hello NUT Team! I've got some questions about NUT (Windows port), which I couldn't resolve by myself. I have a test environment that contains: 1. NUT network server (OS: Debian 6.0.3, x64, NUT 2.4.3) 2. Linux clients (OS: different, NUT 2.4.3, 2.6.1) 3. Windows clients (OS: Windows Standard Server Core 2008 R1 SP1, Windows 7 x64 Ultimate SP1, NUT-Installer-2.6.1-1.msi) 4. APC Back-UPS ES 550 connected to network server Currently, network server and Linux clients are working well. I can see UPS variables via "upsc" (server/clients), can shutdown slaves and masters via "upsmon -c fsd", no problem with timers and early shutdown script, etc... Now, I am trying to set the same configuration on Windows Server as on Linux clients and have no success. I use the following configuration (don't carry about credentials =): nut.conf MODE = netclient upsmon.conf RUN_AS_USER user MONITOR mainups at 192.168.10.2 1 monuser secret slave MINSUPPLIES 1 SHUTDOWNCMD "shutdown.exe -s -t 0 -c \"Bla-bla-bla.\"" NOTIFYCMD upssched.exe POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG "C:\\killpower.flag" NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5 upsd.users [user] password = 123qweASD [mainups] password = secret upsmon slave upssched.conf CMDSCRIPT upsscript.cmd PIPEFN C:\\NUT\\NUT\\upssched.pipe LOCKFN C:\\NUT\\NUT\\upssched.lock .. In this configuration, I can see UPS variables, Windows Server is shutting down on "upsmon -c fsd". For example: upsc mainups at 192.168.10.2 battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 50 battery.date: 2011/12/30 battery.mfr.date: 2011/12/30 battery.runtime: 6675 battery.runtime.low: 120 battery.type: PbAc battery.voltage: 13.5 battery.voltage.nominal: 12.0 device.mfr: American Power Conversion device.model: Back-UPS ES 525 .. 1. It seems that it is impossible to use long file names with spaces in PIPEFN/LOCKFN/NOTIFYCMD/... (like "C:\Program Files (x86)\NUT\sbin\upssched.exe") or I couldn't find the way (error: cannot find "C:\Program "). Environment variables are not supported too (it would be great to use %ProgramFiles% in the paths). This problem is the reason, why I had to use "C:\NUT\NUT" directory for pipe & lock. Moreover, to start "upssched.exe" via NOTIFYCMD, I included "C:\Program Files (x86)\NUT\bin" and "C:\Program Files (x86)\NUT\sbin" into %PATH% variable. 2. I added line "AT ONBATT * EXECUTE Dennis" into end of "upssched.conf". Then "mainups" is going to battery, NUT writes proper event into Application Log: "upsmon - UPS mainups at 192.168.10.2 on battery.". It is OK, but strange thing is that the script "upsscript.cmd" was not executed. I have checked it several times (even using Process Monitor from sysinternals - process "upssched.exe" is not started at all). The next interesting thing: I started "upsmon -DDD" and ... at the next battery event, "upssched.exe" was executed and "upsscript.cmd" has been executed too. By default, there are "nut.exe" and one "upsmon.exe" processes in Windows Server (after its starting). There are two "upsmon" in Linux client. It is correct situation? Should I start one more instance of "upsmon" to execute CMDSCRIPT successfully or have I problem in my configs or something else? 3. I have tried to use timers. If remove previous line from "upssched.conf" and add "AT ONBATT * START-TIMER onbattwarn 3", "AT ONLINE * CANCEL-TIMER onbattwarn", the behavior will be like in previous item: no running "upssched.exe" without second instance of "upsmon", but with additional effects =). "upssched.exe" is starting, "upssched.lock" file is created, then process is terminated with event "upssched.exe - Failed to connect to parent and failed to create parent: Permission denied.". I couldn't fix this problem =(. I've checked the permissions, user's accounts for all NUT processes/FS/etc. It seems that everything is OK. I think that the problem is in get_lock function in "upssched.c". No ideas why, anyway, GetLastError returns "permission denied" strongly. 4. A few times, I've got error "upssched.exe - open /dev/null: No such file or directory." during my experiments, but I have no idea how to reproduce it =( The main question: is there someone who has success with timers on Windows x64 platform? I would like to use them... Thanks! With the best wishes, Dennis
Hi Denis, 2012/1/4 Serov Denis <dns-srv at yandex.ru>> Hello NUT Team! > > I've got some questions about NUT (Windows port), which I couldn't resolve > by myself. > > I have a test environment that contains: > 1. NUT network server (OS: Debian 6.0.3, x64, NUT 2.4.3) > 2. Linux clients (OS: different, NUT 2.4.3, 2.6.1) > 3. Windows clients (OS: Windows Standard Server Core 2008 R1 SP1, Windows > 7 x64 Ultimate SP1, NUT-Installer-2.6.1-1.msi) > 4. APC Back-UPS ES 550 connected to network server > > Currently, network server and Linux clients are working well. I can see > UPS variables via "upsc" (server/clients), can shutdown slaves and masters > via "upsmon -c fsd", no problem with timers and early shutdown script, > etc... > > Now, I am trying to set the same configuration on Windows Server as on > Linux clients and have no success. I use the following configuration (don't > carry about credentials =): > > nut.conf > MODE = netclient > > upsmon.conf > RUN_AS_USER user > MONITOR mainups at 192.168.10.2 1 monuser secret slave > MINSUPPLIES 1 > SHUTDOWNCMD "shutdown.exe -s -t 0 -c \"Bla-bla-bla.\"" > NOTIFYCMD upssched.exe > POLLFREQ 5 > POLLFREQALERT 5 > HOSTSYNC 15 > DEADTIME 15 > POWERDOWNFLAG "C:\\killpower.flag" > NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC > NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC > RBWARNTIME 43200 > NOCOMMWARNTIME 300 > FINALDELAY 5 > > upsd.users > [user] > password = 123qweASD > [mainups] > password = secret > upsmon slave > upssched.conf > CMDSCRIPT upsscript.cmd > PIPEFN C:\\NUT\\NUT\\upssched.pipe > LOCKFN C:\\NUT\\NUT\\upssched.lock > ... > > In this configuration, I can see UPS variables, Windows Server is shutting > down on "upsmon -c fsd". > > For example: > upsc mainups at 192.168.10.2 > battery.charge: 100 > battery.charge.low: 10 > battery.charge.warning: 50 > battery.date: 2011/12/30 > battery.mfr.date: 2011/12/30 > battery.runtime: 6675 > battery.runtime.low: 120 > battery.type: PbAc > battery.voltage: 13.5 > battery.voltage.nominal: 12.0 > device.mfr: American Power Conversion > device.model: Back-UPS ES 525 > ... > > 1. It seems that it impossible to use long file names with spaces in > PIPEFN/LOCKFN/NOTIFYCMD/... (like "C:\Program Files > (x86)\NUT\sbin\upssched.exe") or I couldn't find the way (error: cannot > find "C:\Program "). Environment variables are not supported too (it would > be great to use %ProgramFiles% in the paths). > > This problem is the reason, why I had to use "C:\NUT\NUT" directory for > pipe & lock. Moreover, to start "upssched.exe" via NOTIFYCMD, I included > "C:\Program Files (x86)\NUT\bin" and "C:\Program Files (x86)\NUT\sbin" into > %PATH% variable. > > 2. I added line "AT ONBATT * EXECUTE Dennis" into end of "upssched.conf". > Then "mainups" is going to battery, NUT writes proper event into > Application Log: "upsmon - UPS mainups at 192.168.10.2 on battery.". It is > OK, but strange thing is that the script "upsscript.cmd" was not executed. > I have checked it several times (even using Process Monitor from > sysinternals - process "upssched.exe" is not started at all). The next > interesting thing: I started "upsmon -DDD" and ... at the next battery > event, "upssched.exe" was executed and "upsscript.cmd" has been executed > too. > > By default, there are "nut.exe" and one "upsmon.exe" processes in Windows > Server (after its starting). There are two "upsmon" in Linux client. It is > correct situation? Should I start one more instance of "upsmon" to execute > CMDSCRIPT successfully or I have a problem in my configs oor something else? > > 3. I have tried to use timers. If remove previous line from > "upssched.conf" and add "AT ONBATT * START-TIMER onbattwarn 3", "AT ONLINE > * CANCEL-TIMER onbattwarn", the behaviour will be like in previous item: no > running "upssched.exe" without second instance of "upsmon", but with > additional effects =). "upssched.exe" is starting, "upssched.lock" file is > created, then process is terminated with event "upssched.exe - Failed to > connect to parent and failed to create parent: Permission denied.". > > I couldn't fix this problem =(. I've checked the permissions, user's > accounts for all NUT processes/FS/etc. It seems that everything is OK. I > think that the problem is in get_lock function in "upssched.c". No ideas > why, anyway, GetLastError returns "permission denied" strongly. > > 4. A few times, I've got error "upssched.exe - open /dev/null: No such > file or directory." during my experiments, but I have no idea how to > reproduce it =( > > The main question: is there someone who has success with timers on Windows > x64 platform? I would like to use them... > > Thanks! >the Windows port is not yet fully functional, nor as mature as the Unix versions. Currently, upssched is not working. So you can only use the simple scheduling approach: http://www.networkupstools.org/docs/user-manual.chunked/ar01s07.html#_the_simple_approach_using_your_own_script I can't give any date on a fix for this point though, since it's bound to Eaton resource allocation (which is sponsoring this feature). cheers, Arnaud -- Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/ Debian Developer - http://www.debian.org Free Software Developer - http://arnaud.quette.free.fr/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20120105/4aa05051/attachment.html>
On Wed, 2012-01-04 at 23:44 +0400, Serov Denis wrote:> Hello NUT Team! > > I've got some questions about NUT (Windows port), which I couldn't > resolve by myself. > > I have a test environment that contains: > 1. NUT network server (OS: Debian 6.0.3, x64, NUT 2.4.3) > 2. Linux clients (OS: different, NUT 2.4.3, 2.6.1) > 3. Windows clients (OS: Windows Standard Server Core 2008 R1 SP1, > Windows 7 x64 Ultimate SP1, NUT-Installer-2.6.1-1.msi) > 4. APC Back-UPS ES 550 connected to network server > > Currently, network server and Linux clients are working well. I can > see UPS variables via "upsc" (server/clients), can shutdown slaves and > masters via "upsmon -c fsd", no problem with timers and early shutdown > script, etc... > > Now, I am trying to set the same configuration on Windows Server as on > Linux clients and have no success. I use the following configuration > (don't carry about credentials =): > > nut.conf > MODE = netclient > > upsmon.conf > RUN_AS_USER user > MONITOR mainups at 192.168.10.2 1 monuser secret slave > MINSUPPLIES 1 > SHUTDOWNCMD "shutdown.exe -s -t 0 -c \"Bla-bla-bla.\"" > NOTIFYCMD upssched.exe > POLLFREQ 5 > POLLFREQALERT 5 > HOSTSYNC 15 > DEADTIME 15 > POWERDOWNFLAG "C:\\killpower.flag" > NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC > NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC > RBWARNTIME 43200 > NOCOMMWARNTIME 300 > FINALDELAY 5 > > upsd.users > [user] > password = 123qweASD > [mainups] > password = secret > upsmon slave > upssched.conf > CMDSCRIPT upsscript.cmd > PIPEFN C:\\NUT\\NUT\\upssched.pipe > LOCKFN C:\\NUT\\NUT\\upssched.lock > ... > > In this configuration, I can see UPS variables, Windows Server is > shutting down on "upsmon -c fsd". > > For example: > upsc mainups at 192.168.10.2 > battery.charge: 100 > battery.charge.low: 10 > battery.charge.warning: 50 > battery.date: 2011/12/30 > battery.mfr.date: 2011/12/30 > battery.runtime: 6675 > battery.runtime.low: 120 > battery.type: PbAc > battery.voltage: 13.5 > battery.voltage.nominal: 12.0 > device.mfr: American Power Conversion > device.model: Back-UPS ES 525 > ... > > 1. It seems that it impossible to use long file names with spaces in > PIPEFN/LOCKFN/NOTIFYCMD/... (like "C:\Program Files (x86)\NUT\sbin > \upssched.exe") or I couldn't find the way (error: cannot find "C: > \Program "). Environment variables are not supported too (it would be > great to use %ProgramFiles% in the paths). > > This problem is the reason, why I had to use "C:\NUT\NUT" directory > for pipe & lock. Moreover, to start "upssched.exe" via NOTIFYCMD, I > included "C:\Program Files (x86)\NUT\bin" and "C:\Program Files > (x86)\NUT\sbin" into %PATH% variable.Indeed using name with spaces is not obvious and I have recently added a note this in the doc. This is an example of what you need : PIPEFN "\"C:\\Program Files\\NUT\\upssched.pipe\"" Let me know if this solve this point.> > 2. I added line "AT ONBATT * EXECUTE Dennis" into end of > "upssched.conf". Then "mainups" is going to battery, NUT writes proper > event into Application Log: "upsmon - UPS mainups at 192.168.10.2 on > battery.". It is OK, but strange thing is that the script > "upsscript.cmd" was not executed. I have checked it several times > (even using Process Monitor from sysinternals - process "upssched.exe" > is not started at all). The next interesting thing: I started "upsmon > -DDD" and ... at the next battery event, "upssched.exe" was executed > and "upsscript.cmd" has been executed too. > > By default, there are "nut.exe" and one "upsmon.exe" processes in > Windows Server (after its starting). There are two "upsmon" in Linux > client. It is correct situation? Should I start one more instance of > "upsmon" to execute CMDSCRIPT successfully or I have a problem in my > configs oor something else? > > 3. I have tried to use timers. If remove previous line from > "upssched.conf" and add "AT ONBATT * START-TIMER onbattwarn 3", "AT > ONLINE * CANCEL-TIMER onbattwarn", the behaviour will be like in > previous item: no running "upssched.exe" without second instance of > "upsmon", but with additional effects =). "upssched.exe" is starting, > "upssched.lock" file is created, then process is terminated with event > "upssched.exe - Failed to connect to parent and failed to create > parent: Permission denied.". > > I couldn't fix this problem =(. I've checked the permissions, user's > accounts for all NUT processes/FS/etc. It seems that everything is OK. > I think that the problem is in get_lock function in "upssched.c". No > ideas why, anyway, GetLastError returns "permission denied" strongly. > > 4. A few times, I've got error "upssched.exe - open /dev/null: No such > file or directory." during my experiments, but I have no idea how to > reproduce it =( > > The main question: is there someone who has success with timers on > Windows x64 platform? I would like to use them...upssched is not correctly ported right now. Fixing it is on my todo list, but I can't give you any date for that. Fred> > Thanks! > > > With the best wishes, > Dennis > _______________________________________________ > Nut-upsuser mailing list > Nut-upsuser at lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser-- Team Open Source Eaton - http://powerquality.eaton.com --------------------------------------------------------------------------