Bug 1777201

Summary: [machines] The message needs correction when try to delete network interface when VM is running
Product: Red Hat Enterprise Linux 8 Reporter: Xianghua Chen <xchen>
Component: cockpit-appstreamAssignee: Simon Kobyda <skobyda>
Status: CLOSED ERRATA QA Contact: Xianghua Chen <xchen>
Severity: low Docs Contact:
Priority: low    
Version: 8.2CC: mpitt, wshi, ymao, yunyang
Target Milestone: rc   
Target Release: 8.2   
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-04-28 15:43:05 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 2019-11-27 06:32:46 UTC
Description of problem:
The message needs correction when try to delete network interface when VM is running

Version-Release number of selected component (if applicable):
cockpit-machines-206-1.el8.noarch
libvirt-dbus-1.2.0-3.module+el8.1.0+4066+0f1aadab.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Open the Networks page of a running VM
2. Move the mouse on "Delete" at the end of one network interface.

Actual results:
The delete button is gray and there is a message saying:
The VM needs to be running or shut off to detach this device


Expected results:
The message should be:
The VM needs to be shut off to detach this device.

Additional info:

Comment 1 Martin Pitt 2019-11-27 07:56:58 UTC
Agreed, this was apparently a copy&paste error from pkg/machines/components/vmDisksTab.jsx (where you really can detach a disk while the VM is running). 

Simon, the second line in pkg/machines/components/vmnetworktab.jsx is trivial to fix:

     disabled={vm.state != 'shut off'}
     overlayText={_("The VM needs to be running or shut off to detach this device")}
     deleteHandler={() => detachIface(network.mac, vm.connectionName, vm.id, vm.state === "running", dispatch)} />;


But please have a look at the third line. The comparison against "running" smells wrong, as the button would be disabled in that state. So that argument should always be `false`.

Comment 2 Simon Kobyda 2019-11-28 14:04:09 UTC
Right. The problem is the first line, where the button get's disabled if VM is not shutoff (it should be enabled if VM is also runnin)
The text of message is correct.
And the third line is just a flag, which tells us that vm is running, and thereforce apart from an offline VM XML we also have to update live VM XML when detaching a VM. So all of the infrastructure for detaching from running VM was setup, but condition which would disable delete button had a bug :)

Comment 6 Xianghua Chen 2019-12-23 06:36:54 UTC
Verified with packages:
cockpit-machines-209-1.el8.noarch
libvirt-dbus-1.2.0-3.module+el8.1.0+4066+0f1aadab.x86_64

Steps:
1. Open the Networks page of a running VM
2. Click "Delete" at the end of one network interface.

The "Delete" button is enabled for running vm and there will be a dialog prompt when clicking delete, and the network interface can be deleted after confirmation.
So verified.

Comment 8 errata-xmlrpc 2020-04-28 15:43:05 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, 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:1639