Add create template function
This commit is contained in:
parent
ec945cc31b
commit
b052507134
2 changed files with 34 additions and 3 deletions
|
@ -83,3 +83,28 @@ class OpenNebulaManager():
|
|||
protocol=settings.OPENNEBULA_PROTOCOL)
|
||||
)
|
||||
return user_pool
|
||||
def create_template(self, name, cores, memory, disk_size):
|
||||
template_string_formatter = """<TEMPLATE>
|
||||
<NAME>{name}</NAME>
|
||||
<MEMORY>{memory}</MEMORY>
|
||||
<VCPU>{vcpu}</VCPU>
|
||||
<CPU>{cpu}</CPU>
|
||||
<DISK>
|
||||
<TYPE>fs</TYPE>
|
||||
<SIZE>{size}</SIZE>
|
||||
<DEV_PREFIX>vd</DEV_PREFIX>
|
||||
</DISK>
|
||||
</TEMPLATE>
|
||||
"""
|
||||
template_id = oca.VmTemplate.allocate(
|
||||
self.oneadmin_client,
|
||||
template_string_formatter.format(
|
||||
name=name,
|
||||
vcpu=cores,
|
||||
cpu=0.1*cores,
|
||||
size=1024 * disk_size,
|
||||
memory=1024 * memory
|
||||
)
|
||||
)
|
||||
|
||||
return template_id
|
||||
|
|
|
@ -18,7 +18,11 @@ class OpenNebulaManagerTestCases(TestCase):
|
|||
|
||||
def test_model_can_connect_to_server(self):
|
||||
"""Test the opennebula manager model can connect to a server."""
|
||||
self.assertFalse(self.manager is None)
|
||||
try:
|
||||
version = self.manager.version()
|
||||
except:
|
||||
version = None
|
||||
self.assertFalse(version is None)
|
||||
|
||||
def test_model_can_create_user(self):
|
||||
"""Test the opennebula manager model can create a new user."""
|
||||
|
@ -46,8 +50,10 @@ class VirtualMachineTemplateTestCase(TestCase):
|
|||
self.disk_size = 10.0
|
||||
|
||||
self.manager = OpenNebulaManager(email=None, password=None, create_user=False)
|
||||
self.opennebula_id = self.manager.create_template(self.cores, self.memory,
|
||||
self.disk_size)
|
||||
self.opennebula_id = self.manager.create_template(name=self.template_name,
|
||||
cores=self.cores,
|
||||
memory=self.memory,
|
||||
disk_size=self.disk_size)
|
||||
|
||||
self.template = VirtualMachineTemplate(opennebula_id=self.opennebula_id,
|
||||
base_price=self.base_price,
|
||||
|
|
Loading…
Reference in a new issue