Merge branch 'bugfix/upgrade_to_opennebula_5.8.1' into 'master'
Bugfix/upgrade to opennebula 5.8.1 See merge request ungleich-public/dynamicweb!690
This commit is contained in:
		
				commit
				
					
						67d39a905d
					
				
			
		
					 2 changed files with 16 additions and 8 deletions
				
			
		| 
						 | 
					@ -46,7 +46,7 @@ class VirtualMachineSerializer(serializers.Serializer):
 | 
				
			||||||
    """Serializer to map the virtual machine instance into JSON format."""
 | 
					    """Serializer to map the virtual machine instance into JSON format."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    name = serializers.SerializerMethodField()
 | 
					    name = serializers.SerializerMethodField()
 | 
				
			||||||
    cores = serializers.IntegerField(source='template.vcpu')
 | 
					    cores = serializers.SerializerMethodField()
 | 
				
			||||||
    disk = serializers.IntegerField(write_only=True)
 | 
					    disk = serializers.IntegerField(write_only=True)
 | 
				
			||||||
    set_memory = serializers.IntegerField(write_only=True, label='Memory')
 | 
					    set_memory = serializers.IntegerField(write_only=True, label='Memory')
 | 
				
			||||||
    memory = serializers.SerializerMethodField()
 | 
					    memory = serializers.SerializerMethodField()
 | 
				
			||||||
| 
						 | 
					@ -99,6 +99,9 @@ class VirtualMachineSerializer(serializers.Serializer):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return manager.get_vm(opennebula_id)
 | 
					        return manager.get_vm(opennebula_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_cores(self, obj):
 | 
				
			||||||
 | 
					        return int(float(obj.template.cpu) * 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_memory(self, obj):
 | 
					    def get_memory(self, obj):
 | 
				
			||||||
        return int(obj.template.memory) / 1024
 | 
					        return int(obj.template.memory) / 1024
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,19 +130,23 @@ 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.cpu) * 10 * 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):
 | 
				
			||||||
        template_id = obj.template.template_id
 | 
					        if hasattr(obj, 'template'):
 | 
				
			||||||
        template = OpenNebulaManager().get_template(template_id)
 | 
					            if hasattr(obj, 'template.template_id'):
 | 
				
			||||||
        if template.name.startswith('public-'):
 | 
					                template_id = obj.template.template_id
 | 
				
			||||||
            return template.name.lstrip('public-')
 | 
					                template = OpenNebulaManager().get_template(template_id)
 | 
				
			||||||
 | 
					                if template.name.startswith('public-'):
 | 
				
			||||||
 | 
					                    return template.name.lstrip('public-')
 | 
				
			||||||
 | 
					                else:
 | 
				
			||||||
 | 
					                    return template.name
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            return template.name
 | 
					            return ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_ipv4(self, obj):
 | 
					    def get_ipv4(self, obj):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,8 @@ def get_or_create_vm_detail(user, manager, vm_id):
 | 
				
			||||||
        vm_detail_obj = VMDetail.objects.create(
 | 
					        vm_detail_obj = VMDetail.objects.create(
 | 
				
			||||||
            user=user, vm_id=vm_id, disk_size=vm['disk_size'],
 | 
					            user=user, vm_id=vm_id, disk_size=vm['disk_size'],
 | 
				
			||||||
            cores=vm['cores'], memory=vm['memory'],
 | 
					            cores=vm['cores'], memory=vm['memory'],
 | 
				
			||||||
            configuration=vm['configuration'], ipv4=vm['ipv4'],
 | 
					            configuration="" if vm['configuration'] is None else vm['configuration'],
 | 
				
			||||||
 | 
					            ipv4=vm['ipv4'],
 | 
				
			||||||
            ipv6=vm['ipv6']
 | 
					            ipv6=vm['ipv6']
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    return vm_detail_obj
 | 
					    return vm_detail_obj
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue