Updates to admin utils 49/71649/2
authorSawyer Bergeron <sbergeron@iol.unh.edu>
Mon, 7 Dec 2020 22:04:16 +0000 (17:04 -0500)
committerSawyer Bergeron <sbergeron@iol.unh.edu>
Mon, 7 Dec 2020 22:12:33 +0000 (17:12 -0500)
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Change-Id: Ic52ed229621656118cd9321390cc26a1de548267
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
src/dashboard/admin_utils.py

index fd427f5..e12671a 100644 (file)
@@ -4,9 +4,12 @@ from resource_inventory.models import (
     Server,
     ResourceBundle,
     ResourceProfile,
-    InterfaceProfile
+    InterfaceProfile,
+    PhysicalNetwork
 )
 
+import json
+
 from django.contrib.auth.models import User
 
 from account.models import Lab
@@ -207,3 +210,19 @@ def force_release_booking(booking_id):
     for task in tasks:
         task.status = JobStatus.DONE
         task.save()
+
+
+def get_network_metadata(booking_id: int):
+    booking = Booking.objects.get(id=booking_id)
+    bundle = booking.resource
+    pnets = PhysicalNetwork.objects.filter(bundle=bundle).all()
+    metadata = {}
+    for pnet in pnets:
+        net = pnet.generic_network
+        mdata = {"vlan_id": pnet.vlan_id, "netname": net.name, "public": net.is_public}
+        metadata[net.name] = mdata
+    return metadata
+
+
+def print_dict_pretty(a_dict):
+    print(json.dumps(a_dict, sort_keys=True, indent=4))