| 8 Mar 2022 |
| @finn:tomesh.net joined the room. | 16:16:17 |
Zhaofeng Li | In reply to @winterqt:nixos.dev unstable manual is 404ing 😕
was it moved to 0.3 (instead of unstable)? Oops, my bad. I added linkcheck as an additional mdbook output, and that changed the directory structure. I just pushed the fix and it should be live soon. Thanks for the heads up! | 18:29:15 |
@github:maunium.net | [zhaofengli/colmena] zhaofengli published v0.2.2: v0.2.2 - Fix `apply-local` on nixos-unstable | 19:09:12 |
| 11 Mar 2022 |
@github:maunium.net | [zhaofengli/colmena] scvalex opened
issue
#64: Add plan/diff command
A plan or diff-current-to-next command would be useful to have.
We can get something pretty close already by combining colmena and nix-diff:
$ colmena build --on laptop
[INFO ] Using configuration: ./deployment.nix
[INFO ] Enumerating nodes...
[INFO ] Selected 1 out of 5 hosts.
✅ 11s All done!
laptop ✅ 10s Evaluated laptop
laptop ✅ 1s Built "/nix/store/r829pyjngqxmn7k1j9j39w3rcaarg2d1-nixos-system-laptop-21.11pre-git"
$ nix-diff --color always --character-oriented /var/run/current-system /nix/store/r829pyjngqxmn7k1j9j39w3rcaarg2d1-nixos-system-laptop-21.11pre-git | less -R
There are a few problems with the above:
nix-diff is a separate package to install,
- the diff isn't great (the full diff contains the entirety of
options.xml and is 26MB in size); that said, i think that if we diffed just a few specific things like system-path, that would be useful,
- the diff requires the previous system derivation to be available locally.
If you're interested in a feature like this, I'd be up for rewriting nix-diff as a rust library and trying to integrate it into colmena.
| 11:28:18 |
| @finn:tomesh.net left the room. | 20:08:50 |
| 13 Mar 2022 |
Winter (she/her) | Does Colmena eval all nodes even when doing --on ...? | 03:02:17 |
Winter (she/her) | I ask since it's throwing an error in a configuration for a host that I didn't specify -- it doesn't try to deploy to it, though. | 03:03:18 |
Zhaofeng Li | It eval all nodes' deployment config only if you match against tags like --on @some-tag. If you just match against names, it will just evaluate the matched attributes. | 03:04:43 |
Zhaofeng Li | * It will eval all nodes' `deployment` config only if you match against tags like `--on @some-tag`. If you just match against names, it will just evaluate the matched attributes. | 03:04:55 |
Winter (she/her) | yeah that seems to be broken 😅 | 03:11:43 |
Winter (she/her) | will file a proper bug report | 03:11:48 |
Zhaofeng Li | In reply to @winterqt:nixos.dev yeah that seems to be broken 😅 Oh right, are you using 0.2 or the unstable version? That was done post-release as part of the deployment logic rewrite | 03:14:11 |
Winter (she/her) | I'm using 2b281286d00ac9a0ae6f671b3b9b6db27b9e0936 | 03:15:25 |
Zhaofeng Li | Hmm, then it should have been there. Probably some bug then | 03:17:27 |
Winter (she/her) | want me to file a proper bug report | 03:17:36 |
Zhaofeng Li | That would be great, with a small hive.nix/flake.nix that can trigger this 👍 | 03:21:23 |
| 14 Mar 2022 |
Chinchilla Wetreat | How can I deploy to a host with no internet access (or working name resolution)? Builds fail when the remote host tries to download from the the nixos cache. I'd like to still be able to use the cache but download it from the build machine instead of target host. | 01:34:34 |
Chinchilla Wetreat | * How can I deploy to a host with no internet access (or working name resolution)? Builds fail when the remote host tries to download from the the nixos cache. I'd like to still be able to use the cache but download it from the build machine instead of target host if that's reasonable. | 01:34:46 |
Zhaofeng Li | In reply to @cw:kernelpanic.cafe How can I deploy to a host with no internet access (or working name resolution)? Builds fail when the remote host tries to download from the the nixos cache. I'd like to still be able to use the cache but download it from the build machine instead of target host if that's reasonable. --no-substitutes which will probably be renamed in the future (https://github.com/zhaofengli/colmena/issues/59) | 01:36:52 |
Chinchilla Wetreat | In reply to @zhaofeng:zhaofeng.li
--no-substitutes which will probably be renamed in the future (https://github.com/zhaofengli/colmena/issues/59) syntaxerror ✅ 4m Activation successful
Thank you very much!
| 01:45:50 |
Chinchilla Wetreat | I should have asked this a long time ago. | 01:46:09 |
Buckley | I just disable the binary caches in the configs of machines with no internet. Less typing | 04:38:09 |
Chinchilla Wetreat | In reply to @buckley310:matrix.org I just disable the binary caches in the configs of machines with no internet. Less typing Sometimes the lack of internet isn't planned, heh | 05:42:08 |
Buckley | lol | 13:45:46 |
| 15 Mar 2022 |
Winter (she/her) | So when using buildOnTarget, what decides if the drv should be built and copied on the host or built on the target? I know most do the latter, but things such as a source folder (from a flake input) have definitely gotten copied before, so... | 19:48:55 |
| 16 Mar 2022 |
Zhaofeng Li | In reply to @winterqt:nixos.dev So when using buildOnTarget, what decides if the drv should be built and copied on the host or built on the target? I know most do the latter, but things such as a source folder (from a flake input) have definitely gotten copied before, so... Oops, missed this one. I think sources (fixed hash paths produced by addToStore or similar) are always directly copied, and because Colmena passes --include-outputs when copying the .drvs existing outputs will be copied as well | 21:23:16 |
| 17 Mar 2022 |
@github:maunium.net | [zhaofengli/colmena] xddxdd opened
issue
#65: Colmena build is stuck unless "-v" argument is present
When I run colmena build --on some-host, colmena will be stuck in the "Evaluating" step and seemingly never ends. When I run colmena build --on some-host -v (note the added -v argument), the same build continues normally and finishes within one minute.
Example output:
# Time 00:25:20
$ colmena build --on some-host
warning: Git tree '/path/to/my/nixos-config' is dirty
[INFO ] Using flake: git+file:///path/to/my/nixos-config
[INFO ] Enumerating nodes...
warning: Git tree '/path/to/my/nixos-config' is dirty
warning: Git tree '/path/to/my/nixos-config' is dirty
warning: Git tree '/path/to/my/nixos-config' is dirty
[INFO ] Selected 1 out of 13 hosts.
🕓 54s 1 running
# I pressed Ctrl-C after ~1min, but it will run forever if I didn't do that
# Time 00:26:19
$ colmena build --on some-host -v
warning: Git tree '/path/to/my/nixos-config' is dirty
[INFO ] Using flake: git+file:///path/to/my/nixos-config
[INFO ] Enumerating nodes...
warning: Git tree '/path/to/my/nixos-config' is dirty
warning: Git tree '/path/to/my/nixos-config' is dirty
warning: Git tree '/path/to/my/nixos-config' is dirty
[INFO ] Selected 1 out of 13 hosts.
some-host | Evaluating some-host
some-host | warning: Git tree '/path/to/my/nixos-config' is dirty
some-host | Evaluated some-host
some-host | Building some-host
some-host | /nix/store/xl1n3k4vbd8aa20kgs6nx10wyyzmbiij-nixos-system-some-host-22.05pre-git
some-host | Built "/nix/store/xl1n3k4vbd8aa20kgs6nx10wyyzmbiij-nixos-system-some-host-22.05pre-git"
| All done!
# Time 00:26:36, the same job is done in 20 seconds
When colmena is stuck, it seems to be waiting for a defunct nix-store process:
$ ps -aux
# ...
lantian 811648 0.1 0.0 1225260 6016 pts/1 S<l+ 00:25 0:00 colmena build --on some-host
lantian 847160 0.0 0.0 0 0 pts/1 Z<+ 00:25 0:00 [nix-store] <defunct>
Bisect shows this issue is introduced in https://github.com/zhaofengli/colmena/commit/26b2203da9a8a0f7913c61de3343430da66579b5.
I'm on latest nixos-unstable, and here's my nix-info report:
- system: `"x86_64-linux"`
- host os: `Linux 5.16.13-xanmod1-lantian, NixOS, 22.05 (Quokka)`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.8.0pre20220311_d532269`
- nixpkgs: `/etc/nix/inputs/nixpkgs`
| 05:38:05 |
@github:maunium.net | [zhaofengli/colmena] zhaofengli closed
issue
#65: Colmena build is stuck unless "-v" argument is present
| 06:34:24 |
| 20 Mar 2022 |
Winter (she/her) | I wish there was a way we could parallelize the derivation copy step for buildOnTarget, this takes ages on large upgrades >.< | 05:04:10 |
Winter (she/her) | especially with node packages 😅 | 05:04:33 |