diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix index 4e6d644f96c8..33736e27b984 100644 --- a/nixos/tests/ceph-multi-node.nix +++ b/nixos/tests/ceph-multi-node.nix @@ -37,7 +37,7 @@ let generateHost = { pkgs, cephConfig, networkConfig, ... }: { virtualisation = { - memorySize = 512; + memorySize = 1024; emptyDiskImages = [ 20480 ]; vlans = [ 1 ]; }; @@ -120,6 +120,7 @@ let ) monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.succeed("ceph mon enable-msgr2") + monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") # Can't check ceph status until a mon is up monA.succeed("ceph -s | grep 'mon: 1 daemons'") diff --git a/nixos/tests/ceph-single-node-bluestore.nix b/nixos/tests/ceph-single-node-bluestore.nix index cc873e8aee57..f706d4d56fcf 100644 --- a/nixos/tests/ceph-single-node-bluestore.nix +++ b/nixos/tests/ceph-single-node-bluestore.nix @@ -34,7 +34,7 @@ let generateHost = { pkgs, cephConfig, networkConfig, ... }: { virtualisation = { - memorySize = 512; + memorySize = 1024; emptyDiskImages = [ 20480 20480 20480 ]; vlans = [ 1 ]; }; @@ -95,6 +95,7 @@ let ) monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.succeed("ceph mon enable-msgr2") + monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") # Can't check ceph status until a mon is up monA.succeed("ceph -s | grep 'mon: 1 daemons'") diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index 19919371a3ca..d1d56ea6708c 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -34,7 +34,7 @@ let generateHost = { pkgs, cephConfig, networkConfig, ... }: { virtualisation = { - memorySize = 512; + memorySize = 1024; emptyDiskImages = [ 20480 20480 20480 ]; vlans = [ 1 ]; }; @@ -95,6 +95,7 @@ let ) monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.succeed("ceph mon enable-msgr2") + monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") # Can't check ceph status until a mon is up monA.succeed("ceph -s | grep 'mon: 1 daemons'") diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index 57d5845c9961..a7add68b2dac 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -1,5 +1,4 @@ { lib, stdenv, runCommand, fetchurl -, fetchpatch , ensureNewerSourcesHook , cmake, pkg-config , which, git @@ -14,6 +13,15 @@ , libnl, libcap_ng , rdkafka , nixosTests +, cryptsetup +, sqlite +, lua +, icu +, bzip2 +, doxygen +, graphviz +, fmt +, python3 # Optional Dependencies , yasm ? null, fcgi ? null, expat ? null @@ -123,10 +131,10 @@ let ]); sitePackages = ceph-python-env.python.sitePackages; - version = "15.2.10"; + version = "16.2.1"; src = fetchurl { url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz"; - sha256 = "1xfijynfb56gydpwh6h4q781xymwxih6nx26idnkcjqih48nsn01"; + sha256 = "1qqvfhnc94vfrq1ddizf6habjlcp77abry4v18zlq6rnhwr99zrh"; }; in rec { ceph = stdenv.mkDerivation { @@ -142,12 +150,18 @@ in rec { pkg-config which git python3Packages.wrapPython makeWrapper python3Packages.python # for the toPythonPath function (ensureNewerSourcesHook { year = "1980"; }) + python3 + fmt + # for building docs/man-pages presumably + doxygen + graphviz ]; buildInputs = cryptoLibsMap.${cryptoStr} ++ [ boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3 malloc zlib openldap lttng-ust babeltrace gperf gtest cunit snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka + cryptsetup sqlite lua icu bzip2 ] ++ lib.optionals stdenv.isLinux [ linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs # ceph 14 @@ -172,7 +186,6 @@ in rec { ''; cmakeFlags = [ - "-DWITH_PYTHON3=ON" "-DWITH_SYSTEM_ROCKSDB=OFF" # breaks Bluestore "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib" @@ -183,6 +196,8 @@ in rec { "-DWITH_TESTS=OFF" # TODO breaks with sandbox, tries to download stuff with npm "-DWITH_MGR_DASHBOARD_FRONTEND=OFF" + # WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now + ''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}'' ]; postFixup = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94630b99540e..ef62d2b88efe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3362,7 +3362,8 @@ in libceph = ceph.lib; inherit (callPackages ../tools/filesystems/ceph { - boost = boost172.override { enablePython = true; python = python38; }; + boost = boost17x.override { enablePython = true; python = python3; }; + lua = lua5_4; }) ceph ceph-client;