diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2024-04-16 18:40:49 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2024-04-17 22:32:15 +0200 |
commit | d4b989cafc77ffa10affa46a730159ff30726bd9 (patch) | |
tree | c48234e38dbe5c8414839145fd094e1de24d375e /nixos | |
parent | fd0b14a61d189345e6a06b8d118e34e27204b40f (diff) |
nixos/deconz: delay signalling service readiness until it's actually up
Fixes test flakiness (`nix-build -A nixosTests.deconz`).
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/deconz.nix | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/nixos/modules/services/networking/deconz.nix b/nixos/modules/services/networking/deconz.nix index 05b7247087771..eaa7759d0407c 100644 --- a/nixos/modules/services/networking/deconz.nix +++ b/nixos/modules/services/networking/deconz.nix @@ -93,6 +93,13 @@ in # be garbage collected. Ensure the file gets "refreshed" on every start. rm -f ${stateDir}/.local/share/dresden-elektronik/deCONZ/zcldb.txt ''; + postStart = '' + # Delay signalling service readiness until it's actually up. + while ! "${lib.getExe pkgs.curl}" -sSfl -o /dev/null "http://${cfg.listenAddress}:${toString cfg.httpPort}"; do + echo "Waiting for TCP port ${toString cfg.httpPort} to be open..." + sleep 1 + done + ''; environment = { HOME = stateDir; XDG_RUNTIME_DIR = "/run/${name}"; |