Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove "pause VM" button from Qubes Manager #1855

Closed
adrelanos opened this issue Mar 19, 2016 · 12 comments
Closed

Remove "pause VM" button from Qubes Manager #1855

adrelanos opened this issue Mar 19, 2016 · 12 comments
Labels
C: manager/widget P: minor Priority: minor. The lowest priority, below "default." T: task Type: task. An action item that is neither a bug nor an enhancement.

Comments

@adrelanos
Copy link
Member

Currently this is not the case. #1663 implemented running suspend / resume scripts on host suspend / resume, but not on VM pause / resume in QVMM.

I think this has a good chance of causing some confusion for example for #1764. Users might pause their sys-whonix using QVMM for various reasons. (make more RAM available, travel with Tor disabled, etc.) Then when they resume sys-whonix, they will be confused. (Just as #1663 caused confusion.)

Please implement running suspend / resume scripts also on VM pause / resume.

@marmarek
Copy link
Member

I think this is bad idea, especially qubes.SuspendPreAll there. Pausing a VM may be used also if you spot some misbehaving of a VM and want to collect some evidences (memory dump etc). Then letting the VM know it will be paused in a moment is the worst thing to do...

make more RAM available

Pausing VM doesn't release RAM.

Also if you want to simply cut sys-whonix out of network access, do exactly that by setting its netvm to none, not use a side effect of pausing VM. It will cause more problems than just that clock synchronization. For example if you start another sys-whonix connected VM, it will fail because backend driver will not initialize.
I think in the "pause" button in Qubes Manger in its current shape (without description what it really does) makes more confusion than good. Maybe it should be removed from there?

@adrelanos
Copy link
Member Author

Marek Marczykowski-Górecki:

I think this is bad idea, especially qubes.SuspendPreAll there.
Pausing a VM may be used also if you spot some misbehaving of a VM
and want to collect some evidences (memory dump etc). Then letting
the VM know it will be paused in a moment is the worst thing to
do...

I see.

make more RAM available

Pausing VM doesn't release RAM.

Also if you want to simply cut sys-whonix out of network access, do
exactly that by setting its netvm to none, not use a side effect of
pausing VM. It will cause more problems than just that clock
synchronization. For example if you start another sys-whonix
connected VM, it will fail because backend driver will not
initialize. I think in the "pause" button in Qubes Manger in its
current shape (without description what it really does) makes more
confusion than good. Maybe it should be removed from there?

I think so, because it is confusing.

But maybe this is something very advanced people such as you (with
skills to analyze a memory dump) depend on? Then we need it as some
advancement option because we don't want to make your debugging harder.

And perhaps replaced by a VM freeze to disk feature [comparable to what
we are used to like other virtualizers] that gets the hooks dispatched?

@marmarek
Copy link
Member

I think so, because it is confusing.
But maybe this is something very advanced people such as you (with skills to analyze a memory dump) depend on? Then we need it as some advancement option because we don't want to make your debugging harder.

