[nix-shell:~/projects/grahamc/packet-spot-buildkite]$ nixops deploy --include aarch64 -k
resource ‘buildkite-worker-1’ is obsolete
resource ‘aarch64’ is obsolete
warning: are you sure you want to destroy Packet.Net machine ‘aarch64’? (y/N) y
aarch64.............> destroying instance 092a3fdc-85d0-4f05-bfd7-8b3f624188ff
building all machine configurations...
Traceback (most recent call last):
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/bin/.nixops-wrapped", line 251, in <module>
args.op(args)
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/script_defs.py", line 427, in op_deploy
max_concurrent_activate=args.max_concurrent_activate)
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 1062, in deploy
self.run_with_notify('deploy', lambda: self._deploy(**kwargs))
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 1051, in run_with_notify
f()
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 1062, in <lambda>
self.run_with_notify('deploy', lambda: self._deploy(**kwargs))
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 1006, in _deploy
self.configs_path = self.build_configs(dry_run=dry_run, repair=repair, include=include, exclude=exclude)
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 628, in build_configs
p = self.get_physical_spec()
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 596, in get_physical_spec
emit_resource(r) for r in active_resources.itervalues()
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/deployment.py", line 583, in emit_resource
physical = r.get_physical_spec()
File "/nix/store/xvgj2iqi26qm3zvwrhs4f9vqspb55kjz-python2.7-nixops-packet-1.6.1pre2873_372dbc9/lib/python2.7/site-packages/nixopspacket/backends/device.py", line 148, in get_physical_spec
return self.get_physical_spec_from_plan(public_key)
File "/nix/store/xvgj2iqi26qm3zvwrhs4f9vqspb55kjz-python2.7-nixops-packet-1.6.1pre2873_372dbc9/lib/python2.7/site-packages/nixopspacket/backends/device.py", line 137, in get_physical_spec_from_plan
'imports': [ nix2py(self.provSystem) ],
File "/nix/store/dvvzz12xrdmhbzchbnwr65187h1h91ql-nixops-1.8pre2873_372dbc9/lib/python2.7/site-packages/nixops/nix_expr.py", line 327, in nix2py
return MultiLineRawValue(dedent(source).strip().splitlines())
File "/nix/store/lbrpma3528hq7gwn8ffbnwaxvsqah0bb-python-2.7.17/lib/python2.7/textwrap.py", line 392, in dedent
text = _whitespace_only_re.sub('', text)
TypeError: expected string or buffer
I think this is because I had a machine deployed with the packet backend before provSystem was a thing. Maybe should detect a None and hand a "{}" to nix2py in that case?