VMware: Add check mode support to module vmware_host_service_manager (#46271)
This commit is contained in:
parent
77127d6768
commit
c4cfeb183f
2 changed files with 46 additions and 7 deletions
|
@ -148,20 +148,24 @@ class VmwareServiceManager(PyVmomi):
|
||||||
try:
|
try:
|
||||||
if self.desired_state in ['start', 'present']:
|
if self.desired_state in ['start', 'present']:
|
||||||
if not actual_service_state:
|
if not actual_service_state:
|
||||||
host_service_system.StartService(id=self.service_name)
|
if not self.module.check_mode:
|
||||||
|
host_service_system.StartService(id=self.service_name)
|
||||||
changed_state = True
|
changed_state = True
|
||||||
elif self.desired_state in ['stop', 'absent']:
|
elif self.desired_state in ['stop', 'absent']:
|
||||||
if actual_service_state:
|
if actual_service_state:
|
||||||
host_service_system.StopService(id=self.service_name)
|
if not self.module.check_mode:
|
||||||
|
host_service_system.StopService(id=self.service_name)
|
||||||
changed_state = True
|
changed_state = True
|
||||||
elif self.desired_state == 'restart':
|
elif self.desired_state == 'restart':
|
||||||
host_service_system.RestartService(id=self.service_name)
|
if not self.module.check_mode:
|
||||||
|
host_service_system.RestartService(id=self.service_name)
|
||||||
changed_state = True
|
changed_state = True
|
||||||
|
|
||||||
if self.desired_policy:
|
if self.desired_policy:
|
||||||
if actual_service_policy != self.desired_policy:
|
if actual_service_policy != self.desired_policy:
|
||||||
host_service_system.UpdateServicePolicy(id=self.service_name,
|
if not self.module.check_mode:
|
||||||
policy=self.desired_policy)
|
host_service_system.UpdateServicePolicy(id=self.service_name,
|
||||||
|
policy=self.desired_policy)
|
||||||
changed_state = True
|
changed_state = True
|
||||||
|
|
||||||
host_service_state.append(changed_state)
|
host_service_state.append(changed_state)
|
||||||
|
@ -205,7 +209,8 @@ def main():
|
||||||
argument_spec=argument_spec,
|
argument_spec=argument_spec,
|
||||||
required_one_of=[
|
required_one_of=[
|
||||||
['cluster_name', 'esxi_hostname'],
|
['cluster_name', 'esxi_hostname'],
|
||||||
]
|
],
|
||||||
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
vmware_host_service = VmwareServiceManager(module)
|
vmware_host_service = VmwareServiceManager(module)
|
||||||
|
|
|
@ -83,7 +83,41 @@
|
||||||
state: absent
|
state: absent
|
||||||
register: single_hosts_result
|
register: single_hosts_result
|
||||||
|
|
||||||
- name: ensure facts are gathered for all hosts
|
- name: ensure facts are gathered
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- single_hosts_result.changed == False
|
- single_hosts_result.changed == False
|
||||||
|
|
||||||
|
- name: Start ntpd service on all hosts in given cluster in check mode
|
||||||
|
vmware_host_service_manager:
|
||||||
|
hostname: "{{ vcsim }}"
|
||||||
|
username: "{{ vcsim_instance.json.username }}"
|
||||||
|
password: "{{ vcsim_instance.json.password }}"
|
||||||
|
validate_certs: no
|
||||||
|
cluster_name: "{{ ccr1 }}"
|
||||||
|
service_name: ntpd
|
||||||
|
state: present
|
||||||
|
register: all_hosts_result_check_mode
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- name: ensure facts are gathered for all hosts
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- all_hosts_result_check_mode.changed
|
||||||
|
|
||||||
|
- name: Stop ntpd service on a given host in check mode
|
||||||
|
vmware_host_service_manager:
|
||||||
|
hostname: "{{ vcsim }}"
|
||||||
|
username: "{{ vcsim_instance.json.username }}"
|
||||||
|
password: "{{ vcsim_instance.json.password }}"
|
||||||
|
validate_certs: no
|
||||||
|
esxi_hostname: "{{ host1 }}"
|
||||||
|
service_name: ntpd
|
||||||
|
state: absent
|
||||||
|
register: single_hosts_result_check_mode
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- name: ensure facts are gathered
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- single_hosts_result_check_mode.changed == False
|
||||||
|
|
Loading…
Reference in a new issue