> In my experience, most users are able to get a grip on using salt fairly 
> quickly

I suspect you have a biased sample or that said users are not
experimenting as heavily as I am. But I am not experimenting that
heavily: I'm doing things like trying to copy files with files.recurse,
and change file_roots to a directory under /home/user.

> It would help if you explained what the source of your frustration is,
> and so what could be improved.

Firstly, there are some Qubes issues, such as files.recurse permission
copy and changing file_roots to somewhere outside of /srv not being
supported. But the main issue is the error messages. As Marek has also
experienced, often when SALT fails, no error message is displayed. When
I did get a stack trace, it was often followed by "During handling of
the above exception, another exception occurred".

As for what could be improved with Qubes, I think we have a lot of
things going on that don't need to be going on and it causes confusion.
Some super simple features are, IMO, obfuscated. For example, to enable a
top file, you just drop it (or a link to it) in /srv/salt/_tops/base or
/srv/salt/_tops/user. To add user states, you simply drop them in
/srv/user_salt. That's all great! But then instead of just using those,
we have top.enable and state.sls qubes.user-dirs. Those two commands
together, along with issue #9885 caused some people, myself included
initially, to think that user_dirs should be enabled.

The addition of SALT environments, along with how they are set up to
work with Qubes and the lack of documentation about such, is also
confusing. I would expect if we have two different environments, that
they would be totally separate and that adding saltenv=user would run
only the user states, saltenv=base would run only the base states, etc.
In reality, it seems that running all envs and running with saltenv=base
will both pull in user SALT states enabled by top.enable but not user
SALT states defined in /srv/user_salt/top.sls, whereas running with
saltenv=user will only look at user's top.sls file, but not the user
states enabled by top.enable.

It seems that because /srv/salt/top.sls pulls in files from
/srv/user_salt/, the environments get mixed and we end up with issues
like #9916 where modifying the user env causes the base env to fail with
error 20 and no error message. I suspect its because of the same error as
in #9985, but its hard to tell because there's no error message.

Another random issue is that top.disable <state that does not exist>
throws a stack trace. It even sometimes throws a stack trace when the
state does exist. Issue #9915. 

The real question though is should developers target Ansible? Why keep
targeting SALT if we are hoping to slowly phase it out? Or is the Qubes'
team of two minds as to whether we're moving to Ansible or not and want
to try it out a bit before committing?


 #9885: https://github.com/QubesOS/qubes-issues/issues/9885
 #9915: https://github.com/QubesOS/qubes-issues/issues/9915
 #9916: https://github.com/QubesOS/qubes-issues/issues/9916

-- 

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/qubes-devel/87bjsihh41.fsf%40zazbrown.com.

Reply via email to