-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Expose a bunch of things in the Legacy SSH Store for Hydra #10748
Conversation
59883f3
to
1faed84
Compare
🎉 All dependencies have been resolved ! |
eb9e46a
to
e13f97b
Compare
a419248
to
123a813
Compare
Not until NixOS/nix#10748 lands Flake lock file updates: • Updated input 'nix': 'github:NixOS/nix/970942f45836172fda410a638853382952189eb9?narHash=sha256-jGFuyYKJjJZsBRoi7ZcaVKt1OYxusz/ld1HA7VD2w/0%3D' (2025-02-12) → 'github:NixOS/nix/123a8131685861e1959737617d8edaecac14833c?narHash=sha256-nEeRWZKpCvzDCeYH1xWYKkvqtSWOd%2BZtzwrrPy5%2BSvI%3D' (2025-02-14) • Updated input 'nix-eval-jobs': 'github:Ericson2314/nix-eval-jobs/5e27c2724a4b07862e7ff1a198aa2ed68dea3e2c?narHash=sha256-7xgSdKnQW11eWd59MnpUNS%2BgwgtOJH2ShzLwByev3rg%3D' (2025-02-14) → 'github:Ericson2314/nix-eval-jobs/de345eb4518d952c2d86261b270f2c31edecd3de?narHash=sha256-dNMJY6%2BG3PwE8lIAhwetPJdA2DxCEKRXPY/EtHmdDh4%3D' (2025-02-14)
In NixOS/nix#10748 it is extended with everything we need.
Not until NixOS/nix#10748 lands Flake lock file updates: • Updated input 'nix': 'github:NixOS/nix/970942f45836172fda410a638853382952189eb9?narHash=sha256-jGFuyYKJjJZsBRoi7ZcaVKt1OYxusz/ld1HA7VD2w/0%3D' (2025-02-12) → 'github:NixOS/nix/123a8131685861e1959737617d8edaecac14833c?narHash=sha256-nEeRWZKpCvzDCeYH1xWYKkvqtSWOd%2BZtzwrrPy5%2BSvI%3D' (2025-02-14) • Updated input 'nix-eval-jobs': 'github:Ericson2314/nix-eval-jobs/5e27c2724a4b07862e7ff1a198aa2ed68dea3e2c?narHash=sha256-7xgSdKnQW11eWd59MnpUNS%2BgwgtOJH2ShzLwByev3rg%3D' (2025-02-14) → 'github:Ericson2314/nix-eval-jobs/de345eb4518d952c2d86261b270f2c31edecd3de?narHash=sha256-dNMJY6%2BG3PwE8lIAhwetPJdA2DxCEKRXPY/EtHmdDh4%3D' (2025-02-14)
In NixOS/nix#10748 it is extended with everything we need.
@Ericson2314 Why could we not make the jump to |
@rickynils We could, but I like taking smaller steps so there is a chance to bisect if shit hits the fan :). In this case, switching over to using this makes exactly one algorithmic change, which is that the Hydra coordinator <-> Nix worker communication is no longer guaranteed to take place over a single ssh session, the pool mechanism could disconnect and reconnect. |
Also, I am somewhat paranoid because of all the discrepancies between the protocols as documented in https://discourse.nixos.org/t/developing-a-system-that-replaces-nix-remote-build/22388 . |
I added the backport label because I would like to try this out on Hydra before 2.27 --- It is a non-breaking extension to the C++ API, and makes no behavior change on the Nix side (whatever Hydra behavior change this enables, but not requires is separate), and thus IMO meets criteria to be safe to backport. |
123a813
to
7f04879
Compare
This a perfectly valid reason to do it the way you have suggested.
I'm not sure there are many real discrepancies, actually. The thing that is mentioned in the thread is the build settings propagation, and while that is technically correct, the settings that are propagated in the legacy protocol are so very few and arbitrary anyway. A better approach in that case would be to implement proper configuration for |
7f04879
to
5eade48
Compare
Not until NixOS/nix#10748 lands Flake lock file updates: • Updated input 'nix': 'github:NixOS/nix/970942f45836172fda410a638853382952189eb9?narHash=sha256-jGFuyYKJjJZsBRoi7ZcaVKt1OYxusz/ld1HA7VD2w/0%3D' (2025-02-12) → 'github:NixOS/nix/5eade4825221d3284fc6555cb20de2c7aa171d72?narHash=sha256-n5kdS1C24tlJxDV6Wm1iBlyvGk%2Bp0gMXRcWVCAipYLs%3D' (2025-02-14) • Updated input 'nix-eval-jobs': 'github:Ericson2314/nix-eval-jobs/5e27c2724a4b07862e7ff1a198aa2ed68dea3e2c?narHash=sha256-7xgSdKnQW11eWd59MnpUNS%2BgwgtOJH2ShzLwByev3rg%3D' (2025-02-14) → 'github:Ericson2314/nix-eval-jobs/de345eb4518d952c2d86261b270f2c31edecd3de?narHash=sha256-dNMJY6%2BG3PwE8lIAhwetPJdA2DxCEKRXPY/EtHmdDh4%3D' (2025-02-14)
In NixOS/nix#10748 it is extended with everything we need.
* Hands over the connection temporarily as source to the given | ||
* function. The function must not consume beyond the NAR; it can | ||
* not just blindly try to always read more bytes until it is | ||
* cut-off. |
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.
* cut-off. | |
* cut off. |
…0748 Expose a bunch of things in the Legacy SSH Store for Hydra (backport #10748)
In NixOS/nix#10748 it is extended with everything we need.
This is not as comprehensive as #10748, but I am also interested in figuring out whether all those additions are in fact necessary. This is bare minimum needed for NixOS/hydra#1445, which has notable gaps but nevertheless reimplements enough with `ssh-ng://` to past all tests. I would like to merge this change as definitely necessary, and unclear whether sufficient. Then I would iterate on the corresponding Hydra PR until it seems potentially correct, seeing what, if any, further Nix API changes are necessary.
In NixOS/nix#10748 it is extended with everything we need.
Motivation
This allows Hydra to directly use
LegacySSHStore
, moving towards getting it using the store abstraction.Context
This is used in NixOS/hydra#1444, which cannot be merged until this is merged. (And even then, only to the
nix-next
branch until there is a Nix release containing this.) See the green status on it and glorious net shorter diff for evidence of this PR's utility.Depends on #10749Priorities and Process
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.