]> git.openstreetmap.org Git - chef.git/blob - roles/ironbelly.rb
Use he.net address to query metrics from Amsterdam switch
[chef.git] / roles / ironbelly.rb
1 name "ironbelly"
2 description "Master role applied to ironbelly"
3
4 default_attributes(
5   :dhcpd => {
6     :first_address => "10.0.63.1",
7     :last_address => "10.0.63.254"
8   },
9   :elasticsearch => {
10     :cluster => {
11       :routing => {
12         :allocation => {
13           :disk => {
14             :watermark => {
15               :low => "95%",
16               :high => "98%",
17               :flood_stage => "99%"
18             }
19           }
20         }
21       }
22     },
23     :path => {
24       :data => "/store/elasticsearch"
25     }
26   },
27   :networking => {
28     :interfaces => {
29       :internal => {
30         :interface => "bond0",
31         :role => :internal,
32         :inet => {
33           :address => "10.0.48.10"
34         },
35         :bond => {
36           :mode => "802.3ad",
37           :lacprate => "fast",
38           :xmithashpolicy => "layer3+4",
39           :slaves => %w[eth0 eth1]
40         }
41       },
42       :external_cogent => {
43         :interface => "bond0.2",
44         :role => :external,
45         :metric => 150,
46         :source_route_table => 100,
47         :inet => {
48           :address => "130.117.76.10",
49           :prefix => "27",
50           :gateway => "130.117.76.1"
51         },
52         :inet6 => {
53           :address => "2001:978:2:2c::172:a",
54           :prefix => "64",
55           :gateway => "2001:978:2:2c::172:1",
56           :routes => {
57             "2001:470:1:b3b::/64" => { :type => "unreachable" }
58           }
59         }
60       },
61       :external => {
62         :interface => "bond0.3",
63         :role => :external,
64         :source_route_table => 150,
65         :inet => {
66           :address => "184.104.179.138",
67           :prefix => "27",
68           :gateway => "184.104.179.129"
69         },
70         :inet6 => {
71           :address => "2001:470:1:fa1::a",
72           :prefix => "64",
73           :gateway => "2001:470:1:fa1::1"
74         }
75       }
76     }
77   },
78   :prometheus => {
79     :snmp => {
80       "pdu1" => { :address => "10.0.48.100", :modules => %w[apcups], :labels => { "site" => "amsterdam" } },
81       "pdu2" => { :address => "10.0.48.101", :modules => %w[apcups], :labels => { "site" => "amsterdam" } },
82       "switch1" => { :address => "184.104.179.129", :modules => %w[if_mib juniper_ex4300], :labels => { "site" => "amsterdam" } }
83     },
84     :metrics => {
85       :uplink_interface => {
86         :help => "Site uplink interface name",
87         :labels => { :site => "amsterdam", :name => "ge-[01]/2/0|ae60" }
88       }
89     }
90   },
91   :rsyncd => {
92     :modules => {
93       :logs => {
94         :comment => "Log files",
95         :path => "/store/logs",
96         :read_only => false,
97         :write_only => true,
98         :list => false,
99         :uid => "www-data",
100         :gid => "www-data",
101         :transfer_logging => false,
102         :hosts_allow => [
103           "193.60.236.0/24",          # ucl external
104           "10.0.48.0/20",             # amsterdam internal
105           "130.117.76.0/27",          # amsterdam external (cogent)
106           "2001:978:2:2c::172:0/112", # amsterdam external (cogent)
107           "184.104.179.128/27",       # amsterdam external (he)
108           "2001:470:1:fa1::/64",      # amsterdam external (he)
109           "10.0.64.0/20",             # dublin internal
110           "184.104.226.96/27",        # dublin external
111           "2001:470:1:b3b::/64",      # dublin external
112           "10.0.32.0/20",             # bytemark internal
113           "89.16.162.16/28",          # bytemark external
114           "2001:41c9:2:d6::/64",      # bytemark external
115           "127.0.0.0/8",              # localhost
116           "::1"                       # localhost
117         ]
118       }
119     }
120   }
121 )
122
123 run_list(
124   "role[equinix-ams]",
125   "role[gateway]",
126   "recipe[rsyncd]",
127   "recipe[dhcpd]"
128 )