For plugins developers it would be nice if Fuel can perform reboot operation and wait until nodes return to online state before run another tasks.
It now moment any operation or series of operation which requires reboot do not available for fuel plugin developers using standart actions, e.g.: it is very hard to change kernel on custom nodes.
Add new task type for plugins: ‘reboot’. It will send selected nodes to reboot and wait until they return back online or time is run out.
It should acts as other type tasks actions:
Run hook --- uids: - '1' - '3' - '2' - '4' parameters: timeout: <timeout> priority: <priority order> fail_on_error: true type: reboot diagnostic_name: <plugin name>
Reboot command failed for nodes ["<node id>"]. Check debug output for details
Time detection (<timeout> sec) for node reboot has expired
There are no decent alternatives:
User specifies the structure like this
- role: ['controller', 'cinder'] stage: pre_deployment type: reboot parameters: timeout: 60 - role: * stage: post_deployment type: reboot parameters: timeout: 120
Then nailgun configures this data in the next format
# This stages should be run after astute yaml for role # and repositories are on the slaves pre_deployment: - type: reboot uids: [1, 2, 3] priority: 60 parameters: timeout: 42 post_deployment: - type: reboot uids: [1, 2, 3, 4, 5, 6] priority: 30 parameters: timeout: 53 deployment_info: # Here is deployment information in the same format # as it is now
In the current release orchestrator should fail deployment if one of the reboot tasks is not executed successfully.
None, because we only extend amount of operation available for plugin developer.
None, same reason as above
Plugins which used ‘reboot’ plugin type, could not be run for enviroments below 6.1.
Unit tests and functional tests are required.
Fuel plugin builder part: