From a457c262e17eca4e315153a8f4d65837a3e74c9e Mon Sep 17 00:00:00 2001 From: "Ing. Jan Krcmar" <honza801@civ.zcu.cz> Date: Wed, 20 Mar 2019 12:30:41 +0100 Subject: [PATCH 1/3] wvmStorage.create_volume, wvmCreate.create_volume image naming respects image/volume format (qcow,qcow2) --- instances/views.py | 4 ++++ vrtManager/create.py | 5 ++++- vrtManager/storage.py | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/instances/views.py b/instances/views.py index ae0ed65..3262d2a 100644 --- a/instances/views.py +++ b/instances/views.py @@ -476,7 +476,11 @@ def instance(request, compute_id, vname): path = connCreate.create_volume(storage, name, size, format, meta_prealloc, default_owner) conn.attach_disk(path, target, subdriver=format, cache=cache, targetbus=bus) +<<<<<<< HEAD msg = _('Attach new disk: ' + target) +======= + msg = _('Attach new disk {} ({})'.format(name, format)) +>>>>>>> 13ce824... wvmStorage.create_volume, wvmCreate.create_volume image naming respects image/volume format (qcow,qcow2) addlogmsg(request.user.username, instance.name, msg) return HttpResponseRedirect(request.get_full_path() + '#disks') diff --git a/vrtManager/create.py b/vrtManager/create.py index fd3203a..536de7a 100644 --- a/vrtManager/create.py +++ b/vrtManager/create.py @@ -58,7 +58,10 @@ class wvmCreate(wvmConnect): stg = self.get_storage(storage) storage_type = util.get_xml_path(stg.XMLDesc(0), "/pool/@type") if storage_type == 'dir': - name += '.img' + if image_format in ('qcow', 'qcow2'): + name += '.' + image_format + else: + name += '.img' alloc = 0 else: alloc = size diff --git a/vrtManager/storage.py b/vrtManager/storage.py index 6fec0e0..9d6273a 100644 --- a/vrtManager/storage.py +++ b/vrtManager/storage.py @@ -213,7 +213,10 @@ class wvmStorage(wvmConnect): if vol_fmt == 'unknown': vol_fmt = 'raw' if storage_type == 'dir': - name += '.img' + if vol_fmt in ('qcow', 'qcow2'): + name += '.' + vol_fmt + else: + name += '.img' alloc = 0 xml = """ <volume> From 3ad520209fccd99b4eae7fb7bcce6e723cae237c Mon Sep 17 00:00:00 2001 From: catborise <catborise@yahoo.com> Date: Thu, 4 Apr 2019 16:03:22 +0300 Subject: [PATCH 2/3] Rearrange tabs for non superusers --- instances/templates/instance.html | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/instances/templates/instance.html b/instances/templates/instance.html index ad3a6b8..da2865c 100644 --- a/instances/templates/instance.html +++ b/instances/templates/instance.html @@ -525,17 +525,18 @@ <div role="tabpanel"> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> - <li role="presentation" class="active"> - <a href="#boot_opt" aria-controls="boot" role="tab" data-toggle="tab"> - {% trans "Boot" %} - </a> - </li> - <li role="presentation"> - <a href="#disks" aria-controls="disks" role="tab" data-toggle="tab"> - {% trans "Disk" %} - </a> - </li> - + {% if request.user.is_superuser %} + <li role="presentation" class="active"> + <a href="#boot_opt" aria-controls="boot" role="tab" data-toggle="tab"> + {% trans "Boot" %} + </a> + </li> + <li role="presentation"> + <a href="#disks" aria-controls="disks" role="tab" data-toggle="tab"> + {% trans "Disk" %} + </a> + </li> + {% endif %} {% if request.user.is_superuser or userinstance.is_vnc %} <li role="presentation"> <a href="#vncsettings" aria-controls="vncsettings" role="tab" data-toggle="tab"> From 3cffa6e5053c21e0d8158126788b9fe1d7663d7a Mon Sep 17 00:00:00 2001 From: catborise <catborise@yahoo.com> Date: Thu, 4 Apr 2019 16:04:34 +0300 Subject: [PATCH 3/3] Fix disk clone xml for proper disk properties --- instances/views.py | 4 ---- vrtManager/instance.py | 21 +++++++++++---------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/instances/views.py b/instances/views.py index 3262d2a..ecea01b 100644 --- a/instances/views.py +++ b/instances/views.py @@ -476,11 +476,7 @@ def instance(request, compute_id, vname): path = connCreate.create_volume(storage, name, size, format, meta_prealloc, default_owner) conn.attach_disk(path, target, subdriver=format, cache=cache, targetbus=bus) -<<<<<<< HEAD - msg = _('Attach new disk: ' + target) -======= msg = _('Attach new disk {} ({})'.format(name, format)) ->>>>>>> 13ce824... wvmStorage.create_volume, wvmCreate.create_volume image naming respects image/volume format (qcow,qcow2) addlogmsg(request.user.username, instance.name, msg) return HttpResponseRedirect(request.get_full_path() + '#disks') diff --git a/vrtManager/instance.py b/vrtManager/instance.py index 1984195..49d6419 100644 --- a/vrtManager/instance.py +++ b/vrtManager/instance.py @@ -871,18 +871,19 @@ class wvmInstance(wvmConnect): <allocation>0</allocation> <target> <format type='%s'/> + <permissions> + <owner>%s</owner> + <group>%s</group> + <mode>0644</mode> + <label>virt_image_t</label> + </permissions> + <compat>1.1</compat> + <features> + <lazy_refcounts/> + </features> </target> - <permissions> - <owner>%s</owner> - <group>%s</group> - <mode>0644</mode> - <label>virt_image_t</label> - </permissions> - <compat>1.1</compat> - <features> - <lazy_refcounts/> - </features> </volume>""" % (target_file, vol_format, owner['uid'], owner['guid']) + stg = vol.storagePoolLookupByVolume() stg.createXMLFrom(vol_clone_xml, vol, meta_prealloc)