Commit Graph

7 Commits

Author SHA1 Message Date
Florian Klink
a796dbead5 nixosTests.ceph-single-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
6ac9d1fbdc
nixos/ceph: Rewrite old single-node test with new framework 2019-11-01 21:48:22 +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