]> git.openstreetmap.org Git - chef.git/blob - roles/orm.rb
Split up large method to make rubocop happy.
[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.5"],
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.5/main"
70     },
71     :node_file => "/store/database/nodes",
72     :styles => {
73       :default => {
74         :tile_directories => [
75           { :name => "/store/tiles/default-low", :min_zoom => 0, :max_zoom => 17 },
76           { :name => "/store/tiles/default-high", :min_zoom => 18, :max_zoom => 19 }
77         ]
78       }
79     }
80   }
81 )
82
83 override_attributes(
84   :networking => {
85     :nameservers => ["8.8.8.8", "8.8.4.4"]
86   }
87 )
88
89 run_list(
90   "role[ic]",
91   "role[tyan-s7010]",
92   "role[tile]"
93 )