]> git.openstreetmap.org Git - chef.git/blob - roles/eddie.rb
Configure eddie as a database slave
[chef.git] / roles / eddie.rb
1 name "eddie"
2 description "Master role applied to eddie"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :db => {
9     :cluster => "9.5/main"
10   },
11   :networking => {
12     :interfaces => {
13       :internal_ipv4 => {
14         :interface => "enp1s0f0.2801",
15         :role => :internal,
16         :family => :inet,
17         :address => "10.0.0.10"
18       }
19     }
20   },
21   :postgresql => {
22     :settings => {
23       :defaults => {
24         :shared_buffers => "64GB",
25         :work_mem => "64MB",
26         :maintenance_work_mem => "1GB",
27         :effective_cache_size => "180GB",
28         :effective_io_concurrency => "256"
29       }
30     }
31   },
32   :sysctl => {
33     :postgres => {
34       :comment => "Increase shared memory for postgres",
35       :parameters => {
36         "kernel.shmmax" => 66 * 1024 * 1024 * 1024,
37         "kernel.shmall" => 66 * 1024 * 1024 * 1024 / 4096
38       }
39     }
40   },
41   :sysfs => {
42     :md_tune => {
43       :comment => "Enable request merging for NVMe devices",
44       :parameters => {
45         "block/nvme0n1/queue/nomerges" => "1",
46         "block/nvme1n1/queue/nomerges" => "1",
47         "block/nvme2n1/queue/nomerges" => "1",
48         "block/nvme3n1/queue/nomerges" => "1",
49         "block/nvme4n1/queue/nomerges" => "1",
50         "block/nvme5n1/queue/nomerges" => "1",
51         "block/nvme6n1/queue/nomerges" => "1"
52       }
53     }
54   }
55 )
56
57 run_list(
58   "role[ucl]",
59   "role[db-slave]"
60 )