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-autoservice 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
autorunoption tosoftware/theiawith 3 possible values:-
running: buildout startsslapos-node-autoand a promise is used to check that it is running -
stopped: buildout stopsslapos-node-autoand a promise is used to check that it is stopped -
undefined: buildout leavesslapos-node-autoas is, the promise is always fulfilled.
-