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

Usage of state.highstate wreaks havoc on user configurations #2740

Closed
tasket opened this Issue Apr 8, 2017 · 4 comments

Comments

Projects
None yet
4 participants
@tasket

tasket commented Apr 8, 2017

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

R3.2

Expected behavior:

Following config instructions which include execution of saltstack states should result only in the specific configuration task being acted upon.

Actual behavior:

User modifications across the system are suddenly and without warning re-configured!

Steps to reproduce the behavior:

Try the example salt configuration in https://www.qubes-os.org/doc/salt/
Enable state and execute qubesctl state.highstate

General notes:

There appear to be serious issues using saltstack in a PC context:

Changes users make after Qubes installation are often for functional or security goals. However, users will later encounter advice to enable features using qubesctl state.highstate which will have negative repercussions throughout the system!

For example, on my system a simple test of a new state/top pair resulted in:

  • Hide-usb-from-dom0 was automatically enabled, which would prevent my AEM boot process from working.
  • Grub attempted to install itself on a partition that doesn't exist.
  • Creation of a new sys-net netVM. I had switched to a netVM with a different name, and this automatic re-addition was flagged to run on startup. This would prevent my normal network config from working.
  • anon-whonix VM had its netvm setting changed back to a default value.

Recommendations:

  • Disable states after they have been used to initially configure the system.
  • Reconcile saltstack configuration with other Qubes configuration tools like anti-evil-maid-install.
  • Provide methods of triggering only individual states, and change documentation to reflect this (possibly recommending the user disable the state after they are finished using it).

Related issues:

#1983

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 8, 2017

Member

Disable states after they have been used to initially configure the system.

Already done: #2173

Provide methods of triggering only individual states,

qubesctl state.sls name-of-sls-file should do in theory, but it does not allow to select target (other than --all, --templates etc).

Member

marmarek commented Apr 8, 2017

Disable states after they have been used to initially configure the system.

Already done: #2173

Provide methods of triggering only individual states,

qubesctl state.sls name-of-sls-file should do in theory, but it does not allow to select target (other than --all, --templates etc).

@h01ger

This comment has been minimized.

Show comment
Hide comment
@h01ger

h01ger Apr 8, 2017

h01ger commented Apr 8, 2017

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 8, 2017

Member

The comment was about modifying salt modules, not leaving disabled after installation.

Member

marmarek commented Apr 8, 2017

The comment was about modifying salt modules, not leaving disabled after installation.

@tasket

This comment has been minimized.

Show comment
Hide comment
@tasket

tasket Apr 8, 2017

@marmarek Did I just not receive the update?

Also, there is documentation that instructs the user to enable top files, but doesn't instruct to disable them after use.

tasket commented Apr 8, 2017

@marmarek Did I just not receive the update?

Also, there is documentation that instructs the user to enable top files, but doesn't instruct to disable them after use.

@marmarek marmarek closed this Aug 8, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment