Merge branch 'master' into task/3697/vm_details_page
This commit is contained in:
		
				commit
				
					
						c7b69ec4d9
					
				
			
		
					 1 changed files with 36 additions and 20 deletions
				
			
		|  | @ -1,5 +1,6 @@ | ||||||
| import ipaddress | import ipaddress | ||||||
| 
 | 
 | ||||||
|  | from builtins import hasattr | ||||||
| from rest_framework import serializers | from rest_framework import serializers | ||||||
| 
 | 
 | ||||||
| from oca import OpenNebulaException | from oca import OpenNebulaException | ||||||
|  | @ -32,7 +33,7 @@ class VirtualMachineTemplateSerializer(serializers.Serializer): | ||||||
|             return 0 |             return 0 | ||||||
| 
 | 
 | ||||||
|     def get_memory(self, obj): |     def get_memory(self, obj): | ||||||
|         return int(obj.template.memory)/1024 |         return int(obj.template.memory) / 1024 | ||||||
| 
 | 
 | ||||||
|     def get_name(self, obj): |     def get_name(self, obj): | ||||||
|         return obj.name.strip('public-') |         return obj.name.strip('public-') | ||||||
|  | @ -92,7 +93,7 @@ class VirtualMachineSerializer(serializers.Serializer): | ||||||
|         return manager.get_vm(opennebula_id) |         return manager.get_vm(opennebula_id) | ||||||
| 
 | 
 | ||||||
|     def get_memory(self, obj): |     def get_memory(self, obj): | ||||||
|         return int(obj.template.memory)/1024 |         return int(obj.template.memory) / 1024 | ||||||
| 
 | 
 | ||||||
|     def get_disk_size(self, obj): |     def get_disk_size(self, obj): | ||||||
|         template = obj.template |         template = obj.template | ||||||
|  | @ -104,9 +105,9 @@ class VirtualMachineSerializer(serializers.Serializer): | ||||||
|     def get_price(self, obj): |     def get_price(self, obj): | ||||||
|         template = obj.template |         template = obj.template | ||||||
|         price = float(template.vcpu) * 5.0 |         price = float(template.vcpu) * 5.0 | ||||||
|         price += (int(template.memory)/1024 * 2.0) |         price += (int(template.memory) / 1024 * 2.0) | ||||||
|         for disk in template.disks: |         for disk in template.disks: | ||||||
|             price += int(disk.size)/1024 * 0.6 |             price += int(disk.size) / 1024 * 0.6 | ||||||
|         return price |         return price | ||||||
| 
 | 
 | ||||||
|     def get_configuration(self, obj): |     def get_configuration(self, obj): | ||||||
|  | @ -115,15 +116,30 @@ class VirtualMachineSerializer(serializers.Serializer): | ||||||
|         return template.name.strip('public-') |         return template.name.strip('public-') | ||||||
| 
 | 
 | ||||||
|     def get_ipv4(self, obj): |     def get_ipv4(self, obj): | ||||||
|         nic = obj.template.nics[0] |         """ | ||||||
|         if 'vm-ipv6-nat64-ipv4' in nic.network and is_in_v4_range(nic.mac): |         Get the IPv4s from the given VM | ||||||
|             return str(v4_from_mac(nic.mac)) | 
 | ||||||
|  |         :param obj: The VM in contention | ||||||
|  |         :return: Returns csv string of all IPv4s added to this VM otherwise returns "-" if no IPv4 is available | ||||||
|  |         """ | ||||||
|  |         ipv4 = [] | ||||||
|  |         for nic in obj.template.nics: | ||||||
|  |             if hasattr(nic, 'ip'): | ||||||
|  |                 ipv4.append(nic.ip) | ||||||
|  |         if len(ipv4) > 0: | ||||||
|  |             return ', '.join(ipv4) | ||||||
|         else: |         else: | ||||||
|             return '-' |             return '-' | ||||||
| 
 | 
 | ||||||
|     def get_ipv6(self, obj): |     def get_ipv6(self, obj): | ||||||
|         nic = obj.template.nics[0] |         ipv6 = [] | ||||||
|         return nic.ip6_global |         for nic in obj.template.nics: | ||||||
|  |             if hasattr(nic, 'ip6_global'): | ||||||
|  |                 ipv6.append(nic.ip6_global) | ||||||
|  |         if len(ipv6) > 0: | ||||||
|  |             return ', '.join(ipv6) | ||||||
|  |         else: | ||||||
|  |             return '-' | ||||||
| 
 | 
 | ||||||
|     def get_name(self, obj): |     def get_name(self, obj): | ||||||
|         return obj.name.strip('public-') |         return obj.name.strip('public-') | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue