diff --git a/opennebula_api/models.py b/opennebula_api/models.py index 21151dc8..c4943c3e 100644 --- a/opennebula_api/models.py +++ b/opennebula_api/models.py @@ -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_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 diff --git a/opennebula_api/tests.py b/opennebula_api/tests.py index 95d9d08d..b0c41429 100644 --- a/opennebula_api/tests.py +++ b/opennebula_api/tests.py @@ -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,