diff options
author | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2019-05-08 12:26:20 -0400 |
---|---|---|
committer | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2019-05-08 12:26:20 -0400 |
commit | 9e1e7dd8ceacfd33f7f8259650af151fc79af6a9 (patch) | |
tree | 409106dedfaf64d5eb4d080ce8e5d712d1590999 /dashboard | |
parent | 270af480508026b072d875568f368080629b47fc (diff) |
Fix vlan leak
Change-Id: Ida98327266df6cfbd4398b897ebcbcc4dc5df24d
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Diffstat (limited to 'dashboard')
-rw-r--r-- | dashboard/src/resource_inventory/resource_manager.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/dashboard/src/resource_inventory/resource_manager.py b/dashboard/src/resource_inventory/resource_manager.py index d3d3ed4..652e4e3 100644 --- a/dashboard/src/resource_inventory/resource_manager.py +++ b/dashboard/src/resource_inventory/resource_manager.py @@ -104,7 +104,7 @@ class ResourceManager: try: physical_host = self.acquireHost(generic_host, genericResourceBundle.lab.name) except ResourceAvailabilityException: - self.fail_acquire(physical_hosts, vlan_map) + self.fail_acquire(physical_hosts, vlan_map, genericResourceBundle) raise ResourceAvailabilityException("Could not provision hosts, not enough available") try: physical_host.bundle = resource_bundle @@ -114,12 +114,12 @@ class ResourceManager: self.configureNetworking(physical_host, vlan_map) except Exception: - self.fail_acquire(physical_hosts, vlan_map) + self.fail_acquire(physical_hosts, vlan_map, genericResourceBundle) raise ResourceProvisioningException("Network configuration failed.") try: physical_host.save() except Exception: - self.fail_acquire(physical_hosts) + self.fail_acquire(physical_hosts, vlan_map, genericResourceBundle) raise ModelValidationException("Saving hosts failed") return resource_bundle @@ -167,9 +167,8 @@ class ResourceManager: else: vlan_manager.release_vlans(vlan_id) - def fail_acquire(self, hosts, vlans): - grb = hosts[0].template.resource.bundle - vlan_manager = hosts[0].lab.vlan_manager + def fail_acquire(self, hosts, vlans, grb): + vlan_manager = grb.lab.vlan_manager self.releaseNetworks(grb, vlan_manager, vlans) for host in hosts: self.releaseHost(host) |