foreman: ansible_ssh_host should consider ip, ipv4, ipv6 (#67401)

This commit is contained in:
Jim Ladd 2020-02-15 02:05:08 -08:00 committed by GitHub
parent ffead3b1c0
commit a5af649a73
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -263,12 +263,14 @@ class InventoryModule(BaseInventoryPlugin, Cacheable, Constructable):
# put ansible_ssh_host as hostvar # put ansible_ssh_host as hostvar
if self.get_option('want_ansible_ssh_host'): if self.get_option('want_ansible_ssh_host'):
if host.get('ip'): for key in ('ip', 'ipv4', 'ipv6'):
try: if host.get(key):
self.inventory.set_variable(host_name, 'ansible_ssh_host', host['ip']) try:
except ValueError as e: self.inventory.set_variable(host_name, 'ansible_ssh_host', host[key])
self.display.warning("Could not set hostvar ansible_ssh_host to '%s' for the '%s' host, skipping: %s" % break
(host['ip'], host_name, to_text(e))) except ValueError as e:
self.display.warning("Could not set hostvar ansible_ssh_host to '%s' for the '%s' host, skipping: %s" %
(host[key], host_name, to_text(e)))
strict = self.get_option('strict') strict = self.get_option('strict')