From 2ed8ff81c5660a62c1c85846f6edb4af858b4e3e Mon Sep 17 00:00:00 2001 From: Robin Stumm Date: Sat, 14 Jan 2023 12:57:36 +0100 Subject: [PATCH 1/3] ceph: add missing python library required by mgr dashboard module --- pkgs/tools/filesystems/ceph/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index be7d0dfb3407..bc3a12b935db 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -115,6 +115,7 @@ let ceph-python-env = python.withPackages (ps: [ ps.sphinx ps.flask + ps.routes ps.cython ps.setuptools ps.virtualenv From c590d510379f99c6037c0657e38962f89a84ed92 Mon Sep 17 00:00:00 2001 From: Robin Stumm Date: Mon, 16 Jan 2023 10:30:12 +0100 Subject: [PATCH 2/3] ceph: comment where to find python dependencies Co-authored-by: Martin Weinelt --- pkgs/tools/filesystems/ceph/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index bc3a12b935db..922586b323f5 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -113,6 +113,7 @@ let }; ceph-python-env = python.withPackages (ps: [ + # Check .requires files below https://github.com/ceph/ceph/tree/main/debian for dependencies ps.sphinx ps.flask ps.routes From 093e3eb20d3ffd03577e1dcd4dc24fa3fbc6e257 Mon Sep 17 00:00:00 2001 From: Robin Stumm Date: Fri, 20 Jan 2023 23:54:49 +0100 Subject: [PATCH 3/3] ceph: enable dashboard in nixos test --- nixos/tests/ceph-single-node.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index 4fe5dc59ff8f..4a5636fac156 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -181,6 +181,17 @@ let monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + + # Enable the dashboard and recheck health + monA.succeed( + "ceph mgr module enable dashboard", + "ceph config set mgr mgr/dashboard/ssl false", + # default is 8080 but it's better to be explicit + "ceph config set mgr mgr/dashboard/server_port 8080", + ) + monA.wait_for_open_port(8080) + monA.wait_until_succeeds("curl -q --fail http://localhost:8080") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") ''; in { name = "basic-single-node-ceph-cluster";