Commit Graph

2723 Commits

Author SHA1 Message Date
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
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
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