summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorDaniel Schaefer <git@danielschaefer.me>2019-05-02 08:59:39 +0200
committerDaniel Schaefer <git@danielschaefer.me>2019-06-13 04:36:42 +0200
commit03503121da3305b03b17d9f4fbfe99258cfd195f (patch)
treec51f9481f43db7a424c2d7ed6716a0c5b3d91c8e /nixos
parent8e5ba87b36c8640ada623811ec5f22af6fe60d44 (diff)
downloadnixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar.gz
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar.bz2
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar.lz
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar.xz
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.tar.zst
nixpkgs-03503121da3305b03b17d9f4fbfe99258cfd195f.zip
nixos/cassandra: Don't force SimpleSeedProvider
If the `seedAddresses` is not set, don't force `SimpleSeedProvider` to
be in `seed_provider`. This could cause problems in a multi-datacenter
deployment when a different seed provider is preferred.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/databases/cassandra.nix15
1 files changed, 8 insertions, 7 deletions
diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix
index 452691e4232..fc5812c49df 100644
--- a/nixos/modules/services/databases/cassandra.nix
+++ b/nixos/modules/services/databases/cassandra.nix
@@ -12,16 +12,17 @@ let
        cluster_name = cfg.clusterName;
        partitioner = "org.apache.cassandra.dht.Murmur3Partitioner";
        endpoint_snitch = "SimpleSnitch";
-       seed_provider =
-         [{ class_name = "org.apache.cassandra.locator.SimpleSeedProvider";
-            parameters = [ { seeds = concatStringsSep "," cfg.seedAddresses; } ];
-         }];
        data_file_directories = [ "${cfg.homeDir}/data" ];
        commitlog_directory = "${cfg.homeDir}/commitlog";
        saved_caches_directory = "${cfg.homeDir}/saved_caches";
-     } // (if lib.versionAtLeast cfg.package.version "3"
-             then { hints_directory = "${cfg.homeDir}/hints"; }
-             else {})
+     } // (lib.optionalAttrs (cfg.seedAddresses != []) {
+       seed_provider = [{
+         class_name = "org.apache.cassandra.locator.SimpleSeedProvider";
+         parameters = [ { seeds = concatStringsSep "," cfg.seedAddresses; } ];
+       }];
+     }) // (lib.optionalAttrs (lib.versionAtLeast cfg.package.version "3") {
+       hints_directory = "${cfg.homeDir}/hints";
+     })
     );
   cassandraConfigWithAddresses = cassandraConfig //
     ( if cfg.listenAddress == null