-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
powerman: support a --nowait option #68
Comments
Let's see if the sys admins really want this before proceeding. Those times do seem pretty annoying but I'm not sure just getting the prompt back solves anything. |
food for thought, there are redfish power states called "poweringOff" and "poweringOn", which are exactly what you think they are. We could consider making those equivalent to "off" and "on" for "wait-until" logic ... BUT ... if a node is in state (lets say) "poweringOff", it may not allow you to do a "power on" operation until its finally off. So I'm not sure if it's a win ... especially since "pm --on" can only respond with "command completed successfully". It would always given the appearance "pm --on" is broken. random idea, could powerman have another set of plugstates? i.e.
???? |
Hmm, interesting idea. Wait, what happens if you query powerman while the "device" is busy carrying out an on or off command? Does it fail immediately with "device busy" or similar? If that's true then adding |
Ahh good question. I assume you're referring to the hypothetical:
right now redfishpower would returning
Yeah, so |
brainstorming with @adambertsch, |
Not really hypothetical since you can be powering off some nodes while I'm querying.
Did you try it? Because if a power off is still in progress on that device and there is only one communication channel between powermand and redfishpower, then powerman's expect engine is still blocked waiting for a response from redifishpower and won't send redfishpower the query command. What does it do then? |
Ohh I tried that too, but figured that wasn't the case you're referring to :-) You are correct, |
So the |
Ahhh got it. I guess |
But powerman needs to know when the command is done... |
Perhaps there's an internal thing I don't get.
vs
why would powerman need to know that the "on" was truly done? As far as it is concerned, the command was issued? |
Because we need the powerman client to not return until the command is done. So powermand needs to know so it can end the client session. |
Why can't powermand end the client session after the hypothetical "on-nowait" command is issued? I guess in my mind:
|
I was thinking nothing really changes with You're taking it a bit further. So basically new set of "nowait" on/off/cycle actions would be added to the dev script, without removing the old ones? |
Yeah, but this is mostly b/c of the inherent problem you spoke of before (powermand needs the client session to end). Not sure if there's alternate solutions. Dunno if it'd be possible to pass a "nowait" option to "on" within the device scriptlet? |
It seems like we'll incur a lot of technical debt if we try to cram that into the current powerman device design. Perhaps that needs a rethink. |
Per offline discussion, some power control commands can take a long time given underneath "wait-until-on" and "wait-unfil-off" implementations (such as in
ipmipower
andredfishpower
). In one case an "on" operation withredfishpower
took 46 seconds. This can make using powerman very annoying to borderline intolerable.Implementation of a
--nowait
option could make use of powerman much less annoying. users that use this option have to accept that things like:will happen b/c powerman
--nowait
returned before it could be verified that theoff
completed.This could be mediated by changing the default "command completed successfully" output to "command issued, unconfirmed completed" or something.
The text was updated successfully, but these errors were encountered: