This commit is contained in:
standadHD 2022-10-19 20:37:43 +02:00 committed by GitHub
commit 0e5daec4f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 3 deletions

View File

@ -1,4 +1,7 @@
# Changelog
## 1.0.3
- Added function to take "hostname" as ansible_hostname from API if LXC uses DHCP-leases
## v1.0.2
- Proxmox v7 compatibility check if template key exists (by @maynero) [#39](https://github.com/xezpeleta/Ansible-Proxmox-inventory/pull/39)

View File

@ -129,7 +129,7 @@ class ProxmoxAPI(object):
elif not options.password:
raise Exception(
'Missing mandatory parameter --password (or PROXMOX_PASSWORD or "password" key in config file).')
# URL should end with a trailing slash
if not options.url.endswith("/"):
options.url = options.url + "/"
@ -212,6 +212,21 @@ class ProxmoxAPI(object):
return ip_address
except:
return False
### PATCH for LXC HOSTNAME
### GET HOSTNAME for LXC-Containers
def lxc_hostname(self, node, vm):
try:
config = self.get('api2/json/nodes/{0}/lxc/{1}/config'.format(node, vm))
except HTTPError:
return False
try:
hostname = config['hostname']
return hostname
except:
return False
def version(self):
return ProxmoxVersion(self.get('api2/json/version'))
@ -347,8 +362,12 @@ def main_list(options, config_path):
results['_meta']['hostvars'][vm]['proxmox_os_kernel'] = system_info.kernel
results['_meta']['hostvars'][vm]['proxmox_os_version_id'] = system_info.version_id
else:
results['_meta']['hostvars'][vm]['ansible_host'] = proxmox_api.openvz_ip_address(node, vmid)
# IF IP is empty (due DHCP, take hostname instead)
if proxmox_api.openvz_ip_address(node, vm) != False:
results['_meta']['hostvars'][vm]['ansible_host'] = proxmox_api.openvz_ip_address(node, vmid)
else:
results['_meta']['hostvars'][vm]['ansible_host'] = proxmox_api.lxc_hostname(node, vmid)
if 'groups' in metadata:
# print metadata
for group in metadata['groups']: