BBlack has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/386939 )

Change subject: Varnish: puppetize per-backend between_bytes_timeout
......................................................................

Varnish: puppetize per-backend between_bytes_timeout

This sets what is already the default value everywhere, so it will
trigger VCL reloads but is a functional no-op.  This will make it
simpler, if the need arises, to quickly puppet-deploy reduced
limits for all 3 timeouts (connect, first_byte, between_bytes)
should the need arise (again) to limit the damaging impacts of a
minority of super-slow request executions at a backend.

Bug: T179156
Change-Id: I9b499411b47011f4fd545d27f13b26123fd52347
---
M hieradata/role/common/cache/canary.yaml
M hieradata/role/common/cache/misc.yaml
M hieradata/role/common/cache/text.yaml
M hieradata/role/common/cache/upload.yaml
M modules/profile/manifests/cache/misc.pp
M modules/profile/manifests/cache/text.pp
M modules/profile/manifests/cache/upload.pp
M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
8 files changed, 16 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/39/386939/1

diff --git a/hieradata/role/common/cache/canary.yaml 
b/hieradata/role/common/cache/canary.yaml
index fbc8b97..ca89252 100644
--- a/hieradata/role/common/cache/canary.yaml
+++ b/hieradata/role/common/cache/canary.yaml
@@ -26,6 +26,7 @@
   port: 80
   connect_timeout: '5s'
   first_byte_timeout: '180s'
+  between_bytes_timeout: '60s'
   max_connections: 0
 cache::app_directors:
   appservers:
diff --git a/hieradata/role/common/cache/misc.yaml 
b/hieradata/role/common/cache/misc.yaml
index e1b8c71..1d6d0c3 100644
--- a/hieradata/role/common/cache/misc.yaml
+++ b/hieradata/role/common/cache/misc.yaml
@@ -25,6 +25,7 @@
   port: 80
   connect_timeout: '5s'
   first_byte_timeout: '185s'
+  between_bytes_timeout: '60s'
   max_connections: 100
 cache::app_directors:
   bromine:
diff --git a/hieradata/role/common/cache/text.yaml 
b/hieradata/role/common/cache/text.yaml
index abf40fc..f633981 100644
--- a/hieradata/role/common/cache/text.yaml
+++ b/hieradata/role/common/cache/text.yaml
@@ -23,6 +23,7 @@
   port: 80
   connect_timeout: '5s'
   first_byte_timeout: '180s'
+  between_bytes_timeout: '60s'
   max_connections: 1000
 cache::app_directors:
   appservers:
diff --git a/hieradata/role/common/cache/upload.yaml 
b/hieradata/role/common/cache/upload.yaml
index f7c40d8..322b5c1 100644
--- a/hieradata/role/common/cache/upload.yaml
+++ b/hieradata/role/common/cache/upload.yaml
@@ -24,6 +24,7 @@
   port: 80
   connect_timeout: '5s'
   first_byte_timeout: '35s'
+  between_bytes_timeout: '60s'
   max_connections: 10000
 cache::app_directors:
   swift:
diff --git a/modules/profile/manifests/cache/misc.pp 
b/modules/profile/manifests/cache/misc.pp
index e589a51..f6bc8df 100644
--- a/modules/profile/manifests/cache/misc.pp
+++ b/modules/profile/manifests/cache/misc.pp
@@ -24,6 +24,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -32,6 +33,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 100,
         'probe'                 => 'varnish',
     }
diff --git a/modules/profile/manifests/cache/text.pp 
b/modules/profile/manifests/cache/text.pp
index d85727b..1878ce2 100644
--- a/modules/profile/manifests/cache/text.pp
+++ b/modules/profile/manifests/cache/text.pp
@@ -34,6 +34,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '185s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -42,6 +43,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '180s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 0,
         'probe'                 => 'varnish',
     }
diff --git a/modules/profile/manifests/cache/upload.pp 
b/modules/profile/manifests/cache/upload.pp
index 834b9e9..5fe6a2a 100644
--- a/modules/profile/manifests/cache/upload.pp
+++ b/modules/profile/manifests/cache/upload.pp
@@ -24,6 +24,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 100000,
         'probe'                 => 'varnish',
     }
@@ -32,6 +33,7 @@
         'port'                  => 3128,
         'connect_timeout'       => '5s',
         'first_byte_timeout'    => '35s',
+        'between_bytes_timeout' => '60s',
         'max_connections'       => 10000,
         'probe'                 => 'varnish',
     }
diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb 
b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
index 0549da2..9419e35 100644
--- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
+++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb
@@ -79,16 +79,18 @@
 #             'port' = 80,
 #             'connect_timeout' = '2s',
 #             'first_byte_timeout' = '4s',
+#             'between_bytes_timeout' = '3s',
 #             'max_connections' = 100, # per-backend!
 #         },
 #     },
 # }
 #
 #
-# @app_def_be_opts = { # exactly these 4 options supported/required
+# @app_def_be_opts = { # exactly these 5 options supported/required
 #     'port' = 80,
 #     'connect_timeout' = '2s',
 #     'first_byte_timeout' = '4s',
+#     'between_bytes_timeout' = '3s',
 #     'max_connections' = 100, # per-backend!
 # }
 # @app_directors = { # not always defined (e.g. frontends, for now)
@@ -103,6 +105,7 @@
 #             'port' = 80,
 #             'connect_timeout' = '2s',
 #             'first_byte_timeout' = '4s',
+#             'between_bytes_timeout' = '3s',
 #             'max_connections' = 100, # per-backend!
 #         },
 #         'probe'   => { # optional probe
@@ -140,6 +143,7 @@
        .port = "<%= be_opts['port'] %>";
        .connect_timeout = <%= be_opts['connect_timeout'] %>;
        .first_byte_timeout = <%= be_opts['first_byte_timeout'] %>;
+       .between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>;
        .max_connections = <%= be_opts['max_connections'] %>;
        .probe = varnish;
 }
@@ -166,6 +170,7 @@
        .port = "<%= be_opts['port'] %>";
        .connect_timeout = <%= be_opts['connect_timeout'] %>;
        .first_byte_timeout = <%= be_opts['first_byte_timeout'] %>;
+       .between_bytes_timeout = <%= be_opts['between_bytes_timeout'] %>;
        .max_connections = <%= be_opts['max_connections'] %>;
        <%- if director.key?('probe') -%>
        .probe = {

-- 
To view, visit https://gerrit.wikimedia.org/r/386939
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b499411b47011f4fd545d27f13b26123fd52347
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <bbl...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to