Commit graph

2787 commits

Author SHA1 Message Date
Lucas Savva
f57824c915
nixos/acme: Update docs, use assert more effectively 2020-09-05 01:06:29 +01:00
Lucas Savva
67a5d660cb
nixos/acme: Run postRun script as root 2020-09-04 19:34:10 +01:00
Bruno Bigras
64ce52713c nixos/tests/sssd-ldap: init 2020-09-04 01:51:42 -04:00
Utku Demir
ae82f81bfa
dockerTools.streamLayeredImage: Store the customisation layer as a tarball
This fixes as issue described here[1], where permissions set by 'extraCommands'
were ignored by Nix.

[1] https://github.com/NixOS/nixpkgs/pull/91084#issuecomment-669834938
2020-09-04 16:53:23 +12:00
Lucas Savva
1b6cfd9796
nixos/acme: Fix race condition, dont be smart with keys
Attempting to reuse keys on a basis different to the cert (AKA,
storing the key in a directory with a hashed name different to
the cert it is associated with) was ineffective since when
"lego run" is used it will ALWAYS generate a new key. This causes
issues when you revert changes since your "reused" key will not
be the one associated with the old cert. As such, I tore out the
whole keyDir implementation.

As for the race condition, checking the mtime of the cert file
was not sufficient to detect changes. In testing, selfsigned
and full certs could be generated/installed within 1 second of
each other. cmp is now used instead.

Also, I removed the nginx/httpd reload waiters in favour of
simple retry logic for the curl-based tests
2020-09-04 01:09:43 +01:00
Anders Kaseorg
f4b2c9dfe7 cryptsetup, lvm2, systemd: Break cyclic dependency at a different point
The cyclic dependency of systemd → cryptsetup → lvm2 → udev=systemd
needs to be broken somewhere.  The previous strategy of building
cryptsetup with an lvm2 built without udev (#66856) caused the
installer.luksroot test to fail.  Instead, build lvm2 with a udev built
without cryptsetup.

Fixes #96479.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-09-03 12:35:56 -07:00
Jörg Thalheim
02a2649220
Merge pull request #89748 from heinic/krb5-lists 2020-09-03 07:31:22 +01:00
Lucas Savva
61dbf4bf89
nixos/acme: Add proper nginx/httpd config reload checks
Testing of certs failed randomly when the web server was still
returning old certs even after the reload was "complete". This was
because the reload commands send process signals and do not wait
for the worker processes to restart. This commit adds log watchers
which wait for the worker processes to be restarted.
2020-09-02 19:25:30 +01:00
Lucas Savva
982c5a1f0e
nixos/acme: Restructure module
- Use an acme user and group, allow group override only
- Use hashes to determine when certs actually need to regenerate
- Avoid running lego more than necessary
- Harden permissions
- Support "systemctl clean" for cert regeneration
- Support reuse of keys between some configuration changes
- Permissions fix services solves for previously root owned certs
- Add a note about multiple account creation and emails
- Migrate extraDomains to a list
- Deprecate user option
- Use minica for self-signed certs
- Rewrite all tests

I thought of a few more cases where things may go wrong,
and added tests to cover them. In particular, the web server
reload services were depending on the target - which stays alive,
meaning that the renewal timer wouldn't be triggering a reload
and old certs would stay on the web servers.

I encountered some problems ensuring that the reload took place
without accidently triggering it as part of the test. The sync
commands I added ended up being essential and I'm not sure why,
it seems like either node.succeed ends too early or there's an
oddity of the vm's filesystem I'm not aware of.

- Fix duplicate systemd rules on reload services

Since useACMEHost is not unique to every vhost, if one cert
was reused many times it would create duplicate entries in
${server}-config-reload.service for wants, before and
ConditionPathExists
2020-09-02 19:22:43 +01:00
Serval
4ac99e76bc
nixos/tests/v2ray: init 2020-09-02 22:18:52 +08:00
misuzu
0c688868e7 nixosTests.3proxy: fix flakiness 2020-09-01 14:31:52 +03:00
Lassulus
a081e99e41
Merge pull request #83780 from hax404/robustirc-bridge
robustirc-bridge: init at 1.8
2020-08-31 18:14:45 +02:00
Georg Haas
2bd6f0744f
nixos/tests/robustirc-bridge: init 2020-08-31 15:22:50 +02:00
Arian van Putten
882ed6759a
Merge pull request #96149 from JJJollyjim/acme-test-go-15
nixos/acme: fix subjectAltName in test snakeoil certs
2020-08-31 13:54:19 +02:00
Félix Baylac-Jacqué
f63c842f1e
nixosTests.systemd-networkd: fix test flakiness
The original idea for this test was, on top of providing a networkd
test, to provide newcomers with a sample configuration they could use
to get started with networkd.

That's precisely why we were doing this systemd tmpfile dance in the
first place. It was a convenient way to create a runtime file with a
specific mode and owner.

Sadly, this tmpfile rule made the test flaky. There's a race condition
between the wireguard interface configured by systemd-networkd and
systemd-tmpfiles-setup.

Sometimes, networkd is going to try loading the wireguard private key
file *before* the said file gets created by systemd-tmpfiles.

A perfect solution here would be to create a "After" dependency
between wg0.netdev and systemd-tmpfiles-setup.service. Sadly, it is
currently impossible to create such a dependency between a
networkd-specific unit and a service.

We're removing this tmp file in favor of pointing networkd directly to
the Nix store. This is clearly something that shouldn't be done in the
real world for a private file: the store is world-readable. However,
this is the only way I found to fix this test flakiness for now.
2020-08-30 21:03:27 +02:00
Maximilian Bosch
d416facd39
nixos/tests/systemd-networkd: fix eval
In `systemd-243` the option `FwMark` in the `[WireGuard]` section of
a `.netdev`-unit has been renamed to `FirewallMark`[1]. Due to the
removal of deprecated options in our `networkd` module[2] the evaluation
of this test doesn't work.

Renaming the option to its new name fixes the issue.

[1] 1c30b174ed
[2] e9d13d3751
2020-08-29 22:51:30 +02:00
Aaron Andersen
bcdcd5d9fc
Merge pull request #95880 from aanderse/postgresql-settings
nixos/postgresql: replace extraConfig option with settings option
2020-08-29 09:12:54 -04:00
Frederik Rietdijk
7b56d26ae3 Merge master into staging-next 2020-08-29 13:30:25 +02:00
worldofpeace
f2d0a68c21
Merge pull request #96396 from flokli/remove-perl-test-driver
nixos/lib/test*: remove perl test driver
2020-08-28 11:30:18 -04:00
Daniël de Kok
192ed0a00e
Merge pull request #95888 from bzizou/charliecloud18
charliecloud: 0.12 -> 0.18
2020-08-28 16:34:57 +02:00
Bruno Bzeznik
1601ff7dd4 charliecloud: 0.12 -> 0.18 (docker + ch-grow support) 2020-08-28 14:39:21 +02:00
Florian Klink
0620184f3f nixos/lib/test*: remove perl test driver
This has been deprecated in 20.03, and all tests have been migrated to
the python framework, effectively making this dead code.
2020-08-27 19:45:38 +02:00
Matthew Bauer
25ac498482
Merge pull request #96404 from matthewbauer/gcc-cross
Fix cycle detected in Darwin->Linux cross GCC
2020-08-26 16:17:14 -05:00
Aaron Andersen
2a44265608 nixos/postgresql: replace extraConfig option with settings option 2020-08-26 17:06:48 -04:00
Florian Klink
36e4ec8568
Merge pull request #96349 from helsinki-systems/feat/postgresql-wal-python
tests/postgresql-wal-receiver: Port to Python
2020-08-26 21:08:15 +02:00
Matthew Bauer
ca3fa9c32a
Merge pull request #95956 from matthewbauer/qemu-cpu-max
runInLinuxVM, test-driver: use -cpu max instead of -cpu host
2020-08-26 12:59:57 -05:00
Vladimír Čunát
e02793de2f
nixos installer tests: add a missing package
Tested it locally fixes #96361
nix-build nixos/release-combined.nix -A nixos.tests.installer.lvm.x86_64-linux -Q
2020-08-26 18:14:34 +02:00
Lassulus
12baef56e4
Merge pull request #96127 from hmenke/shadowsocks
shadowsocks service: support plugins
2020-08-26 16:49:55 +02:00
Janne Heß
ead6de5d3d
tests/postgresql-wal-receiver: Port to Python
... and remove some weirdnesses.

- Port to Python
- Drop the extra pkgs, config, system args
- Drop all `with`
- Don't override the standard PostgreSQL directory
- Use pkgs and lib from the test runner

Tested with:
- postgresql_12
- postgresql_11
- postgresql_10
- postgresql_9_6
- postgresql_9_5

Closes #96347
cc @flokli
2020-08-26 16:37:24 +02:00
Florian Klink
df2f22daa8
Merge pull request #94858 from liff/virtualbox-python-test
nixosTests.virtualbox: Port to python
2020-08-26 10:00:04 +02:00
Frederik Rietdijk
081bd762e5 Merge staging-next into staging 2020-08-26 08:43:29 +02:00
Henri Menke
27f281bc50
nixos/shadowsocks: add test 2020-08-26 15:15:27 +12:00
Rouven Czerwinski
7db58b93d0
nixos/tests: use ::1 instead of anycast address (#96250)
According to RFC4291[1], 2001:db8:: is the anycast address for the
prefix and will be answered by all routers responsible for this prefix.
This means that before the iputils bump, the ping from client to isp was
answered by the router and not by the ISP machine. Switching away from
the anycast address fixes this issue.

Credits for finding this go to @primeos.

[1]: https://tools.ietf.org/html/rfc4291#section-2.6.1

Fixes #96188
2020-08-25 22:29:22 +02:00
Anderson Torres
fffabfaefd
Merge pull request #96179 from bbigras/sssd
nixos/sssd: fix the module
2020-08-25 16:59:11 -03:00
Nico Heitmann
0bee87c400 nixos/krb5: add list to example configuration
Updated the relevant nixos test to match the example configuration.
2020-08-25 17:18:56 +02:00
Florian Klink
c4ef188cae
Merge pull request #96187 from helsinki-systems/os-prober-python
nixos/tests/os-prober.nix: port to python
2020-08-24 21:46:50 +02:00
Symphorien Gibol
ddbd436dc4 nixos/tests/os-prober.nix: port to python 2020-08-24 17:49:20 +02:00
Bruno Bigras
5d36e00b7d nixos/sssd: fix the module
'system.nssModules' was not set correctly

fix #91242
2020-08-24 10:10:47 -04:00
Florian Klink
40d2968ebf
Merge pull request #94354 from flokli/systemd-246
systemd: 245.6 -> 246
2020-08-24 12:42:24 +02:00
Florian Klink
618e273861 nixosTests.systemd: disable RuntimeWatchdogUSec=30s assertion
For some reason, this value isn't updated, at least not inside the VM.

Uncomment it, so we still test the rest. Needs to be investigated
further.
2020-08-24 12:40:02 +02:00
Frederik Rietdijk
0a874ff2a6 Merge master into staging-next 2020-08-24 11:50:58 +02:00
Sascha Grunert
1c551f9778 cri-o: add NixOS test via critest
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-24 18:34:19 +10:00
Jamie McClymont
fb0e3ca40e nixos/acme: fix subjectAltName in test snakeoil certs 2020-08-24 19:49:24 +12:00
Jacek Galowicz
45dd255d61
Merge pull request #96076 from flokli/port-test-hocker-fetchdocker
nixosTests.hocker-fetchdocker
2020-08-24 07:36:34 +02:00
Florian Klink
aa55b14beb nixosTests.hocker-fetchdocker: mark as broken
This test tries to download from the official docker registry. I don't
know how this could ever work, but let's mark it as broken for now.
2020-08-23 22:42:02 +02:00
Florian Klink
0e817997a2 nixosTests.hocker-fetchdocker: port to python 2020-08-23 22:42:02 +02:00
Jacek Galowicz
7e545bd7f3
Merge pull request #96094 from helsinki-systems/fix/test/installer-btrfs-warning
nixosTests.installer.btrfsSubvolDefault: fix warning
2020-08-23 20:42:07 +02:00
Jacek Galowicz
54cb0ed5cf
Merge pull request #96070 from flokli/containers-reloadable-fixes
nixosTests.containers-reloadable: fixes
2020-08-23 19:22:24 +02:00
Tor Hedin Brønner
7aaf526225
nixos/tests/gnome3: start terminal with autostart file (#96102)
For some reason starting the terminal using `su user -c '...'` have
a tendency to fail. Simply use an autostart file instead.
2020-08-23 19:09:59 +02:00
ajs124
b4fab1cdff nixosTests.installer.btrfsSubvolDefault: fix warning 2020-08-23 16:10:02 +02:00
Florian Klink
18e4838abf nixosTests.containers-reloadable: fix typo in name 2020-08-23 11:00:54 +02:00
Florian Klink
f7874cb2e9 nixosTests.containers-reloadable: fix old reference to make-test.nix in comment 2020-08-23 11:00:35 +02:00
Florian Klink
ab62d4f9f0 nixosTests.containers-reloadable: expose test
This hasn't been available before in nixosTests.
2020-08-23 11:00:09 +02:00
Antoine Eiche
8595a0d6b9 Remove docker-preloader module and test 2020-08-23 10:49:13 +02:00
Florian Klink
adc5918e83
Merge pull request #80051 from tfc/port-docker-preloader-test
nixosTests.docker-preloader: Port to Python
2020-08-23 10:45:19 +02:00
Florian Klink
33905f8422 nixosTests.docker-preloader: mark as broken
This currently fails with a "read-only file system" error.
2020-08-23 10:44:00 +02:00
Jacek Galowicz
1e4f0e9db5 nixosTests.docker-preloader: Port to Python 2020-08-23 10:42:39 +02:00
Florian Klink
4460cda6b5
Merge pull request #79696 from tfc/port-ec2-test
nixosTests.ec2: Port tests that depend on common/ec2.nix
2020-08-23 10:35:28 +02:00
Florian Klink
97a32bcd08 nixosTests.ec2-config: mark as broken
This test wants to download things from the internet while building the
system. It can probably be fixed by ensuring these paths are present in
the initial nix-store.
2020-08-23 10:31:58 +02:00
Jacek Galowicz
20d09ec3d1 nixosTests.ec2-config: Add to all-tests.nix 2020-08-23 10:25:31 +02:00
Jacek Galowicz
c32369676b nixosTests.ec2: Port tests that depend on common/ec2.nix 2020-08-23 10:25:31 +02:00
Florian Klink
c2a75a8041
Merge pull request #95924 from helsinki-systems/port/hardened-test
nixos/hardened: Port test to Python and fix it
2020-08-23 10:06:44 +02:00
Jan Tojnar
91104b5417
Merge branch 'master' into staging-next 2020-08-23 02:00:50 +02:00
Lassulus
dd2ecd0712
Merge pull request #89729 from JJJollyjim/bitwarden-rs-test
nixos/bitwarden_rs: add test
2020-08-22 23:23:55 +02:00
Jamie McClymont
f5f2d89fb7 nixos/bitwarden_rs: add test 2020-08-23 07:29:42 +12:00
Maximilian Bosch
0436b98753
Merge pull request #95845 from WilliButz/update/prometheus-2.20.1
prometheus: 2.19.3 -> 2.20.1, fix thanos test
2020-08-22 21:22:38 +02:00
Lassulus
ab5a1fee33
Merge pull request #89532 from DIzFer/transmission-apparmor-test
tests: transmission is now tested with apparmor
2020-08-22 15:26:34 +02:00
Matthew Bauer
47b56e7c19 runInLinuxVM, test-driver: use -cpu max instead of -cpu host
This appears to avoid requiring KVM when it’s not available. This is
what I originally though -cpu host did. Unfortunately not much
documentation available from the QEMU side on this, but this appears
to square with help:

$ qemu-system-x86 -cpu help
...
x86 host                  KVM processor with all supported host features
x86 max                   Enables all features supported by the accelerator in the current host
...

Whether we actually want to support this not clear, since this only
happens when your CPU doesn’t have full KVM support. Some Nix builders
are lying about kvm support though. Things aren’t too slow without it
though.

Fixes https://github.com/NixOS/nixpkgs/issues/85394

Alternative to https://github.com/NixOS/nixpkgs/pull/83920
2020-08-21 23:42:07 -05:00
Janne Heß
540c033507
nixos/hardened: Port test to Python and fix it
Related to #72828
Replaces and closes #76708

Looks like `nix ping-store` does not output anything anymore but still
fails when the connection does not work.
2020-08-21 21:35:07 +02:00
WilliButz
876396cac0
prometheus: 2.19.3 -> 2.20.1, fix thanos test 2020-08-20 11:14:43 +02:00
Frederik Rietdijk
4cf394ea3f Merge master into staging-next 2020-08-18 17:55:04 +02:00
Frederik Rietdijk
fe7bab33d7
Merge pull request #95553 from zowoq/rename-maintainers
maintainers: prefix number with underscore
2020-08-18 11:30:24 +02:00
zowoq
0052523a18 maintainers: 1000101 -> _1000101 2020-08-18 07:59:48 +10:00
zowoq
7d9c49f8e6 maintainers: 0x4A6F -> _0x4A6F 2020-08-18 07:59:44 +10:00
Frederik Rietdijk
0ac85bc455 Merge master into staging-next 2020-08-17 14:54:39 +02:00
Olli Helenius
5f5c990ea0
nixosTests.virtualbox: Port to python 2020-08-17 14:31:00 +03:00
Olli Helenius
e64e92fd08
nixosTests.virtualbox: Disable predictable interface names in guest 2020-08-17 14:30:06 +03:00
Florian Klink
431b08cafd
Merge pull request #95158 from Izorkin/mariadb
mariadb: 10.4.13 -> 10.4.14
2020-08-16 20:32:57 +02:00
Florian Klink
16fc531784
Merge pull request #95505 from flokli/remove-mathics
mathics: remove package, module and test
2020-08-16 18:42:10 +02:00
Izorkin
d35d990025 nixos/tests/mariadb: disable check TokuDB in aarch32 and aarch64 2020-08-16 16:08:14 +03:00
Florian Klink
b2f3bbd3fb
Merge pull request #95507 from flokli/remove-mesos
mesos: remove package, module and test (and chronos/marathon which depends on it)
2020-08-16 14:46:24 +02:00
Sergey Lukjanov
da4e029edf nixos/zfs: enable encryption test for stable zfs 2020-08-16 10:36:48 +00:00
Doron Behar
2519e54bef tests/misc: Test mount +s permission
For #95444
Co-authored-by: Florian Klink <flokli@flokli.de>
2020-08-15 22:21:30 +03:00
Florian Klink
3c65c53f2c nixosTests.mesos: remove
The `mesos` package has been broken for >9 months.
2020-08-15 16:51:23 +02:00
Florian Klink
d71cae4275 nixosTests.mathics: remove
The mathics package is unmaintained and doesn't build. Remove the test
using it.
2020-08-15 16:16:40 +02:00
Frederik Rietdijk
cfe6081cee Merge staging-next into staging 2020-08-15 09:12:42 +02:00
Martin Weinelt
f1efdd2c0b
Merge pull request #89444 from mweinelt/pinnwand-module
nixos/pinnwand: init; steck: init at 0.5.0; nixos/tests/pinnwand: init
2020-08-14 22:09:33 +02:00
worldofpeace
bea5560354
Merge pull request #94878 from stigtsp/package/firejail-test
nixos/tests: add test for firejail
2020-08-14 14:05:39 -04:00
Jan Tojnar
afe22f645a
Merge branch 'staging-next' into staging 2020-08-13 21:59:15 +02:00
Florian Klink
d85d7c7179 nixosTests.systemd: update output
systemd shows minutes as `min`, not `m`.
2020-08-13 20:51:42 +02:00
Florian Klink
962e15aebc nixos: remove StandardOutput=syslog, StandardError=syslog lines
Since systemd 243, docs were already steering users towards using
`journal`:

eedaf7f322

systemd 246 will go one step further, it shows warnings for these units
during bootup, and will [automatically convert these occurences to
`journal`](f3dc6af20f):

> [    6.955976] systemd[1]: /nix/store/hwyfgbwg804vmr92fxc1vkmqfq2k9s17-unit-display-manager.service/display-manager.service:27: Standard output type syslog is obsolete, automatically updating to journal. Please update│······················
 your unit file, and consider removing the setting altogether.

So there's no point of keeping `syslog` here, and it's probably a better
idea to just not set it, due to:

> This setting defaults to the value set with DefaultStandardOutput= in
> systemd-system.conf(5), which defaults to journal.
2020-08-13 18:49:15 +02:00
Frederik Rietdijk
46ee7ddcad Merge staging-next into staging 2020-08-11 10:26:59 +02:00
Stig Palmquist
15c53cf0fa
nixos/tests: add test for firejail 2020-08-10 06:54:26 +02:00
Francesco Gazzetta
6cfda0e92c shattered-pixel-dungeon: add nixos test 2020-08-09 15:34:30 -07:00
Martin Weinelt
cb50679f0e
nixos/tests/pinnwand: init 2020-08-09 01:52:25 +02:00
Frederik Rietdijk
cb634b2aa5 Merge staging-next into staging 2020-08-07 23:02:23 +02:00
Jörg Thalheim
e879d83e38
Merge pull request #92106 from ju1m/transmission 2020-08-07 14:40:17 +01:00
Julien Moutinho
2a49db6a89 transmission: apply RFC0042 and harden the service 2020-08-07 04:28:11 +02:00
Maximilian Bosch
50d8cdb3ca
Merge pull request #93584 from DavHau/nextcloud-improvements
nextcloud: restrict web server support to nginx; stop sharing nginx user/group; improve setup service
2020-08-06 19:00:21 +02:00
Florian Klink
8e0b2b9177
Merge pull request #66856 from flokli/systemd-cryptsetup-lvm
systemd: build with cryptsetup support, add cryptsetup generators
2020-08-06 12:06:54 +02:00