ceph: add missing python library#210705
Conversation
required by mgr dashboard module
|
Can you add the error you saw in I would also be interested to know where ceph defines those python dependencies. Ideally we'd be looking them up, but I can't find |
Sure, updated the description.
I really only ran these commands via this NixOS module: |
|
Looks like the python dependencies are only listed in the debian package. |
Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
|
Tried to make a test out of this, but the cluster remains healthy and the dashboard does not start listening on the given port. diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix
index 556546beee7..b8e17bee211 100644
--- a/nixos/tests/ceph-multi-node.nix
+++ b/nixos/tests/ceph-multi-node.nix
@@ -215,6 +215,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")
+ monA.succeed("ceph config set mgr mgr/dashboard/${cfg.monA.name}/server_port 8080")
+ monA.log(monA.execute("ceph -s")[1])
+ monA.sleep(10)
+ monA.log(monA.execute("ceph -s")[1])
+ monA.wait_for_open_port(8080)
+ monA.log(monA.execute("ss -lpn | grep 8080")[1])
+ monA.wait_until_succeeds("curl -q -fail http://localhost:8080")
+ monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
'';
in {
name = "basic-multi-node-ceph-cluster"; |
|
Turns out SSL is enabled by default and it waits for a key to be configured. Disabled that and it starts right up. |
|
Giving it a quick spin w/o the fix to test the negative case. |
|
@ofborg test ceph-single-node |
|
Fails successfully due to the missing library. 🥳 |
|
Ideally at some point we'd split up the tests based on feature set. But that day is not today. |
|
Successfully created backport PR #211849 for |
This is a regression in 22.11. After updating from 22.05 the dashboard no longer works and
ceph statusreports a health check error.The
routespython library required by the mgr dashboard module is missing.ceph -sreports:ceph -wreports:Description of changes
This simply adds the
routeslibrary to the python environment.Things done
sandbox = trueset innix.conf? (See Nix manual)and/or package testsor, for functions and "core" functionality, tests in lib/tests or pkgs/testmade sure NixOS tests are linked to the relevant packagesnix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)23.05 Release Notes (or backporting 22.11 Release notes)(Package updates) Added a release notes entry if the change is major or breaking(Module updates) Added a release notes entry if the change is significant(Module addition) Added a release notes entry if adding a new NixOS module(Release notes changes) Rannixos/doc/manual/md-to-db.shto update generated release notes