Bug 1853649

Summary: [machines] There should be a notification when trying to delete a transient VM
Product: Red Hat Enterprise Linux 8 Reporter: Xianghua Chen <xchen>
Component: cockpit-appstreamAssignee: Katerina Koukiou <kkoukiou>
Status: CLOSED ERRATA QA Contact: Xianghua Chen <xchen>
Severity: low Docs Contact:
Priority: unspecified    
Version: 8.3CC: mpitt, wshi, ymao, yunyang
Target Milestone: rcKeywords: Regression
Target Release: 8.3Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:09:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Xianghua Chen 2020-07-03 13:13:50 UTC
Description of problem: 
There should be a notification when trying to delete a transient VM

Version-Release number of selected component (if applicable):
cockpit-machines-222.1-1.el8.noarch
libvirt-dbus-1.3.0-2.module+el8.3.0+6423+e4cb6418.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Prepare a image under /var/lib/libvirt/images/cirros.qcow2, and create a transient VM by :
# virsh create CirrOS.xml
The content of the xml:
<domain type='kvm'>
  <name>CirrOS</name>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state='off'/>
  </features>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/cirros.qcow2' index='1'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='network'>
      <source network='default' bridge='virbr0'/>
    </interface>
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
  </devices>
</domain>

2. Move mouse to the 'Delete' button 

Actual results:
In step 2, there is no notification like "This VM is transient. Shut it down if you wish to delete it."

Expected results:
In step 2, it's disabled and there should be a notification like "This VM is transient. Shut it down if you wish to delete it."

Additional info:

Comment 1 Martin Pitt 2020-07-03 13:40:38 UTC
This sounds very similar to bug 1708193 (but that was for RHEL 7). Katerina already tried to fix this in https://github.com/cockpit-project/cockpit/pull/11785 but it got stuck. Need to dust this off and see what's still broken.

Comment 2 Xianghua Chen 2020-07-06 01:29:27 UTC
(In reply to Martin Pitt from comment #1)
> This sounds very similar to bug 1708193 (but that was for RHEL 7). Katerina
> already tried to fix this in
> https://github.com/cockpit-project/cockpit/pull/11785 but it got stuck. Need
> to dust this off and see what's still broken.

Hi Martin,
I've downgrade to 221.1-1 to double confirm, the problem has got fixed in 221, but the notification got missed on 222.
May be due to the interface change and not the same root cause to bug 1708193.

Comment 3 Martin Pitt 2020-07-06 05:24:23 UTC
Ack, thanks Xianghua, so that's independent. Marking as regression and targetting at 8.3.0 then.

Comment 4 Katerina Koukiou 2020-07-22 09:50:14 UTC
PR landed - https://github.com/cockpit-project/cockpit/pull/14381, will be in 224.

Comment 8 Xianghua Chen 2020-07-31 06:46:53 UTC
erified with package:
cockpit-machines-224-1.el8.noarch

Step:
1. Prepare a image under /var/lib/libvirt/images/cirros.qcow2, and create a transient VM by :
# virsh create CirrOS.xml
The content of the xml:
<domain type='kvm'>
  <name>CirrOS</name>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state='off'/>
  </features>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/cirros.qcow2' index='1'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='network'>
      <source network='default' bridge='virbr0'/>
    </interface>
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
  </devices>
</domain>

2. Move mouse to the 'Delete' button 

In step 2, it's disabled and there is a notification like "This VM is transient. Shut it down if you wish to delete it."
So verified

Comment 11 errata-xmlrpc 2020-11-04 03:09:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (cockpit-appstream bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4705