Add diff mode support to hostname module (#28781)
More or less a rebase of https://github.com/ansible/ansible/pull/23271
This commit is contained in:
parent
4b0ee9a5e7
commit
78bb48a0f6
1 changed files with 20 additions and 5 deletions
|
@ -761,13 +761,28 @@ def main():
|
||||||
|
|
||||||
hostname = Hostname(module)
|
hostname = Hostname(module)
|
||||||
name = module.params['name']
|
name = module.params['name']
|
||||||
|
|
||||||
|
current_hostname = hostname.get_current_hostname()
|
||||||
|
permanent_hostname = hostname.get_permanent_hostname()
|
||||||
|
|
||||||
changed = hostname.update_current_and_permanent_hostname()
|
changed = hostname.update_current_and_permanent_hostname()
|
||||||
|
|
||||||
module.exit_json(changed=changed, name=name,
|
if name != current_hostname:
|
||||||
ansible_facts=dict(ansible_hostname=name.split('.')[0],
|
name_before = current_hostname
|
||||||
ansible_nodename=name,
|
elif name != permanent_hostname:
|
||||||
ansible_fqdn=socket.getfqdn(),
|
name_before = permanent_hostname
|
||||||
ansible_domain='.'.join(socket.getfqdn().split('.')[1:])))
|
|
||||||
|
kw = dict(changed=changed, name=name,
|
||||||
|
ansible_facts=dict(ansible_hostname=name.split('.')[0],
|
||||||
|
ansible_nodename=name,
|
||||||
|
ansible_fqdn=socket.getfqdn(),
|
||||||
|
ansible_domain='.'.join(socket.getfqdn().split('.')[1:])))
|
||||||
|
|
||||||
|
if changed:
|
||||||
|
kw['diff'] = {'after': 'hostname = ' + name + '\n',
|
||||||
|
'before': 'hostname = ' + name_before + '\n'}
|
||||||
|
|
||||||
|
module.exit_json(**kw)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in a new issue