Refactor get_all_vmids -> get_all_active_vmids
We now get this info from opennebula
This commit is contained in:
		
					parent
					
						
							
								0b85784fd3
							
						
					
				
			
			
				commit
				
					
						7f6d4c1c53
					
				
			
		
					 2 changed files with 11 additions and 26 deletions
				
			
		|  | @ -464,7 +464,7 @@ class SSHKeyDeleteView(LoginRequiredMixin, DeleteView): | |||
|         keys = UserHostingKey.objects.filter(user=self.request.user) | ||||
|         keys_to_save = [k.public_key for k in keys if k != public_key] | ||||
|         manager.save_key_in_opennebula_user('\n'.join(keys_to_save)) | ||||
|         vm_ids = manager.get_all_vmids() | ||||
|         vm_ids = manager.get_vms() | ||||
|         if len(vm_ids) > 0 and len(keys_to_save) > 0: | ||||
|             for vm_id in vm_ids: | ||||
|                 manager.save_key_in_vm_template(vm_id, '\n'.join(keys_to_save)) | ||||
|  | @ -517,7 +517,7 @@ class SSHKeyChoiceView(LoginRequiredMixin, View): | |||
|             password=owner.password | ||||
|         ) | ||||
|         keys = get_all_public_keys(request.user) | ||||
|         vm_ids = manager.get_all_vmids() | ||||
|         vm_ids = manager.get_all_active_vmids() | ||||
|         manager.save_key_in_opennebula_user('\n'.join(keys)) | ||||
|         if len(vm_ids) > 0 and len(keys) > 0: | ||||
|             for vm_id in vm_ids: | ||||
|  | @ -574,7 +574,7 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView): | |||
|         keys = UserHostingKey.objects.filter(user=self.request.user) | ||||
|         keys_to_save = [k.public_key for k in keys] | ||||
|         manager.save_key_in_opennebula_user('\n'.join(keys_to_save)) | ||||
|         vm_ids = manager.get_all_vmids() | ||||
|         vm_ids = manager.get_all_active_vmids() | ||||
|         if len(vm_ids) > 0 and len(keys) > 0: | ||||
|             for vm_id in vm_ids: | ||||
|                 manager.save_key_in_vm_template(vm_id, '\n'.join(keys_to_save)) | ||||
|  |  | |||
|  | @ -168,7 +168,7 @@ class OpenNebulaManager(): | |||
|             raise | ||||
|         return user_pool | ||||
| 
 | ||||
|     def _get_vm_pool(self, infoextended=True): | ||||
|     def _get_vm_pool(self, infoextended=True, vm_state=-1): | ||||
|         """ | ||||
|         # filter: | ||||
|         # -4: Resources belonging to the user’s primary group | ||||
|  | @ -201,8 +201,8 @@ class OpenNebulaManager(): | |||
|             vm_pool = oca.VirtualMachinePool(self.client) | ||||
|             if infoextended: | ||||
|                 vm_pool.infoextended( | ||||
|                     filter=-1,   # User's resources and any of his groups | ||||
|                     vm_state=-1  # Look for VMs in any state, except DONE | ||||
|                     filter=-1,         # User's resources and any of his groups | ||||
|                     vm_state=vm_state | ||||
|                 ) | ||||
|             else: | ||||
|                 vm_pool.info() | ||||
|  | @ -210,13 +210,6 @@ class OpenNebulaManager(): | |||
|         except AttributeError: | ||||
|             logger.error( | ||||
|                 'Could not connect via client, using oneadmin instead') | ||||
|             try: | ||||
|                 vm_pool = oca.VirtualMachinePool(self.oneadmin_client) | ||||
|                 vm_pool.info(filter=-2) | ||||
|                 return vm_pool | ||||
|             except: | ||||
|                 raise ConnectionRefusedError | ||||
| 
 | ||||
|         except ConnectionRefusedError: | ||||
|             logger.error( | ||||
|                 'Could not connect to host: {host} via protocol {protocol}'.format( | ||||
|  | @ -228,9 +221,9 @@ class OpenNebulaManager(): | |||
|         except: | ||||
|             raise ConnectionRefusedError | ||||
| 
 | ||||
|     def get_vms(self): | ||||
|     def get_vms(self, vm_state=-1): | ||||
|         try: | ||||
|             return self._get_vm_pool() | ||||
|             return self._get_vm_pool(vm_state=vm_state) | ||||
|         except ConnectionRefusedError: | ||||
|             raise ConnectionRefusedError | ||||
| 
 | ||||
|  | @ -637,17 +630,9 @@ class OpenNebulaManager(): | |||
|                 "Keys and/or hosts are empty, so not managing any keys" | ||||
|             ) | ||||
| 
 | ||||
|     def get_all_vmids(self): | ||||
|         owner = CustomUser.objects.filter(email=self.email).first() | ||||
|         all_orders = HostingOrder.objects.filter(customer__user=owner) | ||||
|         vm_ids = [] | ||||
|         if len(all_orders) > 0: | ||||
|             logger.debug("The user {} has 1 or more VMs. We need to configure " | ||||
|                          "the ssh keys.".format(self.email)) | ||||
|             vm_ids = [order.vm_id for order in all_orders] | ||||
|         else: | ||||
|             logger.debug("The user {} has no VMs. We don't need to configure " | ||||
|                          "the ssh keys.".format(self.email)) | ||||
|     def get_all_active_vmids(self): | ||||
|         vm_pool = self.get_vms(vm_state=3) # get active vms of the user | ||||
|         vm_ids = [vm.id for vm in vm_pool] | ||||
|         return vm_ids | ||||
| 
 | ||||
|     def get_all_hosts(self): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue