https://blueprints.launchpad.net/fuel/+spec/reboot-action-for-plugin
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:
None
None
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
None
None
Plugins which used ‘reboot’ plugin type, could not be run for enviroments below 6.1.
Deployment
None
Primary assignee:
Other contributors:
None
Unit tests and functional tests are required.
Fuel plugin builder part:
System part: