Extend uncloud VM models
This commit is contained in:
parent
8c6e4eee00
commit
734c406245
1 changed files with 30 additions and 1 deletions
|
@ -1,12 +1,41 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class VMHost(models.Model):
|
||||||
|
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||||
|
|
||||||
|
# 253 is the maximum DNS name length
|
||||||
|
hostname = models.CharField(max_length=253)
|
||||||
|
|
||||||
|
# indirectly gives a maximum number of cores / VM - f.i. 32
|
||||||
|
physical_cores = models.IntegerField()
|
||||||
|
|
||||||
|
# determines the maximum usable cores - f.i. 320 if you overbook by a factor of 10
|
||||||
|
usable_cores = models.IntegerField()
|
||||||
|
|
||||||
|
# ram that can be used of the server
|
||||||
|
usable_ram_in_gb = models.FloatField()
|
||||||
|
|
||||||
|
|
||||||
class VM(models.Model):
|
class VM(models.Model):
|
||||||
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||||
owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
|
owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
|
||||||
|
|
||||||
cores = models.IntegerField()
|
cores = models.IntegerField()
|
||||||
ram = models.FloatField()
|
ram_in_gb = models.FloatField()
|
||||||
|
|
||||||
|
vmhost = models.ForeignKey(VMHost, on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
|
||||||
class VMDisk(models.Model):
|
class VMDisk(models.Model):
|
||||||
|
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||||
|
vm = models.ForeignKey(VM, on_delete=models.CASCADE)
|
||||||
|
size_in_gb = models.FloatField()
|
||||||
|
|
||||||
|
storage_class = models.CharField(max_length=32,
|
||||||
|
choices = (
|
||||||
|
('hdd', 'HDD'),
|
||||||
|
('ssd', 'SSD'),
|
||||||
|
),
|
||||||
|
default='ssd'
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue