diff options
author | illustris <rharikrishnan95@gmail.com> | 2022-03-29 01:49:17 +0530 |
---|---|---|
committer | illustris <rharikrishnan95@gmail.com> | 2022-04-18 02:02:43 +0530 |
commit | 2b0c299990e4d2c392e2041240bb05797f23c146 (patch) | |
tree | 3cfdbec3c380a1ecbad3fd6137d04643811d8f9e | |
parent | 6701dd6a4dd5b91314a7ea8890620c7b16a0e058 (diff) |
hbase: 0.98.24 -> 2.4.11
-rw-r--r-- | nixos/tests/all-tests.nix | 3 | ||||
-rw-r--r-- | nixos/tests/hbase.nix | 30 | ||||
-rw-r--r-- | pkgs/servers/hbase/default.nix | 69 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
4 files changed, 89 insertions, 19 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index cb68ef685300e..9848487fd1347 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -199,6 +199,9 @@ in haste-server = handleTest ./haste-server.nix {}; haproxy = handleTest ./haproxy.nix {}; hardened = handleTest ./hardened.nix {}; + hbase1 = handleTest ./hbase.nix { package=pkgs.hbase1; }; + hbase2 = handleTest ./hbase.nix { package=pkgs.hbase2; }; + hbase3 = handleTest ./hbase.nix { package=pkgs.hbase3; }; hedgedoc = handleTest ./hedgedoc.nix {}; herbstluftwm = handleTest ./herbstluftwm.nix {}; installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {}); diff --git a/nixos/tests/hbase.nix b/nixos/tests/hbase.nix new file mode 100644 index 0000000000000..a449d24dd6fd8 --- /dev/null +++ b/nixos/tests/hbase.nix @@ -0,0 +1,30 @@ +import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.hbase, ... }: +{ + name = "hbase"; + + meta = with lib.maintainers; { + maintainers = [ illustris ]; + }; + + nodes = { + hbase = { pkgs, ... }: { + services.hbase = { + enable = true; + inherit package; + # Needed for standalone mode in hbase 2+ + # This setting and standalone mode are not suitable for production + settings."hbase.unsafe.stream.capability.enforce" = "false"; + }; + environment.systemPackages = with pkgs; [ + package + ]; + }; + }; + + testScript = '' + start_all() + hbase.wait_for_unit("hbase.service") + hbase.wait_until_succeeds("echo \"create 't1','f1'\" | sudo -u hbase hbase shell -n") + assert "NAME => 'f1'" in hbase.succeed("echo \"describe 't1'\" | sudo -u hbase hbase shell -n") + ''; +}) diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix index 32d2c09de97fb..46521da885390 100644 --- a/pkgs/servers/hbase/default.nix +++ b/pkgs/servers/hbase/default.nix @@ -1,22 +1,55 @@ -{ lib, stdenv, fetchurl, makeWrapper }: -stdenv.mkDerivation rec { - pname = "hbase"; - version = "0.98.24"; +{ lib +, stdenv +, fetchurl +, makeWrapper +, jdk8_headless +, jdk11_headless +, nixosTests +}: - src = fetchurl { - url = "mirror://apache/hbase/${version}/hbase-${version}-hadoop2-bin.tar.gz"; - sha256 = "0kz72wqsii09v9hxkw10mzyvjhji5sx3l6aijjalgbybavpcxglb"; - }; +let common = { version, hash, jdk ? jdk11_headless, tests }: + stdenv.mkDerivation rec { + pname = "hbase"; + inherit version; + + src = fetchurl { + url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz"; + inherit hash; + }; + + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out + cp -R * $out + wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} + ''; + + passthru = { inherit tests; }; - nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out - cp -R * $out - ''; - meta = with lib; { - description = "A distributed, scalable, big data store"; - homepage = "https://hbase.apache.org"; - license = licenses.asl20; - platforms = lib.platforms.linux; + meta = with lib; { + description = "A distributed, scalable, big data store"; + homepage = "https://hbase.apache.org"; + license = licenses.asl20; + maintainers = with lib.maintainers; [ illustris ]; + platforms = lib.platforms.linux; + }; + }; +in +{ + hbase_1_7 = common { + version = "1.7.1"; + hash = "sha256-DrH2G79QLT8L0YTTmAGC9pUWU8semSaTOsrsQRCI2rY="; + jdk = jdk8_headless; + tests.standalone = nixosTests.hbase1; + }; + hbase_2_4 = common { + version = "2.4.11"; + hash = "sha256-m0vjUtPaj8czHHh+rQNJJgrFAM744cHd06KE0ut7QeU="; + tests.standalone = nixosTests.hbase2; + }; + hbase_3_0 = common { + version = "3.0.0-alpha-2"; + hash = "sha256-QPvgO1BeFWvMT5PdUm/SL92ZgvSvYIuJbzolbBTenz4="; + tests.standalone = nixosTests.hbase3; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7d3d71538c88b..8528b5b07caa3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21414,7 +21414,11 @@ with pkgs; hasura-cli = callPackage ../servers/hasura/cli.nix { }; - hbase = callPackage ../servers/hbase {}; + inherit (callPackage ../servers/hbase {}) hbase_1_7 hbase_2_4 hbase_3_0; + hbase1 = hbase_1_7; + hbase2 = hbase_2_4; + hbase3 = hbase_3_0; + hbase = hbase2; # when updating, point to the latest stable release headphones = callPackage ../servers/headphones {}; |