nixos/etcd: fix postStart check and make tests deterministic
This commit is contained in:
parent
d1493bc1ee
commit
4f592d4f29
|
@ -46,7 +46,7 @@ in {
|
|||
|
||||
initialCluster = mkOption {
|
||||
description = "Etcd initial cluster configuration for bootstrapping.";
|
||||
default = ["${cfg.name}=http://localhost:2380" "${cfg.name}=http://localhost:7001"];
|
||||
default = ["${cfg.name}=http://localhost:7001"];
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
|
@ -123,7 +123,10 @@ in {
|
|||
if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi
|
||||
'';
|
||||
postStart = ''
|
||||
until ${pkgs.curl}/bin/curl -s -o /dev/null '${head cfg.listenClientUrls}/version'; do
|
||||
until ${pkgs.etcdctl}/bin/etcdctl set /nixos/state 'up'; do
|
||||
sleep 1;
|
||||
done
|
||||
until ${pkgs.etcdctl}/bin/etcdctl get /nixos/state | grep up; do
|
||||
sleep 1;
|
||||
done
|
||||
'';
|
||||
|
|
|
@ -80,7 +80,7 @@ import ./make-test.nix {
|
|||
$simple->start();
|
||||
$simple->waitForUnit("etcd.service");
|
||||
$simple->succeed("etcdctl set /foo/bar 'Hello world'");
|
||||
$simple->succeed("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
$simple->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
};
|
||||
|
||||
subtest "multy node", sub {
|
||||
|
@ -89,7 +89,7 @@ import ./make-test.nix {
|
|||
$node1->waitForUnit("etcd.service");
|
||||
$node2->waitForUnit("etcd.service");
|
||||
$node1->succeed("etcdctl set /foo/bar 'Hello world'");
|
||||
$node2->succeed("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
$node2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
$node1->shutdown();
|
||||
$node2->shutdown();
|
||||
};
|
||||
|
@ -102,7 +102,7 @@ import ./make-test.nix {
|
|||
$discovery1->waitForUnit("etcd.service");
|
||||
$discovery2->waitForUnit("etcd.service");
|
||||
$discovery1->succeed("etcdctl set /foo/bar 'Hello world'");
|
||||
$discovery2->succeed("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
$discovery2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
|
||||
};
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue