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:
Adrian Likins 2017-08-29 14:04:23 -04:00 committed by GitHub
parent 4b0ee9a5e7
commit 78bb48a0f6

View file

@ -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__':