[virt-tools-list] [virt-manager PATCH] virtManager: disable 'Clone' in VMActionMenu if VM can't be cloned
Chen Hanxiao
chen_han_xiao at 126.com
Thu Oct 6 15:37:14 UTC 2016
At 2016-09-30 22:03:49, "Cole Robinson" <crobinso at redhat.com> wrote:
>On 09/20/2016 11:59 PM, Chen Hanxiao wrote:
>> From: Chen Hanxiao <chenhanxiao at gmail.com>
>>
>> We can't clone a VM in some scenarios,
>> such as a VM is active.
>>
>> This patch will disable 'Clone' label in VMActionMenu
>> if we can't clone a VM,
>> as same as we did for 'Clone' button in clone ui page.
>>
>> Signed-off-by: Chen Hanxiao <chenhanxiao at gmail.com>
>> ---
>> virtManager/domain.py | 4 ++++
>> virtManager/vmmenu.py | 2 +-
>> 2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/virtManager/domain.py b/virtManager/domain.py
>> index a707f25..582de64 100644
>> --- a/virtManager/domain.py
>> +++ b/virtManager/domain.py
>> @@ -1655,6 +1655,10 @@ class vmmDomain(vmmLibvirtObject):
>> return self.status() in [libvirt.VIR_DOMAIN_PAUSED]
>> def is_paused(self):
>> return self.status() in [libvirt.VIR_DOMAIN_PAUSED]
>> + def is_clonable(self):
>> + return self.status() in [libvirt.VIR_DOMAIN_SHUTOFF,
>> + libvirt.VIR_DOMAIN_PAUSED,
>> + libvirt.VIR_DOMAIN_PMSUSPENDED]
>>
>> def run_status(self):
>> return self.pretty_run_status(self.status(), self.has_managed_save())
>> diff --git a/virtManager/vmmenu.py b/virtManager/vmmenu.py
>> index a1ae375..bb23360 100644
>> --- a/virtManager/vmmenu.py
>> +++ b/virtManager/vmmenu.py
>> @@ -128,7 +128,7 @@ class VMActionMenu(_VMMenu):
>> "suspend": bool(vm and vm.is_stoppable()),
>> "resume": bool(vm and vm.is_paused()),
>> "migrate": bool(vm and vm.is_stoppable()),
>> - "clone": True,
>> + "clone": bool(vm and vm.is_clonable()),
>> }
>> vismap = {
>> "suspend": bool(vm and not vm.is_paused()),
>>
>
>Technically we can clone an active VM, if it doesn't have any disks, but
>that's sufficiently rare that I don't think it's worth supporting in the UI.
>So ACK
>
Pushed, Thanks.
Regards,
- Chen
More information about the virt-tools-list
mailing list