From 5b3c52c6a2ffd7ed2ff5655a3b000d21145c9bc2 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Tue, 26 Feb 2019 12:01:18 -0500 Subject: Enhance PDF/IDF Support Improves PDF template and code organization and adds an IDF template. To complete these templates, the lab must be able to report L3 network info and ipmi info at the least. A change to the API to allow for this has to be made. Change-Id: I4b9d2e73eb3940300f7e95fa2f9f4ddd0d606c60 Signed-off-by: Parker Berberian --- .../src/resource_inventory/resource_manager.py | 90 ---------------------- 1 file changed, 90 deletions(-) (limited to 'dashboard/src/resource_inventory/resource_manager.py') diff --git a/dashboard/src/resource_inventory/resource_manager.py b/dashboard/src/resource_inventory/resource_manager.py index f43ae4d..52b0055 100644 --- a/dashboard/src/resource_inventory/resource_manager.py +++ b/dashboard/src/resource_inventory/resource_manager.py @@ -8,9 +8,6 @@ ############################################################################## -from django.template.loader import render_to_string - -import booking from dashboard.exceptions import ( ResourceExistenceException, ResourceAvailabilityException, @@ -142,90 +139,3 @@ class ResourceManager: def fail_acquire(self, hosts): for host in hosts: self.releaseHost(host) - - def makePDF(self, resource): - """ - fills the pod descriptor file template with info about the resource - """ - template = "dashboard/pdf.yaml" - info = {} - info['details'] = self.get_pdf_details(resource) - info['jumphost'] = self.get_pdf_jumphost(resource) - info['nodes'] = self.get_pdf_nodes(resource) - - return render_to_string(template, context=info) - - def get_pdf_details(self, resource): - details = {} - owner = "Anon" - email = "email@mail.com" - resource_lab = resource.template.lab - lab = resource_lab.name - location = resource_lab.location - pod_type = "development" - link = "https://wiki.opnfv.org/display/INF/Pharos+Laas" - - try: - # try to get more specific info that may fail, we dont care if it does - booking_owner = booking.models.Booking.objects.get(resource=resource).owner - owner = booking_owner.username - email = booking_owner.userprofile.email_addr - except Exception: - pass - - details['owner'] = owner - details['email'] = email - details['lab'] = lab - details['location'] = location - details['type'] = pod_type - details['link'] = link - - return details - - def get_pdf_jumphost(self, resource): - jumphost = Host.objects.get(bundle=resource, config__opnfvRole__name__iexact="jumphost") - return self.get_pdf_host(jumphost) - - def get_pdf_nodes(self, resource): - pdf_nodes = [] - nodes = Host.objects.filter(bundle=resource).exclude(config__opnfvRole__name__iexact="jumphost") - for node in nodes: - pdf_nodes.append(self.get_pdf_host(node)) - - return pdf_nodes - - def get_pdf_host(self, host): - host_info = {} - host_info['name'] = host.template.resource.name - host_info['node'] = {} - host_info['node']['type'] = "baremetal" - host_info['node']['vendor'] = host.vendor - host_info['node']['model'] = host.model - host_info['node']['arch'] = host.profile.cpuprofile.first().architecture - host_info['node']['cpus'] = host.profile.cpuprofile.first().cpus - host_info['node']['cores'] = host.profile.cpuprofile.first().cores - cflags = host.profile.cpuprofile.first().cflags - if cflags and cflags.strip(): - host_info['node']['cpu_cflags'] = cflags - host_info['node']['memory'] = str(host.profile.ramprofile.first().amount) + "G" - host_info['disks'] = [] - for disk in host.profile.storageprofile.all(): - disk_info = {} - disk_info['name'] = disk.name - disk_info['capacity'] = str(disk.size) + "G" - disk_info['type'] = disk.media_type - disk_info['interface'] = disk.interface - disk_info['rotation'] = disk.rotation - host_info['disks'].append(disk_info) - - host_info['interfaces'] = [] - for interface in host.interfaces.all(): - iface_info = {} - iface_info['name'] = interface.name - iface_info['address'] = "unknown" - iface_info['mac_address'] = interface.mac_address - vlans = "|".join([str(vlan.vlan_id) for vlan in interface.config.all()]) - iface_info['vlans'] = vlans - host_info['interfaces'].append(iface_info) - - return host_info -- cgit 1.2.3-korg