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