summary refs log tree commit diff
path: root/nixos/tests/ceph-single-node.nix
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2019-11-09 16:05:58 +0100
committerFlorian Klink <flokli@flokli.de>2019-11-09 16:13:13 +0100
commitffd006086945924511114fa1f5478665870da3af (patch)
tree0f7e1186d954290d93e9a9f516a94fcdc96a1bc3 /nixos/tests/ceph-single-node.nix
parent67e0777f6258ded0029bbfeec65fbedf36d6d4c8 (diff)
downloadnixpkgs-ffd006086945924511114fa1f5478665870da3af.tar
nixpkgs-ffd006086945924511114fa1f5478665870da3af.tar.gz
nixpkgs-ffd006086945924511114fa1f5478665870da3af.tar.bz2
nixpkgs-ffd006086945924511114fa1f5478665870da3af.tar.lz
nixpkgs-ffd006086945924511114fa1f5478665870da3af.tar.xz
nixpkgs-ffd006086945924511114fa1f5478665870da3af.tar.zst
nixpkgs-ffd006086945924511114fa1f5478665870da3af.zip
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.
Diffstat (limited to 'nixos/tests/ceph-single-node.nix')
-rw-r--r--nixos/tests/ceph-single-node.nix14
1 files changed, 4 insertions, 10 deletions
diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix
index 5938300ebb4..3278d76769a 100644
--- a/nixos/tests/ceph-single-node.nix
+++ b/nixos/tests/ceph-single-node.nix
@@ -46,9 +46,6 @@ let
     boot.kernelModules = [ "xfs" ];
 
     services.ceph = cephConfig;
-
-    # So that we don't have to battle systemd when bootstraping
-    systemd.targets.ceph.wantedBy = lib.mkForce [];
   };
 
   networkMonA = {
@@ -151,20 +148,17 @@ let
       "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it"
     );
 
-    # As we disable the target in the config, we still want to test that it works as intended
-    $monA->mustSucceed(
-      "systemctl stop ceph-osd-${cfg.osd0.name}",
-      "systemctl stop ceph-osd-${cfg.osd1.name}",
-      "systemctl stop ceph-mgr-${cfg.monA.name}",
-      "systemctl stop ceph-mon-${cfg.monA.name}"
-    );
+    # Shut down ceph by stopping ceph.target.
+    $monA->mustSucceed("systemctl stop ceph.target");
 
+    # Start it up
     $monA->succeed("systemctl start ceph.target");
     $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
     $monA->waitForUnit("ceph-mgr-${cfg.monA.name}");
     $monA->waitForUnit("ceph-osd-${cfg.osd0.name}");
     $monA->waitForUnit("ceph-osd-${cfg.osd1.name}");
 
+    # Ensure the cluster comes back up again
     $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
     $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
     $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");