From 99e9133ef366db61cf0c82c688b64346f9d5bd61 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 9 Dec 2016 09:04:06 +0000 Subject: [PATCH 1/1] Add role for scorch --- .../templates/default/shorewall-zones.erb | 1 + roles/ovh.rb | 27 ++++++ roles/scorch.rb | 89 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 roles/ovh.rb create mode 100644 roles/scorch.rb diff --git a/cookbooks/networking/templates/default/shorewall-zones.erb b/cookbooks/networking/templates/default/shorewall-zones.erb index 345ebd860..65a7697a5 100644 --- a/cookbooks/networking/templates/default/shorewall-zones.erb +++ b/cookbooks/networking/templates/default/shorewall-zones.erb @@ -31,3 +31,4 @@ dh:osm <%= @type %> aws:osm <%= @type %> ds:osm <%= @type %> uz:osm <%= @type %> +ovh:osm <%= @type %> diff --git a/roles/ovh.rb b/roles/ovh.rb new file mode 100644 index 000000000..826fcc991 --- /dev/null +++ b/roles/ovh.rb @@ -0,0 +1,27 @@ +name "ovh" +description "Role applied to all servers at OVH" + +default_attributes( + :hosted_by => "OVH", + :location => "Paris, France", + :networking => { + :nameservers => [ + "213.186.33.99" + ], + :roles => { + :external => { + :zone => "ovh" + } + } + } +) + +override_attributes( + :ntp => { + :servers => ["0.fr.pool.ntp.org", "1.fr.pool.ntp.org", "europe.pool.ntp.org"] + } +) + +run_list( + "role[fr]" +) diff --git a/roles/scorch.rb b/roles/scorch.rb new file mode 100644 index 000000000..be1e75c8c --- /dev/null +++ b/roles/scorch.rb @@ -0,0 +1,89 @@ +name "scorch" +description "Master role applied to scorch" + +default_attributes( + :apt => { + :sources => ["postgresql"] + }, + :devices => { + :ssd_system => { + :comment => "Tune scheduler for system disk", + :type => "block", + :bus => "scsi", + :serial => "3600605b009bbf5601fc3206407a43546", + :attrs => { + "queue/scheduler" => "noop", + "queue/nr_requests" => "256", + "queue/read_ahead_kb" => "2048" + } + }, + :ssd_database => { + :comment => "Tune scheduler for database disk", + :type => "block", + :bus => "scsi", + :serial => "3600605b009bbf5601fd931c6dfac767f", + :attrs => { + "queue/scheduler" => "noop", + "queue/nr_requests" => "256", + "queue/read_ahead_kb" => "2048" + } + } + }, + :networking => { + :interfaces => { + :external_ipv4 => { + :interface => "eth0", + :role => :external, + :family => :inet, + :address => "176.31.235.79", + :prefix => "24", + :gateway => "176.31.235.254" + }, + :external_ipv6 => { + :interface => "eth0", + :role => :external, + :family => :inet6, + :address => "2001:41d0:2:fc4f::", + :prefix => "64", + :gateway => "fe80::12bd:18ff:fee5:2280" + } + } + }, + :postgresql => { + :versions => ["9.5"], + :settings => { + :defaults => { + :shared_buffers => "8GB", + :maintenance_work_mem => "7144MB", + :effective_cache_size => "16GB" + } + } + }, + :sysctl => { + :postgres => { + :comment => "Increase shared memory for postgres", + :parameters => { + "kernel.shmmax" => 9 * 1024 * 1024 * 1024, + "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096 + } + } + }, + :tile => { + :database => { + :cluster => "9.5/main" + }, + :node_file => "/store/database/nodes", + :styles => { + :default => { + :tile_directories => [ + { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 } + ] + } + } + } +) + +run_list( + "role[ovh]", + "role[tile]" +) -- 2.43.2