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 upsalt-minion fails to start, claims ctrl-C received #3412
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
Jan 24, 2013
What would be the disadvantage of leaving verify_env at it's default? I also use tmpfs's and clearly it is a problem to combine that with verify_env: off, so I'm thinking one should not do that in this case.
Agreed it would be technically more correct to apply more fine-grained directory/permission enforcement, but without it causing a problem it's hard to justify a change.
ghost
commented
Jan 24, 2013
|
What would be the disadvantage of leaving verify_env at it's default? I also use tmpfs's and clearly it is a problem to combine that with Agreed it would be technically more correct to apply more fine-grained directory/permission enforcement, but without it causing a problem it's hard to justify a change. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
madduck
Jan 24, 2013
Contributor
What would be the disadvantage of leaving verify_env at it's
default?
No disadvantage, really, except it feels like a hack to me, and it
shouldn't be necessary. No configuration setting should exist to
disable the ad-hoc creation of temporary, run-time directories and
files in /var/run because Salt will simply fail to work without
them.
Whether it is necessary to check/enforce/fix permissions on startup
of a software depends on whether it can be expected that something
changes those permissions behind the admin's back. I hope that no
users of Salt are willingly dealing with systems like that and
contend themselves with having verify_env fix it, rather than
solving the root of the problem.
No disadvantage, really, except it feels like a hack to me, and it Whether it is necessary to check/enforce/fix permissions on startup |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
Jan 24, 2013
Essentially the functionality you seek is already there. Salt does setup it's directories and permissions, and verify_env is a switch we have given the user to disable that. the term 'configuration' in the description of what verify_env does could probably say 'run-time directories' instead to be clearer.
The option was added at a time when Salt was struggling to 'get it right', and there are still some run-time locations being updated. The option should probably be removed from the user interface --that's basically what you are saying isn't it @madduck?
ghost
commented
Jan 24, 2013
|
Essentially the functionality you seek is already there. Salt does setup it's directories and permissions, and verify_env is a switch we have given the user to disable that. the term 'configuration' in the description of what verify_env does could probably say 'run-time directories' instead to be clearer. The option was added at a time when Salt was struggling to 'get it right', and there are still some run-time locations being updated. The option should probably be removed from the user interface --that's basically what you are saying isn't it @madduck? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
madduck
Jan 25, 2013
Contributor
Essentially the functionality you seek is already there. Salt does
setup it's directories and permissions, and verify_env is a switch
we have given the user to disable that. the term 'configuration'
in the description of what verify_env does could probably say
'run-time directories' instead to be clearer.
Okay, then let me point at it from a different direction: I do not
want Salt to mess with the permissions in /etc. In my world (and one
of the main reasons for Debian) is that /etc is sysadmin-domain and
nothing there must ever be changed implicitly.
Okay, then let me point at it from a different direction: I do not |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
Jan 25, 2013
Maybe we should both 1) remove the option and 2) change what it does so that /etc is only setup when the package is installed (it is in my package)
@thatch45 are we at a point where we can remove /etc from the scope of what verify_env does? The package installation does set that part up. /var is left for Salt to handle at run-time.
ghost
commented
Jan 25, 2013
|
Maybe we should both 1) remove the option and 2) change what it does so that /etc is only setup when the package is installed (it is in my package) @thatch45 are we at a point where we can remove /etc from the scope of what |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
Jan 25, 2013
( pardon me @thatch45 I misread ssiue #3396 )
FWIW it is only the PKI dir that is affected by verify_env in /etc, AFAICS. I sympathize with you about not having that under /var, but I'm glad about that because I also use a tmpfs there.
As a work-around you can set your own pki_dir to live in /var someplace and that should keep verify_env out of /etc for you.
ghost
commented
Jan 25, 2013
|
( pardon me @thatch45 I misread ssiue #3396 ) FWIW it is only the PKI dir that is affected by As a work-around you can set your own pki_dir to live in /var someplace and that should keep |
ghost
closed this
Jan 25, 2013
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
madduck
Jan 25, 2013
Contributor
Maybe we should both 1) remove the option and 2) change what it
does so that /etc is only setup when the package is installed (it
is in my package)
That sounds good. It is also standard on Unix that software
installed from source requires the admin to set up configuration
manually, while packaging distros do it for you.
That sounds good. It is also standard on Unix that software |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
madduck
Jan 25, 2013
Contributor
Good to know about /etc/salt/pki, that wasn't clear to me. Sorry.
I am reopening this issue because I think the error handling needs work.
|
Good to know about I am reopening this issue because I think the error handling needs work. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Except I don't know how to reopen on GitHub. Can you please? |
SEJeff
reopened this
Jan 25, 2013
thatch45
closed this
in
917c36a
Jan 25, 2013
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
thatch45
Jan 25, 2013
Member
The problem is that @s0undt3ch went finally crazy and this is causing real errors to not float up to the display,making it VERY DIFFICULT to discover the real issue, I am sure there is a very valid exception down here that we need to weed out
|
The problem is that @s0undt3ch went finally crazy and this is causing real errors to not float up to the display,making it VERY DIFFICULT to discover the real issue, I am sure there is a very valid exception down here that we need to weed out |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ghost
commented
Jan 25, 2013
|
wow. sorry to shut you out too soon, @madduck --my bad. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
/me hides after blushing |
madduck commentedJan 23, 2013
There's a problem with error handling in salt-minion:
However, I never touched ctrl-c!
Using strace, I found that this is due to salt-minion unable to bind to the
minion socket:
This is due to
verify_env==Falseand/var/runbeing a tmpfs.I appreciate that Salt let's me turn
verify_envoff, because quite frankly,my systems don't need it as nothing would ever change the permissions of the
configuration directories.
Moreover, the docs say that
virtual_envis to "Verify and set permissions onconfiguration directories at startup".
/var/run/salt/minionis nota configuration directory, but a dynamic run-time directory. Salt should
always create it if it isn't present.
And Salt should not claim that ctrl-c was hit when it falls over a problem.