| 18 Sep 2022 |
farcaller | In reply to @palo:xaos.space
https://colmena.cli.rs/unstable/reference/meta.html#specialargs and https://github.com/nix-community/nixos-generators/blob/master/flake.nix#L29 whelp, someone didn’t RTFM to the end. Thanks! | 07:33:44 |
@ronnypfannschmidt:matrix.org | Are there any plans to support deployment of nixosSystem declarations in a flake? | 11:34:26 |
| Chinchilla Optional left the room. | 19:43:39 |
Zhaofeng Li | In reply to @ronnypfannschmidt:matrix.org Are there any plans to support deployment of nixosSystem declarations in a flake? Not officially, but there are wrappers that do that. I've posted a longer explanation here. Luckily, with the latest changes (more on this in a bit), you can either do it the other way (generate nixosConfigurations from Colmena configurations with colmena.lib.makeHive) or replace the evaluation logic in the colmenaHive output. | 23:50:00 |
Zhaofeng Li | A couple updates:
- More work was done on separating the evaluation logic from the deployment logic, with the new
colmenaHive output being the integration point that ties the two halves together. Colmena can now deploy from the colmenaHive output which should be an already-evaluated hive generated by colmena.lib.makeHive (or your own logic!). Example here. cc David Arnold (blaggacao) Yureka (she/her)
- Flake-enabled deployments now use
nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.
| 23:50:17 |
| 20 Sep 2022 |
@rendakuenthusiast:imperishable.name | I'm getting the following error trying to use colmena to deploy to a remote host:
| Failed: Child process exited with error code: 3
[ERROR] Failed to deploy to <remote host> - Last 9 lines of logs:
[ERROR] created)
[ERROR] state) Running
[ERROR] stderr) activating the configuration...
[ERROR] stdout) setting up /etc...
[ERROR] stderr) reloading user units for root...
[ERROR] stderr) setting up tmpfiles
[ERROR] stderr) fchownat() of /blockchains/bitcoin failed: Invalid argument
[ERROR] failure) Child process exited with error code: 3
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR] failure) Child process exited with error code: 3
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 3
is there anything I do with colmena to get more debug output about exactly what is causing the failing fchownat line?
| 08:08:09 |
Zhaofeng Li | In reply to @rendakuenthusiast:imperishable.name
I'm getting the following error trying to use colmena to deploy to a remote host:
| Failed: Child process exited with error code: 3
[ERROR] Failed to deploy to <remote host> - Last 9 lines of logs:
[ERROR] created)
[ERROR] state) Running
[ERROR] stderr) activating the configuration...
[ERROR] stdout) setting up /etc...
[ERROR] stderr) reloading user units for root...
[ERROR] stderr) setting up tmpfiles
[ERROR] stderr) fchownat() of /blockchains/bitcoin failed: Invalid argument
[ERROR] failure) Child process exited with error code: 3
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR] failure) Child process exited with error code: 3
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 3
is there anything I do with colmena to get more debug output about exactly what is causing the failing fchownat line?
Looks like some systemd-tmpfiles config that you have. You can manually rerun the activation by executing /nix/var/nix/profiles/system/bin/switch-to-configuration switch on the remote host. | 09:35:41 |
| @m_algery:leohoo.xyz joined the room. | 15:13:53 |
| @m_algery:leohoo.xyz left the room. | 15:13:56 |
| brokenwifi joined the room. | 17:52:49 |
brokenwifi | Redacted or Malformed Event | 17:56:36 |
brokenwifi | Redacted or Malformed Event | 17:57:18 |
brokenwifi | I'm trying to not have to pass these into every single host.
defaults = {
imports = [
inputs.agenix.nixosModules.age
inputs.home-manager.nixosModules.home-manager
];
};
I tried to add them to defaults and that works when deploying single host but if a deploy involves multiple ones then there is some kind of double inclusion error along the lines of:
error: The option `age.identityPaths' in `/tmp/.tmpPxgQXZ' is already declared in `/tmp/.tmpPxgQXZ'.
is there a more elegant way to avoid having to do reference these per-host?
| 19:58:08 |
Zhaofeng Li | Hmm, maybe you also included the module in some hosts' configs? | 20:01:45 |
brokenwifi | err, yes. Thank you. I thought because I did an --on @homelab parameter it would ignore the hosts that don't match. that was sloppy thinking. | 20:49:02 |
Zhaofeng Li | Yeah, when matching against tags, currently Colmena will evaluate the deployment.tags for all nodes so that triggered the error | 20:58:58 |
| 21 Sep 2022 |
Winter (she/her) | In reply to @zhaofeng:zhaofeng.li
A couple updates:
- More work was done on separating the evaluation logic from the deployment logic, with the new
colmenaHive output being the integration point that ties the two halves together. Colmena can now deploy from the colmenaHive output which should be an already-evaluated hive generated by colmena.lib.makeHive (or your own logic!). Example here. cc David Arnold (blaggacao) Yureka (she/her)
- Flake-enabled deployments now use
nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.
Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.
Looks like this breaks buildOnTarget.
| 00:50:59 |
Zhaofeng Li | In reply to @winterqt:nixos.dev
Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.
Looks like this breaks buildOnTarget. Oops, let me look at it and fix when I get home | 03:58:37 |
Zhaofeng Li | (also need to add better integration tests for flakes) | 03:59:04 |
Zhaofeng Li | In reply to @winterqt:nixos.dev
Flake-enabled deployments now use nix copy and the new SSH store protocol (ssh-ng://) for copying closures to remote hosts.
Looks like this breaks buildOnTarget. * Oops, let me look at it and fix when I get home (Edit: fixed) | 06:41:29 |
| roshan | byteio.in 🌷 joined the room. | 10:06:04 |
| 22 Sep 2022 |
@yuka:yuka.dev | Yay for colmenaEval and makeHive, this is exactly what I wanted | 09:50:38 |
@yuka:yuka.dev | I have another request: In flake-enabled deployments, can we pass the nixpkgs flake so that the hive expression can use nixpkgs.lib.nixosSystem and get the proper system.nixos.(revision|versionSuffix)? | 09:51:51 |
@yuka:yuka.dev | * Yay for colmenaHive and makeHive, this is exactly what I wanted | 10:08:39 |
| Tommy joined the room. | 12:48:28 |
| 25 Sep 2022 |
@rendakuenthusiast:imperishable.name | hm, I ran into a weird issue | 05:38:42 |
@rendakuenthusiast:imperishable.name | I was having a problem building redis | 05:38:51 |
@rendakuenthusiast:imperishable.name | specifically I got this exception:
couldn't execute "pgrep": no such file or directory
while executing
"open "|pgrep -P $pid" "r""
(procedure "get_child_pid" line 4)
invoked from within
"get_child_pid 0"
("uplevel" body line 16)
invoked from within
"uplevel 1 $code"
(procedure "test" line 51)
invoked from within
"test {Don't rehash if redis has child process} {
r config set save ""
r config set rdb-key-save-delay 1000000
populate 4096 "..."
("uplevel" body line 2)
invoked from within
"uplevel 1 $code "
(procedure "start_server" line 3)
invoked from within
"start_server {tags {"other external:skip"}} {
test {Don't rehash if redis has child process} {
r config set save ""
r config set r..."
(file "tests/unit/other.tcl" line 334)
invoked from within
"source $path"
(procedure "execute_test_file" line 4)
invoked from within
"execute_test_file $data"
(procedure "test_client_main" line 10)
invoked from within
| 05:39:30 |
@rendakuenthusiast:imperishable.name | which I believe was coming from this test in redis' source: https://github.com/redis/redis/blob/b414605285244c453f3fadbbe7a157cd83ed5f59/tests/unit/other.tcl#L334 | 05:39:41 |
@rendakuenthusiast:imperishable.name | which calls this code: https://github.com/redis/redis/blob/13d25dd95eec5e21925ef474b5d43f2acb23e54e/tests/support/util.tcl#L616 | 05:39:56 |