Maybe simply remove the button, but leave it in the context menu? Maybe also name it differently? But IMO "pause" is exactly what it does (not "suspend"). Or maybe remove it completely from Qubes Manager and leave only as command line option (I'm ok with that)?
/cc @bnvk

And perhaps replaced by a VM freeze to disk feature [comparable to what we are used to like other virtualizers] that gets the hooks dispatched?

That's good idea, but we don't have support for it just now.

@bnvk
Copy link

bnvk commented Mar 22, 2016

Maybe simply remove the button, but leave it in the context menu? Maybe also name it differently? But IMO "pause" is exactly what it does (not "suspend"). Or maybe remove it completely from Qubes Manager and leave only as command line option (I'm ok with that)?

Yep! I've never once pressed the Pause button. I have no idea what it does and no notifications have ever instructed me to use it. Hiding it in the existing GUI (and new Qubes Manager) sounds right choice to me!

@marmarek marmarek changed the title run suspend / resume scripts also on VM pause / resume Remove "pause VM" button from Qubes Manager Apr 4, 2016
@marmarek marmarek added C: manager/widget P: minor Priority: minor. The lowest priority, below "default." T: task Type: task. An action item that is neither a bug nor an enhancement. labels Apr 4, 2016
@marmarek marmarek added this to the Release 3.2 milestone Apr 4, 2016
@Rudd-O
Copy link

Rudd-O commented Jun 8, 2016

I use pause substantially.

Better document the appropriate use of the pause button on the tooltip, than to remove it.

@marmarek
Copy link
Member

marmarek commented Jun 8, 2016

There are multiple issues with pause functionality:

I think it is't mature enough to be exposed in Qubes Manager. But still should be available from command line interface. What do you think?

@Rudd-O
Copy link

Rudd-O commented Jun 8, 2016

Note these issues in the docs and in the tooltip, and then remove the
notes once the issues get fixed. In my humble opinion.

You can also demote the pausing functionality to an advanced mode, if
you so choose.

The problems with communicating with paused VMs (in my view the most
grave problem) should be solved by either notifying the user that the
communication tool is going to hang, or by making the tool fail
explicitly and notify the user.

Usually if you pause a VM there is a reason why you want to pause it,
and relegating it to a multicharacter command line type session is
probably not a good idea.

Rudd-O
http://rudd-o.com/

@tasket
Copy link

tasket commented Jun 13, 2016

Pause can be very useful to the right people. But I think the key issues here are getting proper feedback in the UI, and distinguishing the user's intent in pausing the vm (versus some automatic trigger of pause, like sleep, which implies automatic un-pause).

I think pause should be indicated in the titlebars of each window of a paused vm. Perhaps also add a dom0 mouseover tooltip for them. Not sure if that needs a new issue.

@andrewdavidwong
Copy link
Member

I think pause should be indicated in the titlebars of each window of a paused vm. Perhaps also add a dom0 mouseover tooltip for them. Not sure if that needs a new issue.

I like that idea. As for whether it should be filed under a separate issue, that depends on the outcome of this issue. If this issue turns out to be a UX redesign of the pause functionality, your comment belongs here (IMHO). If this issue remains about removing/demoting access to the pause function from/in Qubes Manager, then your idea should probably be filed as a separate issue.

@Rudd-O
Copy link

Rudd-O commented Jun 16, 2016

On 06/13/2016 11:03 PM, Andrew David Wong wrote:

I think pause should be indicated in the titlebars of each window
of a paused vm. Perhaps also add a dom0 mouseover tooltip for
them. Not sure if that needs a new issue.

I like that idea. As for whether it should be filed under a separate
issue, that depends on the outcome of this issue. If this issue turns
out to be a UX redesign of the pause functionality, your comment
belongs here (IMHO). If this issue remains about removing/demoting
access to the pause function from/in Qubes Manager, then your idea
should probably be filed as a separate issue.

An icon "pause" ( || ) in the titlebar with a tooltip saying "This VM is
paused. Check the Qubes manager to unpause it." or something of the sort?

Rudd-O
http://rudd-o.com/

@andrewdavidwong
Copy link
Member

There are many possibilities. Could be something simple like:

Unpaused title bar:

[untrusted] Some Website - Mozilla Firefox

Paused title bar:

[untrusted | *PAUSED*] Some Website - Mozilla Firefox

I also like your tooltip suggestion above, @Rudd-O. Created #2211 for it.

@marmarek marmarek modified the milestones: Release 4.0, Release 3.2 Nov 19, 2016
marmarta added a commit to marmarta/qubes-manager that referenced this issue Jul 12, 2018
Adds an explanatory (and slightly cautious, with a big EXPERIMENTAL
at the end) tooltip to the Pause action in Qube Manager.

references QubesOS/qubes-issues#1855
@marmarta
Copy link
Member

I've added a tooltip with explanation and warning (according to @andrewdavidwong's wording in #2211 ) - I think this one can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: manager/widget P: minor Priority: minor. The lowest priority, below "default." T: task Type: task. An action item that is neither a bug nor an enhancement.
Projects
None yet
Development

No branches or pull requests

7 participants