[Nut-upsdev] MGE NMC and NutShutdownModule (and other stuff)

Marco Chiappero marco at absence.it
Mon Nov 2 23:16:28 UTC 2009


Arjen de Korte ha scritto:
> Citeren Marco Chiappero <marco at absence.it>:
> Never mind. The alarm messages are not bound to a specific outlet, but 
> are sent to all NSM clients that are connected.

The NMC will send some alarm messages rather than others depending on 
the outlet the client system it is attached to.
For example, if I remember correctly, I've seen a computer connected to 
a programmable outlet receiving both 
System.Outlet[1|2].RunTimeToShutdown and System.RunTimeToShutdown 
messages, while a client on the main outlet receiving only the latter.

> Which means that a 
> single connected driver can handle the alarm messages for all outlets.

Well, alarm messages are host specific. That said, I can't understand 
why we should need to read messages for outlets we are not even using... 
Is there a reason for connecting a single host to many outlets of a 
single ups?

> Basically, the NSM subscription allows us to reduce the polling interval 
> to 1 minute or so, without risking high latency for alarms (since they 
> will be pushed from the NMC when they occur).

We still need a small polling interval if we want to keep things easy 
and use a non blocking read from the socket. However this implies more 
"work" on the client side only.

> It looks like the connected clients need to determine themselves (based 
> on the timer values) when to shutdown the host they are running on. 
> Apparently, the decision when to shutdown is made by the NSM client, 
> this is not signaled directly by the NMC.

As far as I can say here, with my firmware revision, it doesn't work 
like that. The client provides its own shutdown settings (local or 
centralized - if centralized it needs to retrieve them before 
subscription), then the NMC does calculations and commands shutdown with 
an alarm (level 3) containing the 
UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit=1 object.
The only degree of freedom (and decision) in the clients lies in 
performing a specific action rather than another (or no action at all) 
upon reception of a certain alarm message. Clients are "stupid", as it 
should be.

> This means that we can probably just connect to the main outlet and fix 
> the shutdown delay and shutdown timer to the CENTRALIZED configuration 
> without losing anything. One can still override these settings per 
> outlet, by changing values via the NMC web configuration interface. 
> Adding of the NSM alarms can therefor be done without any additional 
> configuration settings, which is preferred for ease of setting things up.

Honestly, I can't see what are you trying to do, things are already 
really simple.
You specify a (low) polling interval (suggested), a ups address 
(mandatory) and an outlet (mandatory).
Now:
- No shutdown parameters specified (= need to find some valid) -> read 
the config.xml page from the ups containing the CENTRALIED ones -> offer 
them during subscription.
- One or more parameters specified (shutdown timer is mandatory) (= 
using LOCAL settings) -> offer them during subscription.

Then the NMC will use those to specifically notify a host (for every 
single host subscribed) its own right time to go down. 
(UPS.PowerSummary.PresentStatus.BelowRemainingCapacityLimit=1 = LB state 
for that host).


Regards,
Marco



More information about the Nut-upsdev mailing list