Last modified: 2014-01-30 17:03:05 UTC
The Kibana frontend for Logstash stores dashboards in an Elasticsearch index. Saving a dashboard results in an HTTP PUT request being sent from the user's browser to logstash.wikimedia.org. This vhost is behind the misc Varnish cluster. It turns out that the base Varnish configuration (modules/varnish/templates/vcl/wikimedia.vcl.erb) returns a 403 response for any request that is not "^(GET|HEAD|POST|PURGE)$". The current Puppet module does not allow this to be overridden by a specific Varnish cluster configuration (eg. templates/varnish/misc.inc.vcl.erb).
I talked to Mark during the RFC summit and he thought that it would be reasonable to change the varnish::instance define so that a regex of allowed method could be provided per deploy. This could then be used to allow PUT on the misc-lb instances.
Change 109330 had a related patch set uploaded by BryanDavis: Allow PUT method to hosts behind the misc Varnish cluster https://gerrit.wikimedia.org/r/109330
Change 109330 merged by Ori.livneh: Allow PUT method to hosts behind the misc Varnish cluster https://gerrit.wikimedia.org/r/109330
Verified that Kibana dashboard saves work now.