Skip to content

Commit

Permalink
Fix disk sizes
Browse files Browse the repository at this point in the history
  • Loading branch information
dupondje committed May 5, 2022
1 parent 2998e47 commit 1095c31
Showing 1 changed file with 29 additions and 10 deletions.
39 changes: 29 additions & 10 deletions module/sources/openstack/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class OpenStackHandler(SourceBase):
"region": None,
"user_domain": None,
"project_domain": None,
"group_name": "Openstack"
"group_name": "Openstack",
"validate_tls_certs": False,
"cluster_exclude_filter": None,
"cluster_include_filter": None,
Expand Down Expand Up @@ -163,6 +163,7 @@ def __init__(self, name=None, settings=None, inventory=None):
self.init_successful = True
self.permitted_clusters = dict()
self.cluster_host_map = dict()
self.volume_map = dict()
self.processed_host_names = dict()
self.processed_vm_names = dict()
self.processed_vm_uuid = list()
Expand Down Expand Up @@ -354,14 +355,18 @@ def apply(self):
for availability_zone in availability_zones:
self.add_cluster(availability_zone)

servers = self.session.compute.servers(details=True, all_projects=True)
for server in servers:
self.add_virtual_machine(server)

hypervisors = self.session.compute.hypervisors(details=True)
for hypervisor in hypervisors:
self.add_host(hypervisor)

volumes = self.session.block_storage.volumes(details=True, all_projects=True)
for volume in volumes:
self.add_volume(volume)

servers = self.session.compute.servers(details=True, all_projects=True)
for server in servers:
self.add_virtual_machine(server)

self.update_basic_data()

@staticmethod
Expand Down Expand Up @@ -951,7 +956,7 @@ def add_host(self, obj):
if log.level == DEBUG3:
try:
log.info("Cluster data")
dump(obj.service_details)
dump(obj.service_details.to_dict())
except Exception as e:
log.error(e)

Expand Down Expand Up @@ -1043,9 +1048,19 @@ def add_host(self, obj):

return

def add_volume(self, obj):
"""
Parse OpenStack volume and store in in a map.
"""

id = obj.id
size = obj.size

self.volume_map[id] = size

def add_virtual_machine(self, obj):
"""
Parse a OpenStack VM add to NetBox once all data is gathered.
Parse a OpenStack VM add to NetBox once all data is gathered.
Parameters
----------
Expand Down Expand Up @@ -1109,7 +1124,11 @@ def add_virtual_machine(self, obj):
if platform is not None:
platform = self.get_object_relation(platform, "vm_platform_relation", fallback=platform)

disk = int(obj.flavor["disk"])
disk = 0
for volume in obj.attached_volumes:
volid = volume["id"]
size = self.volume_map[volid]
disk += int(size)

annotation = None
if bool(self.skip_vm_comments) is False:
Expand Down Expand Up @@ -1145,9 +1164,9 @@ def add_virtual_machine(self, obj):
nic_ips[network] = list()
for address in addresses:
nic_ips[network].append(address["addr"])
if address["version"] == 4:
if int(address["version"]) == 4:
vm_primary_ip4 = address["addr"]
if address["version"] == 6:
if int(address["version"]) == 6:
vm_primary_ip6 = address["addr"]
full_name = unquote(f"vNIC{count} ({network})")
vm_nic_data = {
Expand Down

0 comments on commit 1095c31

Please sign in to comment.