Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upConsider to make (some of) our default Salt formulas oneshot instead of permanent #2173
Comments
rootkovska
added
bug
P: major
C: mgmt
labels
Jul 14, 2016
rootkovska
added this to the Release 3.0 updates milestone
Jul 14, 2016
marmarek
modified the milestones:
Release 3.2,
Release 3.0 updates
Jul 14, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 14, 2016
Member
We can simply disable them after applying in firstboot (by appropriate qubesctl top.disable).
Or even apply them with state.sls instead of enabling them and calling state.highstate, but this might get more complex when in-VM configuration will be involved (which isn't in firstboot yet).
Other ideas like having modules being "oneshot" itself seems fundamentally wrong, because that would negate declarative approach (would result in "do X", instead of "have system in state X").
|
We can simply disable them after applying in firstboot (by appropriate Other ideas like having modules being "oneshot" itself seems fundamentally wrong, because that would negate declarative approach (would result in "do X", instead of "have system in state X"). |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rootkovska
Jul 16, 2016
Member
Yeah, top.disable afer first application sounds good. Just: how we gonna now when to disable it? So that we don't do that too early?
|
Yeah, top.disable afer first application sounds good. Just: how we gonna now when to disable it? So that we don't do that too early? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 16, 2016
Member
Just: how we gonna now when to disable it?
You've said this: after first application (qubesctl state.highstate run).
You've said this: after first application ( |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rootkovska
Jul 16, 2016
Member
On Sat, Jul 16, 2016 at 06:34:58AM -0700, Marek Marczykowski-Górecki wrote:
Just: how we gonna now when to disable it?
You've said this: after first application (
qubesctl state.highstaterun).
Ok, nevermind, I forgot this command was synchronous. So, yeah, no problem.
|
On Sat, Jul 16, 2016 at 06:34:58AM -0700, Marek Marczykowski-Górecki wrote:
Ok, nevermind, I forgot this command was synchronous. So, yeah, no problem. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 16, 2016
Member
Ideally we should write the states the way to not interfere with later
user changes - for example instead of overriding PCI devices list, state
should only ensure that particular devices are assigned, but not remove
others.
But it's too late to have it for Qubes 3.2 (our current salt module do
not support this).
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Ideally we should write the states the way to not interfere with later But it's too late to have it for Qubes 3.2 (our current salt module do Best Regards, |
marmarek
closed this
in
marmarek/qubes-installer-qubes-os@d8fab04
Jul 19, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 19, 2016
Member
Automated announcement from builder-github
The package pykickstart-2.13-3.fc23 has been pushed to the r3.2 testing repository for dom0.
To test this update, please install it with the following command:
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing
|
Automated announcement from builder-github The package
|
marmarek
added
the
r3.2-dom0-cur-test
label
Jul 19, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 28, 2016
Member
Automated announcement from builder-github
The package pykickstart-2.13-3.fc23 has been pushed to the r3.2 stable repository for dom0.
To install this update, please use the standard update command:
sudo qubes-dom0-update
Or update dom0 via Qubes Manager.
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
rootkovska commentedJul 14, 2016
E.g.
sys-net-with-usb.slsdefines the default Net/USB VM in the following way:This means the list of PCI devices is strictly defined. Now, imagine a user would like to add an additional PCI devices to be also handled by this VM (a typical example for most laptops would be an SD card reader, which often is exposed as a PCIe device). Nothing prevents the user from doing that. However, once this is done, the execution of
highstateaction would always result in an error, because Salt would detect the VM has a different property (i.e. a different list of PCI devs), and would attempt to correct this, but qvm-pci would, of course, fail, because the VM would be running.Even more problematic, however, this would be if the VM was not running -- in that case the Salt stack would silently override the user's decision to have this particular additional device sandboxed.
I think most (all) states relating to the creation of VMs, especially by firstboot, should be oneshot. This is unlike some other states, such as e.g. for keeping the system up to date.