Revision bd87213f snf-cyclades-app/synnefo/db/models.py
b/snf-cyclades-app/synnefo/db/models.py | ||
---|---|---|
29 | 29 |
|
30 | 30 |
import datetime |
31 | 31 |
|
32 |
from copy import deepcopy |
|
32 | 33 |
from django.conf import settings |
33 | 34 |
from django.db import models |
34 | 35 |
from django.db import IntegrityError |
... | ... | |
87 | 88 |
default=0) |
88 | 89 |
drained = models.BooleanField('Drained', default=False, null=False) |
89 | 90 |
offline = models.BooleanField('Offline', default=False, null=False) |
91 |
# Type of hypervisor |
|
92 |
hypervisor = models.CharField('Hypervisor', max_length=32, default="kvm", |
|
93 |
null=False) |
|
90 | 94 |
# Last refresh of backend resources |
91 | 95 |
updated = models.DateTimeField(auto_now_add=True) |
92 | 96 |
# Backend resources |
... | ... | |
179 | 183 |
except IndexError: |
180 | 184 |
raise Exception("Can not create more than 16 backends") |
181 | 185 |
|
186 |
def use_hotplug(self): |
|
187 |
return self.hypervisor == "kvm" and snf_settings.GANETI_USE_HOTPLUG |
|
188 |
|
|
189 |
def get_create_params(self): |
|
190 |
params = deepcopy(snf_settings.GANETI_CREATEINSTANCE_KWARGS) |
|
191 |
params["hvparams"] = params.get("hvparams", {})\ |
|
192 |
.get(self.hypervisor, {}) |
|
193 |
return params |
|
194 |
|
|
182 | 195 |
|
183 | 196 |
# A backend job may be in one of the following possible states |
184 | 197 |
BACKEND_STATUSES = ( |
Also available in: Unified diff