From 7f9ada60ee355e5dd91653908e74b2e059a1f490 Mon Sep 17 00:00:00 2001 From: PCoder Date: Thu, 11 Apr 2019 01:58:51 +0200 Subject: [PATCH] Revert back to old serializer code --- opennebula_api/serializers.py | 21 +++++++-------------- utils/hosting_utils.py | 3 +-- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/opennebula_api/serializers.py b/opennebula_api/serializers.py index 3a77c0d8..c7418aa5 100644 --- a/opennebula_api/serializers.py +++ b/opennebula_api/serializers.py @@ -46,7 +46,7 @@ class VirtualMachineSerializer(serializers.Serializer): """Serializer to map the virtual machine instance into JSON format.""" name = serializers.SerializerMethodField() - cores = serializers.SerializerMethodField() + cores = serializers.IntegerField(source='template.vcpu') disk = serializers.IntegerField(write_only=True) set_memory = serializers.IntegerField(write_only=True, label='Memory') memory = serializers.SerializerMethodField() @@ -99,9 +99,6 @@ class VirtualMachineSerializer(serializers.Serializer): return manager.get_vm(opennebula_id) - def get_cores(self, obj): - return int(float(obj.template.cpu) * 10) - def get_memory(self, obj): return int(obj.template.memory) / 1024 @@ -130,23 +127,19 @@ class VirtualMachineSerializer(serializers.Serializer): def get_price(self, obj): template = obj.template - price = float(template.cpu) * 10 * 5.0 + price = float(template.vcpu) * 5.0 price += (int(template.memory) / 1024 * 2.0) for disk in template.disks: price += int(disk.size) / 1024 * 0.6 return price def get_configuration(self, obj): - if hasattr(obj, 'template'): - if hasattr(obj, 'template.template_id'): - template_id = obj.template.template_id - template = OpenNebulaManager().get_template(template_id) - if template.name.startswith('public-'): - return template.name.lstrip('public-') - else: - return template.name + template_id = obj.template.template_id + template = OpenNebulaManager().get_template(template_id) + if template.name.startswith('public-'): + return template.name.lstrip('public-') else: - return "" + return template.name def get_ipv4(self, obj): """ diff --git a/utils/hosting_utils.py b/utils/hosting_utils.py index ee65fccf..ec97a320 100644 --- a/utils/hosting_utils.py +++ b/utils/hosting_utils.py @@ -47,8 +47,7 @@ def get_or_create_vm_detail(user, manager, vm_id): vm_detail_obj = VMDetail.objects.create( user=user, vm_id=vm_id, disk_size=vm['disk_size'], cores=vm['cores'], memory=vm['memory'], - configuration="" if vm['configuration'] is None else vm['configuration'], - ipv4=vm['ipv4'], + configuration=vm['configuration'], ipv4=vm['ipv4'], ipv6=vm['ipv6'] ) return vm_detail_obj