nixops
nixops copied to clipboard
Cannot build when targetEnv = "container"
How to reproduce
- Create file
network.nixwith the following contents:
{
network.description = "containers";
testContainer = {
deployment.targetEnv = "container";
};
}
- Run the following two commands:
nixops create -s testState.nixops -d reproduce-bug network.nix
nixops deploy -s testState.nixops -d reproduce-bug --build-only
Expected output
Some indication that the build succeeded
Actual output
building all machine configurations...
error: The option value `users.users.root.openssh.authorizedKeys.keys.[definition 1-entry 1]' in `/nix/store/ya9m2hcc2gs7q3815g9fk0ngyvhry3z8-sya4m8zykgrbk598mn50hv1d2na93jvz-nixpkgs-1454628d5776ee53ad86e2e00c363f83ceaf4cde/nixos/modules/config/users-groups.nix' is not a string.
(use ‘--show-trace’ to show detailed location information)
error: unable to build all machine configurations
Suspected cause
This line: https://github.com/NixOS/nixops/blob/master/nixops/backends/container.py#L133
I haven't much looked into why, but that line sets that option.
Meta info:
Nixpkgs version: revision 1454628d5776ee53ad86e2e00c363f83ceaf4cde Nixpkgs repo: https://github.com/NixOS/nixpkgs-channels.git
Is this backend still present in NixOps 2.0? I get following error when trying to use this backend:
$ nixops deploy -d pi-nix-testing --include nix-database
Traceback (most recent call last):
File "/nix/store/2nqfdkyx8c0wpwqm26p3pvdy0fzkpz4m-python3.9-nixops-2.0.0/bin/.nixops-wrapped", line 9, in <module>
sys.exit(main())
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/__main__.py", line 56, in main
args.op(args)
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/script_defs.py", line 688, in op_deploy
depl.deploy(
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1352, in deploy
self.run_with_notify("deploy", lambda: self._deploy(**kwargs))
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1341, in run_with_notify
f()
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1352, in <lambda>
self.run_with_notify("deploy", lambda: self._deploy(**kwargs))
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1137, in _deploy
self.evaluate_active(include, exclude, kill_obsolete)
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1078, in evaluate_active
self.evaluate()
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 437, in evaluate
defn = _create_definition(name, cfg, cfg["targetEnv"])
File "/nix/store/ygqwlafzkqrkwq8vfjxwhbipc3xh1j0h-python3-3.9.6-env/lib/python3.9/site-packages/nixops/deployment.py", line 1670, in _create_definition
raise nixops.deployment.UnknownBackend(
nixops.deployment.UnknownBackend: unknown resource type ‘container’