diff options
Diffstat (limited to 'src/api/models.py')
-rw-r--r-- | src/api/models.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/api/models.py b/src/api/models.py index 36d1b8c..a207044 100644 --- a/src/api/models.py +++ b/src/api/models.py @@ -25,6 +25,7 @@ from resource_inventory.models import ( Lab, ResourceProfile, Image, + Opsys, Interface, ResourceOPNFVConfig, RemoteInfo, @@ -85,6 +86,18 @@ class LabManager(object): def __init__(self, lab): self.lab = lab + def get_opsyss(self): + return Opsys.objects.filter(from_lab=self.lab) + + def get_images(self): + return Image.objects.filter(from_lab=self.lab) + + def get_image(self, image_id): + return Image.objects.filter(from_lab=self.lab, lab_id=image_id) + + def get_opsys(self, opsys_id): + return Opsys.objects.filter(from_lab=self.lab, lab_id=opsys_id) + def get_downtime(self): return Downtime.objects.filter(start__lt=timezone.now(), end__gt=timezone.now(), lab=self.lab) @@ -408,7 +421,7 @@ class CloudInitFile(models.Model): return full_dict @classmethod - def get(booking_id: int, resource_lab_id: str): + def get(cls, booking_id: int, resource_lab_id: str): return CloudInitFile.objects.get(resource_id=resource_lab_id, booking__id=booking_id) def _resource(self): @@ -768,7 +781,6 @@ class HardwareConfig(TaskConfig): # TODO: grab the CloudInitFile urls from self.hosthardwarerelation.get_resource() return self.format_delta( self.hosthardwarerelation.get_resource().get_configuration(self.state), - self.cloudinit_file.get_delta_url(), self.hosthardwarerelation.lab_token) @@ -819,7 +831,7 @@ class NetworkConfig(TaskConfig): class SnapshotConfig(TaskConfig): resource_id = models.CharField(max_length=200, default="default_id") - image = models.IntegerField(null=True) + image = models.CharField(max_length=200,null=True) # cobbler ID dashboard_id = models.IntegerField() delta = models.TextField(default="{}") |