Commit graph

13 commits

Author SHA1 Message Date
Johan Thomsen
8a6e130c71 nixos/ceph: fix tests
- 512 -> 1024MB vm memory (had sporadic oom-failures with the lower setting)

- set "auth_allow_insecure_global_id_reclaim=false" as described here: https://docs.ceph.com/en/latest/security/CVE-2021-20288/
2021-04-22 13:17:57 +02:00
Dominik Xaver Hörl
25bef2d8f9 treewide: simplify pkgs.stdenv.lib -> pkgs.lib
The library does not depend on stdenv, that `stdenv` exposes `lib` is
an artifact of the ancient origins of nixpkgs.
2021-01-10 20:12:06 +01:00
Johan Thomsen
4f39f93d8e nixos/ceph: (test) ceph now has device monitoring and pg_autoscaler enabled by default
- the pg_autoscaler will force new empty pools down to 32 pgs
- device monitoring metrics consumes 1 pool with 1 pg
2020-07-11 14:12:42 +02:00
Sarah Brofeldt
6ccd347e46 nixos/tests/ceph: Fix pg number to power of 2 2020-04-02 21:11:45 +02:00
Sarah Brofeldt
59233d67b1 nixos/tests/ceph: Use 3 osds, the default minimum 2020-01-09 08:00:19 +01:00
Florian Klink
6815017dcd nixosTests.ceph-multi-node: port to python 2019-11-20 17:38:20 +01:00
Daniel Kuehn
1972904fc6 nixos/ceph: Clarify comments in tests and add source reference for the bootstraping method 2019-11-09 23:35:30 +01:00
Florian Klink
ffd0060869 nixos/ceph: use ConditionPathExists to delay ceph daemon start
This prevents services to be started before they're initialized, and
renders the `systemd.targets.ceph.wantedBy = lib.mkForce [];` hack in
the vm tests obsolete - The config now starts up ceph after a reboot,
too.

Let's take advantage of that, crash all VMs, and boot them up again.
2019-11-09 16:13:13 +01:00
Florian Klink
67e0777f62 nixos/ceph: run unprivileged, use StateDirectory and tmpfiles, don't pass extraServiceConfig
Don't pass user and group to ceph, and rely on it to drop ceps, but let
systemd handle running it as the appropriate user.

This also inlines the extraServiceConfig into the makeService function,
as we have conditionals depending on daemonType there anyways.

Use StateDirectory to create directories in
/var/lib/ceph/${daemonType}/${clusterName}-${daemonId}.

There previously was a condition on daemonType being one of mds,mon,rgw
or mgr. We only instantiate makeServices with these types, and "osd" was
special.
In the osd case, test examples suggest it'd be in something like
/var/lib/ceph/osd/ceph-${cfg.osd0.name} - so it's not special at all,
but exactly like the pattern for the others.

During initialization, we also need these folders, before the unit is
started up. Move the mkdir -p commands in the vm tests to the line
immediately before they're required.
2019-11-09 16:02:53 +01:00
Florian Klink
64c9c08302 nixos/ceph: create /etc/ceph and /var/lib/ceph via tmpfiles
We seem to be relying on those being present during runtime anyways.
2019-11-09 15:27:45 +01:00
Daniel Kuehn
47604c7026
nixos/ceph: Rewrite test to take all important values from a single attrset 2019-10-29 15:00:28 +01:00
Daniel Kuehn
db0787c87a nixos/ceph: Reduce RAM allocation for the test machines and change the sharing of the admin keyring to the shared directory instead of netcat 2019-10-27 16:56:52 +01:00
Daniel Kuehn
916520151e nixos/ceph: Rename old ceph test and add new multi-node test
Rename the old ceph test to ceph-single-node and add a new test
ceph-multi-node. The ceph-single-node represents a dev cluster whereas
ceph-multi-node is closer to a prod cluster.
2019-10-27 13:46:05 +01:00