In theory it should be simple to have horizon be active/active between the two labweb hosts. They should only need to share memcached access for tokens.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | bd808 | T166396 Program 1 Outcome 4: VPS hosting | |||
Resolved | Jdforrester-WMF | T172165 Require either PHP 7.0+ or HHVM in MW 1.31 | |||
Resolved | RobH | T168559 decom silver (was silver has trouble rebooting) | |||
Resolved | Jclark-ctr | T189921 decom californium | |||
Resolved | PRODUCTION ERROR | Andrew | T168470 Setup wikitech, horizon, and striker on new labweb hardware | ||
Resolved | Andrew | T187493 deploy horizon version 'ocata' using scap3 | |||
Resolved | Andrew | T187506 load-balance horizon between labweb1001 and 1002 |
Event Timeline
Change 411546 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb horizon: share memcached among labwebs
I misunderstood this a bit -- I assumed that the misc-web varnishes would load-balance for us, but it turns out we would need to add an additional layer of load-balancing (and a service ip) in front of the labwebs to have them be active/active. I'm not totally sure this is worth the additional complexity (especially the complexity of debugging future issues) given that we'll have no trouble supporting current traffic loads with one active host.
I think setting up an LVS is pretty easy these days (at least for the folk who know how to do it). I poked around and found this example config change -- https://gerrit.wikimedia.org/r/#/c/378956/.
Change 413169 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/dns@master] add lvs ip for labweb services
Change 413171 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb: add lvs service in front of labweb1001/1002
Change 413169 merged by Andrew Bogott:
[operations/dns@master] add lvs ip for labweb services
Change 413171 merged by Andrew Bogott:
[operations/puppet@production] labweb: add lvs service in front of labweb1001/1002
Change 411546 merged by Andrew Bogott:
[operations/puppet@production] labweb horizon: share memcached among labwebs
Change 413178 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] horizon: add a missing arg
Change 413178 merged by Andrew Bogott:
[operations/puppet@production] horizon: add a missing arg
Change 413186 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] horizon memcache: fix an issue with erb var resolution
Change 413186 merged by Andrew Bogott:
[operations/puppet@production] horizon memcache: fix an issue with erb var resolution
Change 413188 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb: inclued role::lvs::realserver on labweb hosts
Change 413188 merged by Andrew Bogott:
[operations/puppet@production] labweb: inclued role::lvs::realserver on labweb hosts
Change 413194 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] horizon/labweb: open firewall to internal IPs for port 80
Change 413194 merged by Andrew Bogott:
[operations/puppet@production] horizon/labweb: open firewall to internal IPs for port 80
Change 413239 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb: remove specific memcached port
Change 413239 merged by Andrew Bogott:
[operations/puppet@production] labweb: remove specific memcached port
Horizon is now load-balanced on both hosts. I still need to figure out cache sharing for striker and wikitech.
Change 413275 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb: install nutcracker
Change 413275 merged by Andrew Bogott:
[operations/puppet@production] labweb: install nutcracker
Change 413394 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb nutcracker: re-use profile::mediawiki::nutcracker
Change 413396 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb nutcracker: further attempt to pass in memcached_pools correctly
Change 413394 merged by Andrew Bogott:
[operations/puppet@production] labweb nutcracker: re-use profile::mediawiki::nutcracker
Change 413413 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb nutcracker: add non-functional redis host list
Change 413413 merged by Andrew Bogott:
[operations/puppet@production] labweb nutcracker: add non-functional redis host list
Change 413490 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] labweb: create /var/run/nutcracker
Change 413490 merged by Andrew Bogott:
[operations/puppet@production] labweb: create /var/run/nutcracker
Change 413396 abandoned by Andrew Bogott:
labweb nutcracker: further attempt to pass in memcached_pools correctly
Reason:
I did this a different way
nutcracker is now running on both labwebs, sharing a memcached pool. In theory it's also configured for redis but redis isn't actually running on either host. We'll see if we turn out to need it.