]> git.openstreetmap.org Git - chef.git/blobdiff - roles/karm.rb
Add role for keizer
[chef.git] / roles / karm.rb
index 42b2e436a8cda31046bdb07e70a631aec58351b6..9f1fc2a9a6ac9d535c8a7280a5b42f3a17c03291 100644 (file)
@@ -2,19 +2,65 @@ name "karm"
 description "Master role applied to karm"
 
 default_attributes(
+  :apt => {
+    :sources => ["postgresql"]
+  },
+  :db => {
+    :cluster => "9.5/main"
+  },
   :networking => {
     :interfaces => {
       :internal_ipv4 => {
-        :interface => "enp1s0f0",
+        :interface => "bond0",
         :role => :internal,
         :family => :inet,
-        :address => "146.179.159.168",
-        :hwaddress => "0c:c4:7a:a3:aa:ac"
+        :address => "10.0.48.50",
+        :bond => {
+          :slaves => %w[enp1s0f0 enp1s0f1]
+        }
+      }
+    }
+  },
+  :postgresql => {
+    :settings => {
+      :defaults => {
+        :shared_buffers => "64GB",
+        :work_mem => "64MB",
+        :maintenance_work_mem => "1GB",
+        :effective_cache_size => "180GB",
+        :effective_io_concurrency => "256",
+        :random_page_cost => "1.1"
+      }
+    }
+  },
+  :sysctl => {
+    :postgres => {
+      :comment => "Increase shared memory for postgres",
+      :parameters => {
+        "kernel.shmmax" => 66 * 1024 * 1024 * 1024,
+        "kernel.shmall" => 66 * 1024 * 1024 * 1024 / 4096
+      }
+    }
+  },
+  :sysfs => {
+    :md_tune => {
+      :comment => "Enable request merging for NVMe devices",
+      :parameters => {
+        "block/nvme0n1/queue/nomerges" => "1",
+        "block/nvme1n1/queue/nomerges" => "1",
+        "block/nvme2n1/queue/nomerges" => "1",
+        "block/nvme3n1/queue/nomerges" => "1",
+        "block/nvme4n1/queue/nomerges" => "1",
+        "block/nvme5n1/queue/nomerges" => "1",
+        "block/nvme6n1/queue/nomerges" => "1",
+        "block/nvme7n1/queue/nomerges" => "1"
       }
     }
   }
 )
 
 run_list(
-  "role[ic]"
+  "role[equinix]",
+  "role[db-master]",
+  "role[db-backup]"
 )