Open tsaridas opened 2 years ago
Can you provide a full reproduction and version report as requested by the issue template?
Can you provide a full reproduction and version report as requested by the issue template?
updated although not necessary imo.
What is the error it returns? Is there some logging from the minion?
What is the error it returns? Is there some logging from the minion?
There is no errors (exceptions) on the minion logs as far as I can see except the command that failed and returns an error code of 2.
I believe you might not have understood the issue here.
The command that is supposed to fail returns as successful (or via versa) on the salt master and its probably because the __context__ on the minion is being overwritten by one of the commands that was successful.
Please try to understand what the two while loops are doing and try to run then multiple times ( different windows ) on the same master.
So... I just spent a bunch of time digging into this on today's Test Clinic and I have way more questions than answers :sweat_smile:
The answers that I have:
minion_instance.functions.pack["__context__"]
is missing. Well, everything in it is missing. Typically it will contain {"retcode": 2}
. this problem can be pretty easily duplicated:
echo "multiprocessing: False" >> /etc/salt/minion salt-minion -d for i in {1..20}; do salt saltdev cmd.run "dir blah-$(date +%s)" 2>/dev/null >/dev/null && echo "oops" & done
(may need to tweak 20 up or it might exhibit at lower numbers, depending on your system)
The questions I have:
There are probably some other ones that I've forgotten by now, but... yeah something is quite strange here :grimacing:
Description When configuration option multiprocessing is set to False the minion may return an error code which is wrong when multiple commands are being ran. I assume this is because __context__ is being overwritten by another running command.
The reason multiprocessing is useful in windows is due to the fact that the agent tries to authenticate every time it returns the result.
Setup configure minion with multiprocessing: False
Please be as specific as possible and give set-up details.
Steps to Reproduce the behavior Run the below commands multiple times on a salt master (10 times (5-5) should be enough to reproduce quickly)
The return of the looks should look like this when it fails
The minion log looks normal and has the actual results of the commands being sent.
Expected behavior The minion should return the same error code as the command that was ran.
Screenshots
Versions Report
highest version tested is 3003.3 lowest version tested is 3000.9
Additional context I believe the multiprocessing config option should be removed until this issue is fixed.