aboutsummaryrefslogtreecommitdiffstats
path: root/src/resource_inventory
diff options
context:
space:
mode:
authorBrandon Lo <lobrandon1217@gmail.com>2020-01-30 13:35:34 -0500
committerBrandon Lo <lobrandon1217@gmail.com>2020-01-30 13:35:34 -0500
commit4bfa2fa78c487bd8a0453de847ffcb27af526425 (patch)
tree18e1fe2a24a957cb8b45ad99320b2d4a045d4c6b /src/resource_inventory
parent899e1a4baa95d0bc6f0eef34de66f0e257174878 (diff)
Fix booking errors
This implements Host model's "release" method and replaces an instance of Network to PhysicalNetwork. Change-Id: I99b0bedbde2dcd63411cbb1fbf9b4905fc9570b1 Signed-off-by: Brandon Lo <lobrandon1217@gmail.com>
Diffstat (limited to 'src/resource_inventory')
-rw-r--r--src/resource_inventory/models.py4
-rw-r--r--src/resource_inventory/resource_manager.py9
2 files changed, 11 insertions, 2 deletions
diff --git a/src/resource_inventory/models.py b/src/resource_inventory/models.py
index d152698..1e2e547 100644
--- a/src/resource_inventory/models.py
+++ b/src/resource_inventory/models.py
@@ -424,6 +424,10 @@ class Host(Resource):
"ipmi_create": str(ipmi)
}
+ def release(self):
+ self.booked = False
+ self.save()
+
class Interface(models.Model):
id = models.AutoField(primary_key=True)
diff --git a/src/resource_inventory/resource_manager.py b/src/resource_inventory/resource_manager.py
index 7df4263..4fd344c 100644
--- a/src/resource_inventory/resource_manager.py
+++ b/src/resource_inventory/resource_manager.py
@@ -20,7 +20,8 @@ from resource_inventory.models import (
ResourceBundle,
HostProfile,
Network,
- Vlan
+ Vlan,
+ PhysicalNetwork,
)
@@ -131,12 +132,16 @@ class ResourceManager:
generic_interface = generic_interfaces[int_num]
physical_interface.config.clear()
for connection in generic_interface.connections.all():
+ physicalNetwork = PhysicalNetwork.objects.create(
+ vlan_id=vlan_map[connection.network.name],
+ generic_network=connection.network
+ )
physical_interface.config.add(
Vlan.objects.create(
vlan_id=vlan_map[connection.network.name],
tagged=connection.vlan_is_tagged,
public=connection.network.is_public,
- network=connection.network
+ network=physicalNetwork
)
)