From adf9b77e4e1db305dd17cd3ef11a8741b72f9735 Mon Sep 17 00:00:00 2001 From: modulos <modulos@protonmail.com> Date: Tue, 23 May 2017 11:30:10 +0200 Subject: [PATCH] Show ipv6 address --- .../templates/hosting/virtual_machine_detail.html | 12 +++++++++--- opennebula_api/serializers.py | 8 ++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/hosting/templates/hosting/virtual_machine_detail.html b/hosting/templates/hosting/virtual_machine_detail.html index 0b17878d..188afd8e 100644 --- a/hosting/templates/hosting/virtual_machine_detail.html +++ b/hosting/templates/hosting/virtual_machine_detail.html @@ -41,11 +41,17 @@ <div class="col-md-12 inline-headers"> <h3>{{virtual_machine.hosting_company_name}}</h3> - {% if virtual_machine.ip %} + {% if virtual_machine.ipv6 %} <div class="pull-right right-place"> - <button type="link" data-clipboard-text="{{virtual_machine.ip}}" id="copy_vm_id" class="to_copy btn btn-link" + <button type="link" + data-clipboard-text="{{virtual_machine.ipv4}}" id="copy_vm_id" class="to_copy btn btn-link" data-toggle="tooltip" data-placement="bottom" title="Copied" data-trigger="click"> - Ip: {{virtual_machine.ip}} <i class="fa fa-files-o" aria-hidden="true"></i> + Ipv4: {{virtual_machine.ipv4}} <i class="fa fa-files-o" aria-hidden="true"></i> + </button> + <button type="link" + data-clipboard-text="{{virtual_machine.ipv6}}" id="copy_vm_id" class="to_copy btn btn-link" + data-toggle="tooltip" data-placement="bottom" title="Copied" data-trigger="click"> + Ipv6: {{virtual_machine.ipv6}} <i class="fa fa-files-o" aria-hidden="true"></i> </button> </div> {% else %} diff --git a/opennebula_api/serializers.py b/opennebula_api/serializers.py index d762587f..32fd139e 100644 --- a/opennebula_api/serializers.py +++ b/opennebula_api/serializers.py @@ -88,7 +88,8 @@ class VirtualMachineSerializer(serializers.Serializer): disk_size = serializers.SerializerMethodField() - ip = serializers.SerializerMethodField() + ipv4 = serializers.SerializerMethodField() + ipv6 = serializers.SerializerMethodField() vm_id = serializers.IntegerField(read_only=True, source='id') state = serializers.CharField(read_only=True, source='str_state') price = serializers.SerializerMethodField() @@ -153,13 +154,16 @@ class VirtualMachineSerializer(serializers.Serializer): template = OpenNebulaManager().get_template(template_id) return template.name - def get_ip(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): return str(v4_from_mac(nic.mac)) else: return '-' + def get_ipv6(self, obj): + nic = obj.template.nics[0] + return nic.ip6_global def hexstr2int(string):