ovirt_vm add reboot state (#62785)

* ovirt_vm add reboot state

* update pep8 syntax

* update docs

* correct whitespace
pull/62980/head
Martin Nečas 5 years ago committed by ansibot
parent 44a6c69562
commit 9aff5f6007

@ -28,7 +28,7 @@ options:
- ID of the Virtual Machine to manage. - ID of the Virtual Machine to manage.
state: state:
description: description:
- Should the Virtual Machine be running/stopped/present/absent/suspended/next_run/registered/exported. - Should the Virtual Machine be running/stopped/present/absent/suspended/next_run/registered/exported/reboot.
When C(state) is I(registered) and the unregistered VM's name When C(state) is I(registered) and the unregistered VM's name
belongs to an already registered in engine VM in the same DC belongs to an already registered in engine VM in the same DC
then we fail to register the unregistered template. then we fail to register the unregistered template.
@ -38,7 +38,8 @@ options:
- Please check I(notes) to more detailed description of states. - Please check I(notes) to more detailed description of states.
- I(exported) state will export the VM to export domain or as OVA. - I(exported) state will export the VM to export domain or as OVA.
- I(registered) is supported since 2.4. - I(registered) is supported since 2.4.
choices: [ absent, next_run, present, registered, running, stopped, suspended, exported ] - I(reboot) is supported since 2.10, virtual machine is rebooted only if it's in up state.
choices: [ absent, next_run, present, registered, running, stopped, suspended, exported, reboot ]
default: present default: present
cluster: cluster:
description: description:
@ -2315,7 +2316,9 @@ def control_state(vm, vms_service, module):
def main(): def main():
argument_spec = ovirt_full_argument_spec( argument_spec = ovirt_full_argument_spec(
state=dict(type='str', default='present', choices=['absent', 'next_run', 'present', 'registered', 'running', 'stopped', 'suspended', 'exported']), state=dict(type='str', default='present', choices=[
'absent', 'next_run', 'present', 'registered', 'running', 'stopped', 'suspended', 'exported', 'reboot'
]),
name=dict(type='str'), name=dict(type='str'),
id=dict(type='str'), id=dict(type='str'),
cluster=dict(type='str'), cluster=dict(type='str'),
@ -2640,6 +2643,13 @@ def main():
directory=export_vm.get('directory'), directory=export_vm.get('directory'),
filename=export_vm.get('filename'), filename=export_vm.get('filename'),
) )
elif state == 'reboot':
ret = vms_module.action(
action='reboot',
entity=vm,
action_condition=lambda vm: vm.status == otypes.VmStatus.UP,
wait_condition=lambda vm: vm.status == otypes.VmStatus.UP,
)
module.exit_json(**ret) module.exit_json(**ret)
except Exception as e: except Exception as e:

Loading…
Cancel
Save