support creating disks

Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
This commit is contained in:
Nico Schottelius 2020-02-29 17:57:57 +01:00
commit 5c33bc5c02
4 changed files with 71 additions and 18 deletions

View file

@ -4,6 +4,16 @@ import uuid
from uncloud_pay.models import Product
STATUS_CHOICES = (
('pending', 'Pending'), # Initial state
('creating', 'Creating'), # Creating VM/image/etc.
('active', 'Active'), # Is usable / active
('disabled', 'Disabled'), # Is usable, but cannot be used for new things
('unusable', 'Unusable'), # Has some kind of error
('deleted', 'Deleted'), # Does not exist anymore, only DB entry as a log
)
STATUS_DEFAULT='pending'
class VMHost(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
@ -22,13 +32,8 @@ class VMHost(models.Model):
status = models.CharField(max_length=32,
choices = (
('pending', 'Pending'),
('active', 'Active'),
('unusable', 'Unusable'),
('deleted', 'Deleted'),
),
default='pending'
choices=STATUS_CHOICES,
default=STATUS_DEFAULT
)
@ -80,13 +85,10 @@ class VMDiskImageProduct(models.Model):
default='ssd'
)
# source = models.CharField(max_length=32,
# choices = (
# ('url', 'HDD'),
# ('ssd', 'SSD'),
# ),
# default='ssd'
# )
status = models.CharField(max_length=32,
choices=STATUS_CHOICES,
default=STATUS_DEFAULT
)
class VMDiskProduct(models.Model):
"""
@ -105,7 +107,7 @@ class VMDiskProduct(models.Model):
vm = models.ForeignKey(VMProduct, on_delete=models.CASCADE)
image = models.ForeignKey(VMDiskImageProduct, on_delete=models.CASCADE)
size_in_gb = models.FloatField()
size_in_gb = models.FloatField(blank=True)
class VMNetworkCard(models.Model):