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

'qubesdb-read /qubes-vm-type' should not output 'DisposableVM' #1935

Closed
adrelanos opened this issue Apr 26, 2016 · 9 comments
Closed

'qubesdb-read /qubes-vm-type' should not output 'DisposableVM' #1935

adrelanos opened this issue Apr 26, 2016 · 9 comments
Labels
C: core P: minor Priority: minor. The lowest priority, below "default." T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.

Comments

@adrelanos
Copy link
Member

Qubes OS version (e.g., R3.1):

R3.1

Affected TemplateVMs (e.g., fedora-23, if applicable):

Probably all.


Expected behavior:

qubesdb-read /qubes-vm-type should output either:
AppVM, ProxyVM, NetVM, TemplateVM'

Actual behavior:

qubesdb-read /qubes-vm-type does output either:
AppVM, ProxyVM, NetVM, TemplateVM, DisposableVM

Steps to reproduce the behavior:

Run qubesdb-read /qubes-vm-type in a DisposableVM.

General notes:

qubesdb-read /qubes-vm-type should not output DisposableVM. This is what qubesdb-read /qubes-vm-persistence is for, which outputs either full (TemplateVM or Standalone), rw-only (TemplateBasedVM) or none (DispVM). qubes-vm-type is being overloaded. There could be in future a disposable ProxyVM. At that point, there would be two ways to find out it's a disposable VM, but no way (using qubesdb-read) to find out it's a ProxyVM.

@andrewdavidwong andrewdavidwong added T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. C: core P: minor Priority: minor. The lowest priority, below "default." labels Apr 26, 2016
@marmarek
Copy link
Member

This is for compatibility with configuration/scripts created before /qubes-vm-persistence was introduced. So, I'd call it a feature request, not a bug. For Qubes 3.2.

@marmarek marmarek added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. and removed T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels May 12, 2016
@marmarek marmarek added this to the Release 3.2 milestone May 12, 2016
@marmarek
Copy link
Member

And BTW - the case when it will be a problem with be possible only in Qubes 4.0 or later. Before that we don't support disposable ProxyVMs.

@marmarek
Copy link
Member

In the future (Qubes 4.0), there will be no separate type ProxyVM or NetVM - it will be just VM property (provides_network). How it should be handled there? I guess possible values for qubes-vm-type reduces to AppVM and TemplateVM. Any better idea?

@andrewdavidwong
Copy link
Member

I think @adrelanos was right to say that TemplateBasedVM is a more precise descriptor in this case. AppVM really just means "a VM which is meant for running apps." But that could be a TemplateBasedVM or a StandaloneVM, so it's ambiguous. By contrast, TemplateBasedVM unambiguously means "a VM based on a TemplateVM."

@marmarek
Copy link
Member

TemplateBasedVM and StandaloneVM serve the same purpose - running apps. Differs only in persistence (rw-only vs full).

@marmarek
Copy link
Member

This somehow diverge from class names in core scripts - where (in Qubes 4.0) the only think distinguishing classes is persistence, not purpose. There is TemplateVM, StandaloneVM, DisposableVM etc. Whether VM provides network to other VMs is just a property (provides_network). Also running as HVM is just a property (hvm).

@marmarek
Copy link
Member

@adrelanos does it block any Whonix-related task? If not, I'd postpone it until Qubes 4.0, where VM types will be greatly simplified.

@adrelanos
Copy link
Member Author

Marek Marczykowski-Górecki:

@adrelanos does it block any Whonix-related task? If not, I'd postpone it until Qubes 4.0, where VM types will be greatly simplified.

Qubes 4.0 is fine. (I was just forward thinking making a disposable
sys-whonix possible.)

@marmarek marmarek modified the milestones: Release 4.0, Release 3.2 May 15, 2016
@adrelanos
Copy link
Member Author

adrelanos commented Jun 15, 2018

Disp3030:

qubesdb-read /qubes-vm-type shows AppVM.
qubesdb-read /qubes-vm-persistence shows rw-only (#4007)
qubesdb-read /type shows DispVM.

whonix-ws-14-dvm:

qubesdb-read /qubes-vm-type shows AppVM.
qubesdb-read /qubes-vm-persistence shows rw-only
qubesdb-read /type shows AppVM.

Therefore we can consider this issue solved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: core P: minor Priority: minor. The lowest priority, below "default." T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Projects
None yet
Development

No branches or pull requests

3 participants