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)
 | 
					                    protocol=settings.OPENNEBULA_PROTOCOL)
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
        return user_pool
 | 
					        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):
 | 
					    def test_model_can_connect_to_server(self):
 | 
				
			||||||
        """Test the opennebula manager model can connect to a server."""
 | 
					        """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):
 | 
					    def test_model_can_create_user(self):
 | 
				
			||||||
        """Test the opennebula manager model can create a new user."""
 | 
					        """Test the opennebula manager model can create a new user."""
 | 
				
			||||||
| 
						 | 
					@ -46,8 +50,10 @@ class VirtualMachineTemplateTestCase(TestCase):
 | 
				
			||||||
        self.disk_size = 10.0
 | 
					        self.disk_size = 10.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.manager = OpenNebulaManager(email=None, password=None, create_user=False)
 | 
					        self.manager = OpenNebulaManager(email=None, password=None, create_user=False)
 | 
				
			||||||
        self.opennebula_id = self.manager.create_template(self.cores, self.memory,
 | 
					        self.opennebula_id = self.manager.create_template(name=self.template_name,
 | 
				
			||||||
                                                          self.disk_size)
 | 
					                                                          cores=self.cores,
 | 
				
			||||||
 | 
					                                                          memory=self.memory,
 | 
				
			||||||
 | 
					                                                          disk_size=self.disk_size)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.template = VirtualMachineTemplate(opennebula_id=self.opennebula_id,
 | 
					        self.template = VirtualMachineTemplate(opennebula_id=self.opennebula_id,
 | 
				
			||||||
                                               base_price=self.base_price,
 | 
					                                               base_price=self.base_price,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue