Open qknight opened 11 months ago
I've setup several virtualbox machines: 19.09, 20.03, 20.09 and I'm facing these problems:
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver
strip is /nix/store/nyhj00w339gk2gaj3faz70gjrnbmam8v-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver/bin
patching script interpreter paths in /nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver
/nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver/bin/.nixos-test-driver-wrapped: interpreter directive changed from " /somewhere/python3" to "/nix/store/36wzi6j49g4z2qclv104a0j4vc9rakz3-python3-3.7.6-env/bin/python3"
checking for references to /build/ in /nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver...
building '/nix/store/z096bbwdbpcfbvahzmlf5svmp3dgq5bv-nixos-test-driver-etcd.drv'...
All done! ✨ 🍰 ✨
1 file would be left unchanged.
building '/nix/store/wp0jfmz8ssr8phjyy1fxvsinndr1nmr2-vm-test-run-etcd.drv'...
starting VDE switch for network 1
running the VM test script
should start etcd node
node: starting vm
node # Formatting '/build/vm-state-node/node.qcow2', fmt=qcow2 size=536870912 cluster_size=65536 lazy_refcounts=off refcount_bits=16
node: QEMU running (pid 9)
node: waiting for the VM to finish booting
node # qemu-system-x86_64: CPU model 'host' requires KVM
node: connected to guest root shell
node: (connecting took 0.04 seconds)
(0.04 seconds)
error: [Errno 32] Broken pipe
(0.86 seconds)
should write and read some values to etcd
node: must succeed: etcdctl set /foo/bar 'Hello world'
error: [Errno 32] Broken pipe
(0.00 seconds)
(0.86 seconds)
Traceback (most recent call last):
File "/nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 944, in <module>
run_tests()
File "/nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 879, in run_tests
machine.execute("sync")
File "/nix/store/n5np4bzjb51y2fpz033d3nn83girm65f-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 393, in execute
self.shell.send(out_command.encode())
BrokenPipeError: [Errno 32] Broken pipe
cleaning up
killing node (pid 9)
(0.00 seconds)
Maybe realted to https://github.com/NixOS/nixpkgs/issues/147294 but the sleep fix did not work for me.
Checkout to 19.09 etcd.nix with perl also results in an VM not working:
error: the VM quit before connecting
full log
building '/nix/store/mg4v2zp2qk88dddpls4lyaiic3vw73m8-nixos-test-driver-etcd.drv'...
building '/nix/store/gjx0c55ipca3s0pmi8z0pf0v5d73w5lb-vm-test-run-etcd.drv'...
starting VDE switch for network 1
running the VM test script
subtest: should start etcd node
node: starting vm
node# Formatting '/build/vm-state-node/node.qcow2', fmt=qcow2 size=536870912 cluster_size=65536 lazy_refcounts=off refcount_bits=16
node: QEMU running (pid 9)
node: waiting for unit ‘etcd.service’
node: running command: systemctl --no-pager show "etcd.service"
node: waiting for the VM to finish booting
node# qemu-system-x86_64: CPU model 'host' requires KVM
(0.02 seconds)
(0.02 seconds)
(0.02 seconds)
error: the VM quit before connecting
(0.15 seconds)
subtest: should write and read some values to etcd
node: must succeed: etcdctl set /foo/bar 'Hello world'
node: waiting for the VM to finish booting
(0.00 seconds)
(0.00 seconds)
error: the VM quit before connecting
(0.00 seconds)
(0.15 seconds)
collecting coverage data
(0.00 seconds)
syncing
(0.00 seconds)
0 out of 2 tests succeeded
test script finished in 0.15s
cleaning up
killing node (pid 9)
(0.00 seconds)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
builder for '/nix/store/gjx0c55ipca3s0pmi8z0pf0v5d73w5lb-vm-test-run-etcd.drv' failed with exit code 1
just works. turns out that 20.09 requires nested virtualization or the tests won't execute at all.
I will port this in 20.03 because there the perl tests still work, so I only need to fix one implementation.
major progress in branch: nixpkgs-20.03-tests-perl2python-port
Tests in tags/20.09 NixOS are now using python instead of perl. Now we need to adapt nixcloud-webservices to this change: