]> git.openstreetmap.org Git - chef.git/blobdiff - roles/base.rb
Add wireguard keepalives to a few more machines
[chef.git] / roles / base.rb
index b38d5ce167c02e029f98f644c6f6e3ff5ecf3643..310b2ddf1876e178cac58d5e3ba6e5b1e3eebcdc 100644 (file)
@@ -10,15 +10,19 @@ default_attributes(
       :jburgess => { :status => :administrator }
     }
   },
       :jburgess => { :status => :administrator }
     }
   },
-  :apt => {
-    :sources => [ "openstreetmap" ]
+  :munin => {
+    :plugins => {
+      :chrony => {
+        :systime => { :warning => "100", :critical => "250" }
+      }
+    }
   },
   :networking => {
     :roles => {
       :internal => { :metric => 200, :zone => "loc" },
   },
   :networking => {
     :roles => {
       :internal => { :metric => 200, :zone => "loc" },
-      :external => { :metric => 100 }
+      :external => { :metric => 100, :zone => "osm" }
     },
     },
-    :search => [ "openstreetmap.org" ]
+    :search => ["openstreetmap.org"]
   },
   :sysctl => {
     :panic => {
   },
   :sysctl => {
     :panic => {
@@ -27,7 +31,10 @@ default_attributes(
     },
     :blackhole => {
       :comment => "Do TCP level MTU probing if we seem to have an ICMP blackhole",
     },
     :blackhole => {
       :comment => "Do TCP level MTU probing if we seem to have an ICMP blackhole",
-      :parameters => { "net.ipv4.tcp_mtu_probing" => "1" }
+      :parameters => {
+        "net.ipv4.tcp_mtu_probing" => "1",
+        "net.ipv4.tcp_base_mss" => "1024"
+      }
     },
     :network_buffers => {
       :comment => "Tune network buffers",
     },
     :network_buffers => {
       :comment => "Tune network buffers",
@@ -35,12 +42,16 @@ default_attributes(
         "net.core.rmem_max" => "16777216",
         "net.core.wmem_max" => "16777216",
         "net.ipv4.tcp_rmem" => "4096\t87380\t16777216",
         "net.core.rmem_max" => "16777216",
         "net.core.wmem_max" => "16777216",
         "net.ipv4.tcp_rmem" => "4096\t87380\t16777216",
-        "net.ipv4.tcp_wmem" => "4096\t65536\t16777216"
+        "net.ipv4.tcp_wmem" => "4096\t65536\t16777216",
+        "net.ipv4.udp_mem" => "3145728\t4194304\t16777216"
       }
     },
     :network_backlog => {
       :comment => "Increase maximum backlog for incoming network packets",
       }
     },
     :network_backlog => {
       :comment => "Increase maximum backlog for incoming network packets",
-      :parameters => { "net.core.netdev_max_backlog" => "2500" }
+      :parameters => {
+        "net.core.netdev_max_backlog" => "2500",
+        "net.core.netdev_budget" => "600"
+      }
     },
     :network_conntrack_established => {
       :comment => "Only track established connections for four hours",
     },
     :network_conntrack_established => {
       :comment => "Only track established connections for four hours",
@@ -53,14 +64,19 @@ default_attributes(
       :parameters => {
         "net.ipv4.tcp_syncookies" => "1"
       }
       :parameters => {
         "net.ipv4.tcp_syncookies" => "1"
       }
-    }
-  },
-  :sysfs => {
-    :cpufreq_ondemand => {
-      :comment => "Tune the ondemand CPU frequency governor",
+    },
+    :default_qdisc => {
+      :comment => "Use fq as the default queuing discipline and cubic for congestion control",
+      :parameters => {
+        "net.core.default_qdisc" => "fq",
+        "net.ipv4.tcp_congestion_control" => "cubic"
+      }
+    },
+    :tune_cpu_scheduler => {
+      :comment => "Tune CPU scheduler for server scheduling",
       :parameters => {
       :parameters => {
-        "devices/system/cpu/cpufreq/ondemand/up_threshold" => "25",
-        "devices/system/cpu/cpufreq/ondemand/sampling_down_factor" => "100"
+        "kernel.sched_migration_cost_ns" => 50000000,
+        "kernel.sched_autogroup_enabled" => 0
       }
     }
   }
       }
     }
   }
@@ -72,7 +88,8 @@ run_list(
   "recipe[chef]",
   "recipe[devices]",
   "recipe[hardware]",
   "recipe[chef]",
   "recipe[devices]",
   "recipe[hardware]",
-  "recipe[munin]",
+  "recipe[prometheus]",
+  "recipe[munin::plugins]",
   "recipe[networking]",
   "recipe[exim]",
   "recipe[ntp]",
   "recipe[networking]",
   "recipe[exim]",
   "recipe[ntp]",