promise/plugin: Implement check_service_state promise plugin
Add a promise plugin to check that the current state of a supervisord
service matches the expected state.
This is step 2 of a 3-step plan to add an "autorun" feature to theia (See discussion in slapos!888 (merged)):
- Step 1: Add a
slapos-node-auto
service toslap/standalone
: See slapos.core!280 (merged) - Step 2: Create this generic promise plugin to check the state of a service.
- Step 3: Add an
autorun
option tosoftware/theia
with 3 possible values:-
running
: buildout startsslapos-node-auto
and a promise is used to check that it is running -
stopped
: buildout stopsslapos-node-auto
and a promise is used to check that it is stopped -
undefined
: buildout leavesslapos-node-auto
as is, the promise is always fulfilled.
-