-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Windows minion re-authenticates for every job #35890
Comments
Does this by chance change if you set |
Indeed it does, thanks a lot! Are there any caveats to that or a valid |
I have already found out that "multiprocessing: False" is almost fatal with saltutil.signal_job. When I send a signal 15 to a job it seems to kill a part of the minion, which amazingly recovers but you never get a result from that saltutil.signal_job and the minion behaves as if it was restarted. I can see a possible reason for that as "multiprocessing: False" makes each job run in a thread, which means the same PID. Is there a way to stop the minion from re-authenticating with the default "multiprocessing: True"? Or maybe a way to make saltutil.signal_job send a signal to a thread when miltiprocessing is False? I'm not sure if that is possible in Windows. Linux seems to have a pthread_kill() function. |
ping @cachedout or @twangboy can either of you guys answer @szjur 's questions about multiprocessing and saltutil.signal_job ? I'm a little fuzzy in this area. Thanks |
Turning multiprocessing off destroys job handling in Windows for some reason. As far as acceptance wait time.... @UtahDave |
My understanding is threading in python is not real threading (i.e. it does not use pthread), it's time-sharing, so you cannot have more than one line of python code running at the same time. However, if you call an external program python continues while the external program continues as well. My understanding is Variables are 100% shared in Threaded Python, so any code which sets a global var, the global var will stay around (unlike multiprocessor). What I have noticed is that the main salt minion process, import modules, set memory/variables, these are allocated forever. e.g. cmdmod So "multiprocessing: False" would be a large change unless Salt-Minion still forks at least once for the execution of each incoming request. Include being hit by memory leaks? I believe IronPython and Jython have proper threading. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If this issue is closed prematurely, please leave a comment and we will gladly reopen the issue. |
I think this is still a problem |
Thank you for updating this issue. It is no longer marked as stale. |
This is very much still a problem. |
@twangboy any idea on this? My master cannot currently handle the auth flood that it gets every time I execute a command on a large number of Windows minions. I cannot find in the code anywhere that would tell Windows minions to behave differently for auth. I even upgraded to the latest minions and they still have the issue. Here is an excerpt from my garbage logs:
|
Additionally, it should be noted that setting "multiprocessing: False" does not have an effect. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If this issue is closed prematurely, please leave a comment and we will gladly reopen the issue. |
Thank you for updating this issue. It is no longer marked as stale. |
I have this on a meeting agenda to discuss and attempt to move it forward, I will update the ticket after this week with details. |
Sounds good - thanks! |
@cmcmarrow assigning you this bug, can you please give priority and severity labels? |
I don't see auth messages in the minion debug log anymore on 3006.2. I believe this is fixed. |
Description of Issue/Question
I'm not sure whether it is the same issue as #30411. I observed that Windows minions (2016.3.2) seem to authenticate for every job they process. Linux minions (for RHEL 6) of the same version work fine.
So after creating a job for a Windows minion, I can see salt/auth events on the master's event bus and in the syndic log I can see:
Then in the minion's log in debug mode there is:
That obviously can cause massive load on the syndics.
Setup
2 masters, 2 syndics, zeromq filtering enabled. Some Windows minions, some Linux ones.
Steps to Reproduce Issue
Execute any command on the Windows minion and observe the event bus on the master and /var/log/salt/master for minion authentication messages. Compare the same for a Linux minion.
Versions Report
2016.3.2
The text was updated successfully, but these errors were encountered: