-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
salt: Prefer to load Nix libcrypto #33971
Conversation
Prefer to load the static Nix version, but still fallback to the normal loading pathway if needed. Being more aggressive about using the Nix dependency improves stability and means Salt works more often, namely in cases where find_library/LoadLibrary don't work even though we have the Nix libcrypto available. We still need to keep the fallback for usage with salt-ssh.
While I'm all for this patch, I still don't like that master Salt update, even without version bump, (Nix Salt) can cause minion side breakages (when using Nix minion Salt). This probably doesn't happen often because of delayed garbage collection on minions, but if minions remove garbage ASAP, the breakage threat is real. Also, now I think this isn't Salt issue (Salt can compare library versions for integrity check), and it isn't Nix issue (it does it's job - perfect dependency specification). The patch in #33972 looks interesting, but which |
|
@FRidh there is hardcode |
I don't see a good way to have Salt copy over the whole libcrypto closure, since the target machine may have a different architecture, so I thnk it's reasonable to fallback to impure libcrypto on the target. @danbst agreed that this patch isn't perfect, but maybe we should just say it doesn't make sense to use salt-ssh to minions with Nix Salt already installed since it reduces purity? Or maybe extend upstream Salt to learn how to re-use an existing Salt installation, I'll need to double-check which version of libcrypto #33972 returns (build closure or runtime libcrypto), but I can say it's one that seems to work for me :) |
I'm talking about setup when Nix Salt master makes commands via But I'm all for this patch, it is simpler than my previous one. |
Thanks for the explanation. I don't know what Salt is, but considering this is quite specific/special behavior, I think this should be documented in the expression. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See @FRidh's comments
What is the status of this pull request? |
Closing due to lack of activity, feel free to re-open this if needed. |
Prefer to load the static Nix version,
but still fallback to the normal loading pathway if needed.
Being more aggressive about using the Nix dependency
improves stability and means Salt works more often,
namely in cases where find_library/LoadLibrary don't work
even though we have the Nix libcrypto available.
We still need to keep the fallback for usage with salt-ssh.
Motivation for this change
Better fix than what was in #29020.
See also #29723 cc @danbst.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)