Suspend/shutdown when certain devices are offline using scheduled tasks #2038

Hi everybody!

In the past few days I’ve been working on a new feature for the shutdown and suspend tasks that can be scheduled in the web interface. I’ve already opened an issue (#2038) and have written a bit about how I think such a feature should and could work.

It’s basically about letting the system suspend or shutdown when certain network devices aren’t online anymore. Currently that is determined using their ping response.

If there’s no response at all, it is possible to let the system perform several attempts before shutting down. The user is able to configure how many attempts are being made and how long to wait between them.

I’ve tried to integrate everything neatly with the existing fields:

I’ll open a pull request and would be very happy if someone could have a look at it – I’m neither experienced with Javascript nor Python, so probably I’ve made some (possibly severe) mistakes.

I’m completely open to suggestions regarding the feature and also the implementation using ICMP echo requests. It’s working reliably for my own setup, but how is the situation for other installs? Are all your devices configured to respond to ping requests?

Also, I’m currently testing on openSUSE, but as far as I know the ping command behaves exactly the same, so there shouldn’t be any problems at run time.

2 Likes

@betula-pendula Welcome to the Rockstor community.

I really like this idea, hopefully we will get some more input on it.

I think the ping idea is sound as most devices respond appropriately there.

I’m a bit confused about the contents of the “Devices to Scan” box, especially given it’s localhost contents.

Looking good.

Thanks, much appreciated. You might want to take a look at the following thread and specifically this post where the current known caveats for building on Tumbleweed are summarised:

and of course our recently updated (via the above thread) wiki on the same which I assume you have already found:

Also take care with your CentOS testing that you remember to uninstall the rpm package before doing clean builds. I see an iso release number showing which would indicate that there is still an rpm installed. Shouldn’t affect things but on a source only install it would read “ROCKSTOR UNKNOWN VERSION”. Also if you don’t build in /opt/rockstor (I use /opt/rockstor-dev) then their is provision to move to rpm installs from a prior source install once your modifications are merged and released via rpm.

Hope that helps and that we get some feedback on this proposed feature. Well done on getting so far with it already and looking forward to the pull request.

My bad! To be honest, it simply was the first hostname that was coming to my mind. In a real environment, the box should contain a comma separated list of devices to be pinged, either their hostname if known or their IP address.

@betula-pendula OK, that makes sense now; cheers.