Merge 3265c7edc5
into bd1f2b1dbc
This commit is contained in:
commit
0e5daec4f8
|
@ -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)
|
||||
|
|
25
proxmox.py
25
proxmox.py
|
@ -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']:
|
||||
|
|
Reference in New Issue