Terminology: admin qube, AdminVM,

Is this related to klass AdminVM? Terminology overlap is getting annoying.

It is irrelevant as I see it. Because, @unman already provided here a solution for a goal, and as I understand it is: create AdminVM, give it a network access (at worst?), create qubes with that AdminVM, or set tags for existing as ā€œcreated-by-AdminVMā€ and set according policies and do whatever you want with them.

You can use them locally too, when in dom0. So, dom0 never touched externally, while the qubes are accessible.

Example of an AdminVM I am pretty regularly deploying is sys-gui-gpu, only locally though.

I apologize if I got the goal wrong.

Also, probably related

No, it isn’t, and there is not overlap.
An admin qube is any qube used for administration. It may also have
other properties. You control what is controlled using standard
policies. You can have one admin qube, dom0, or many. In the default
install dom0 is the only admin qube created. Other admin qubes can be
created from AppVMs or standalones, or could be disposables.

AdminVM is a specific klass, allocated to dom0.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

1 Like

I don’t think there is an established convention to call a qube that is a client of some Qubes OS admin API methods an ā€œadmin qubeā€. E.g. people usually don’t call an ā€œaudio VM/qubeā€ or a ā€œGUI domain/VM/qubeā€ an admin qube, even though they make admin API calls.

When the term admin qube is occasionally used in the issue tracker, it tends to be a synonym for AdminVM, with both referring to dom0. dom0 is of course unusual in that it’s both an admin API client and an admin API server (including policy evaluation) - it talks to itself when e.g. one of the qvm-something tools is run in dom0. I’d say this server side is what makes it an (or rather the) admin qube.

BTW this is also consistent with the Qubes Air blog post. It distinguishes an admin qube from a GUI qube, and only uses ā€œadmin qubesā€ in plural for the meta-system spanning multiple ā€œzonesā€, with one admin qube per zone and that admin qube being dom0 if the zone is based on Xen.

2 Likes

There is little overlap in this topic, but fepitre’s post referred to by corporateblush uses ā€œAdminVMā€ to refer to admin qube, and that is confusing.

1 Like

And that post links to the admin API introduction, which (predating the VM → qube terminology change) uses ā€œmanagement VMā€. Unfortunately, ā€œmanagement qubeā€ now seems to be commonly used in relation to Salt…

I guess they don’t call naming things one of the hardest problems in computer science for nothing.

2 Likes

How about ā€œadmin client qubeā€ as an unambiguous term? And ā€œadmin client VMā€ for traditionalists.

This would match the division between qubes-core-admin (containing the server side of the admin API, for dom0 only) and qubes-core-admin-client (containing the client side of the admin API, for dom0 or any other qube).

1 Like

Too true.

ā€œadminā€, ā€œmanagementā€, and my personal friend ā€œinterfaceā€, are all exquisitely overloaded with hordes of meaning(s), so they seem applicable to a whole host of senses. You can sometimes get away with it in an insiders-only environment. To outsiders it can quickly become exclusionary jargon…

1 Like

Jargon-ing while we still don’t know / aren’t sure is the goal reachable through AdminVM as per @fepitre’s post…

Great idea. If you or anybody else reading this is going to make a pr to glossary, could you please add the note clarifying ā€œAdminVMā€ term for admin qube?

All other types already have one, and you posted this half way through me making one. I was thinking about replacing ā€œpreviously knownā€ notes with something like ā€œalso can be referred to asā€. Clear distinction of what context the term is used in could be useful too, for example:

ā€œapp qubeā€ is the preferred term, but depending on the context in can also be referred to as:

  • AppVM in historic blog and forum posts, or more technical context when referring to qube class (sometimes spelled klass due to a technicality) used by qvm tools, qrexec policies, configuration management, etc.

another example with more terms:

ā€œdisposableā€ is the preferred term, but depending on the context in can also be referred to as:

  • DispVM in historic blog and forum posts, or more technical context when referring to qube class (sometimes spelled klass due to a technicality) used by qvm tools and qrexec policies, configuration management, etc.
  • @dispvm for new disposables in certain qrexec policies and admin API.

for admin qube:

admin client qube
A qube used for administering Qubes OS, running admin client software. In the default install, the only admin client qube is dom0, running qubes-core-admin-client software.

ā€œadmin client qubeā€ is the preferred term, but depending on the context in can also be referred to as:
-AdminVM in historic blog and forum posts.

warning: Note that AdminVM when referring to admin client qubes is not related to the AdminVM class (sometimes spelled klass due to a technicality) used by qvm tools.

Not sure what to do with the old ā€œadmin qubeā€ term and AdminVM class though. @rustybird’s argument about server side is very compelling but I don’t know whether actual implementation works that way or it just marks domain with id 0 as AdminVM.

1 Like

