]> git.openstreetmap.org Git - chef.git/blob - roles/orm.rb
5e4c83135f08de40de146d9938b4af6f02c24f02
[chef.git] / roles / orm.rb
1 name "orm"
2 description "Master role applied to orm"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :devices => {
9     :ssd_samsung => {
10       :comment => "Tune scheduler for SSD",
11       :type => "block",
12       :bus => "ata",
13       :serial => "Samsung_SSD_840_PRO_Series_*",
14       :attrs => {
15         "queue/scheduler" => "noop",
16         "queue/nr_requests" => "256",
17         "queue/read_ahead_kb" => "2048"
18       }
19     },
20     :arecavoltune => {
21       :comment => "Tune scheduler for Areca",
22       :type => "block",
23       :bus => "scsi",
24       :serial => "2001b4d20*",
25       :attrs => {
26         "queue/scheduler" => "deadline",
27         "queue/nr_requests" => "512",
28         "queue/read_ahead_kb" => "2048"
29       }
30     }
31   },
32   :networking => {
33     :interfaces => {
34       :external_ipv4 => {
35         :interface => "eth0",
36         :role => :external,
37         :family => :inet,
38         :address => "193.63.75.98"
39       },
40       :external_ipv6 => {
41         :interface => "eth0",
42         :role => :external,
43         :family => :inet6,
44         :address => "2001:630:12:500:2e0:81ff:fec5:2a8c"
45       }
46     }
47   },
48   :postgresql => {
49     :versions => ["9.6"],
50     :settings => {
51       :defaults => {
52         :shared_buffers => "8GB",
53         :maintenance_work_mem => "7144MB",
54         :effective_cache_size => "16GB"
55       }
56     }
57   },
58   :sysctl => {
59     :postgres => {
60       :comment => "Increase shared memory for postgres",
61       :parameters => {
62         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
63         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
64       }
65     }
66   },
67   :tile => {
68     :database => {
69       :cluster => "9.6/main",
70       :postgis => "2.3"
71     },
72     :node_file => "/store/database/nodes",
73     :styles => {
74       :default => {
75         :tile_directories => [
76           { :name => "/store/tiles/default-low", :min_zoom => 0, :max_zoom => 17 },
77           { :name => "/store/tiles/default-high", :min_zoom => 18, :max_zoom => 19 }
78         ]
79       }
80     }
81   }
82 )
83
84 override_attributes(
85   :networking => {
86     :nameservers => ["8.8.8.8", "8.8.4.4"]
87   }
88 )
89
90 run_list(
91   "role[ic]",
92   "role[tyan-s7010]",
93   "role[tile]"
94 )