Missing control commands
KillingSpark opened this issue · 2 comments
This is a list of control commands that I think should be supported in the future. Some of these are straight forward, and only miss code in the control interface parts. Others need more code / changes to the code that manipulates the unit set.
Start/stop differences
Starting and stopping of units currently behaves differently with respect to how unsatisfied dependencies are handled.
- Starting units: Currently the user has to start units one by one themselves
- Stopping units: Currently stopping a unit will always stop all units that depend on it.
These should have two extra commands which should make the semantics clearer:
- stop
- stop-all
- start
- start-all
Start newly loaded units
After reloading units, there should be a way to start all units, that have never been started.
- start-all-new
General queries about possible consequences of actions
Additionally there should be more queries available
- To start unit A, which other units need to be started
- To stop unit A, which other units need to be stopped
- To remove unit A, which other units need to be removed
- To remove unit A, which other units need to be stopped
Stop and restart now behave consistently, only starting/stopping one unit, or reporting an error that explains why the operation cannot be done. Recursively starting only some units needs some work, the current code walks the whole unit-graph which might be undesirable.
The queries only need a little refactoring and then should be trivially supportable by the control interface.
with 1d7d127 the whole start/stop differences section should be done.