diff --git a/datasource/views.py b/datasource/views.py index d23d99a..163ecb5 100644 --- a/datasource/views.py +++ b/datasource/views.py @@ -7,13 +7,15 @@ from libvirt import libvirtError import json import socket -OS_VERSIONS = [ 'latest', '' ] +OS_VERSIONS = ['latest', ''] OS_UUID = "iid-dswebvirtcloud" + def os_index(request): response = '\n'.join(OS_VERSIONS) return HttpResponse(response) + def os_metadata_json(request, version): """ :param request: @@ -27,9 +29,10 @@ def os_metadata_json(request, version): response = { 'uuid': OS_UUID, 'hostname': hostname } return HttpResponse(json.dumps(response)) else: - err = 'Invalid version: %s' % version + err = 'Invalid version: {}'.format(version) raise Http404(err) + def os_userdata(request, version): """ :param request: @@ -51,9 +54,10 @@ def os_userdata(request, version): return render(request, 'user_data', locals()) else: - err = 'Invalid version: %s' % version + err = 'Invalid version: {}'.format(version) raise Http404(err) + def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: @@ -62,10 +66,15 @@ def get_client_ip(request): ip = request.META.get('REMOTE_ADDR') return ip + def get_hostname_by_ip(ip): - addrs = socket.gethostbyaddr(ip) + try: + addrs = socket.gethostbyaddr(ip) + except Exception: + addrs = [ip,] return addrs[0] + def get_vdi_url(request, vname): instance = Instance.objects.get(name=vname) compute = instance.compute diff --git a/instances/templates/instance.html b/instances/templates/instance.html index 7a9be1e..ba5c891 100644 --- a/instances/templates/instance.html +++ b/instances/templates/instance.html @@ -321,7 +321,12 @@ {% ifequal status 1 %}

{% trans "This action opens a remote viewer with a connection to the console of the instance." %}

- {% trans "VDI" %} +
+ + + {% trans "VDI" %} + +
{% endifequal %} @@ -560,7 +565,7 @@
{% csrf_token %} {% ifequal status 5 %} - {% else %} @@ -573,7 +578,7 @@ {% csrf_token %} -
@@ -1337,6 +1342,7 @@ $(document).ready(function () { // set vdi url $.get("/datasource/vdi/{{ vname }}/", function(data) { + $("#vdi_url_input").attr("value", data); $("#vdi_url").attr("href", data); }); });