I am old school when was adopting the terms. But I remember huge discussions about the differences between AdminVM and dom0 at the time and that’s why I mentioned Qubes Air :wink:

This topic should be split, the last half being off-topic, but more important - because it’s important, so due to better visibility.

1 Like

AdminCVM so it is consistent with qubes-core-admin-client naming.

The AdminVM class is just hardcoded to ā€œdom0ā€.

IMO it’s okay to refer to dom0 as the AdminVM or the admin qube, but to be unambiguous I prefer to avoid those terms entirely and call it ā€œdom0ā€, as long as Qubes OS only supports Xen anyway.

You won’t be executing the qvm-foo or qubes-bar command in dom0 though, but it in the admin client qube. Then the command will make (often multiple) admin API calls to dom0.

So as a starting point you could simply try running the command in the qube while watching the dom0 journal. It should log a qrexec call getting rejected because there’s no policy allowing it yet.

Here on the forum, it looks like management qube/vm terms are almost entirely applied for users of admin API. Unman is particularly visible.

Much more recently than the 2020 post by @fepitre, those terms are used in the qubes-ansible documentation, referring to use of the ā€œadmin apiā€ to strictly delimit the authority of a qube which can perform some admin tasks, but without giving it full dom0 power. A good howto is there.

I believe management VM is useable in exactly the same manner with Salt, but it is confused by the choice to use the ā€œmanagement DVMā€ term for a disposable qube for salt formula execution outside of dom0 - a different function, normally.

Any change to use ā€œadmin client qubeā€ would be entirely misplaced. The only person for whom that qube would be a client is dom0 or its equvialent, except when it is dom0 doing the managing directly, when the meaning is completely lost.

I DO NOT want any of my users to even know that dom0 exists.
I DO want them to know that their qubes are managed, and if they are very good and careful then they might get to influence that management.

I think Qubes-OS needs a semiotician, before the terminology churn makes the documentation completely unusable.

Edit: Too many assertive statements… pls add several *** to indicate where it is IMHO.

1 Like

Again, like the majors are doing, retardizing users. Instead of educating them, toddlering them. But toddlers grow. And when toddlers are, parents can’t wait them to become grown-ups, because by default they’re messing things up.

Especially grown ups will start to rise up when not feeling free. Look at the Qubes Air and similar topics

So instead of retardizing them, educate’m while they’re in a brain-sponge phase. Better for all.

Good point, perhaps management VM should be in the glossary too.

I don’t fully understand what you mean here. ā€œAdmin client qubeā€ is a qube running admin client, multiple clients can coexist on the same Qubes OS system. dom0 is running both client(s) and servers. Why would it lose its meaning on dom0?

What do you mean by that? If a user knows that they are using a xen vm or a qube they can safely assume that dom0 exists, no?

This may all be true today, although I’m not even sure about the case where dom0 is managing things.

However, I think you may be considering all users to be people like you… or me.

What’s running, and where, is an implementation detail - it’s likely to be cryptic, confusing to many, and could even need to change in the future. If the terminology is only for devs and tinkerers then that’s fine, but imagine unwrapping the little quote above for a ā€œnormalā€ person. Clients, servers, and all that stuff - it is going to be noise to them.

What that qube is doing is ā€œmanagingā€ - it’s a qube that manages other qubes. It seems a much better and simpler way to explain it to a neophyte who just needs to get their job done. Maybe one day they might need to know they have multiple ones, or maybe they are just not interested.

(I guess ā€œAdministeringā€ might have done, but that’s cooked, it seems.)

A person whose job is firefox, libreoffice, and email, has no need to have even heard of xen, or dom0. I literally do not want to have to explain anything beyond

ā€œA qube is like a little computer inside your computer. You can do X, Y, Z from one qube to anotherā€

After the programs are in their qubes, and the user can move data from one to another, all the rest is implementation details, all the way down, and those make for bad terminology.

Can you suggest what I should hit them with to force them to learn things that are actually part of my job, and not theirs?

I might need an extra big one though, for when I de-retardize them about gate oxides and which dopants they need in their semiconductors…

:slight_smile:

Decades ago 1/3 of each of my MS Office course was spent on bringing disposed desktop, teaching them each hardware component basics holding it in their hands, then basics of Windows OS and Windows Explorer. The rest 2/3 was about Office itself and they already were relaxed to now familiar environment entering any Office app.

Till today, when ever we meet by accident or so, they still are calling me ā€œprofessorā€ (when I actually am not) telling me how grateful they were to me.

I am writing this not to discuss with you, so please ignore it again, but as a potential reference to what should newbies asked for when paying to learn, while reading this topic.

The answer’s above. Try it for once, you might be surprised with the effects and reactions, once everything sets down for them after processing time. Respect their intelligence and help them in their absolute but natural ignorance.