Page MenuHomePhabricator

Implement proxysql both for labs and for later production usage
Closed, ResolvedPublic

Description

ProxySQL is a high-performance MySQL proxy with a GPL license. http://www.proxysql.com/ It would be nice to use it for labsdb load balancing/failover, and later maybe for misc or some of the other production services. Implement the essentials to give support to that.

Details

Related Gerrit Patches:
operations/puppet : productionproxysql: fix line separator
operations/puppet : productionproxysql: Add notrack to firewall
operations/puppet : productionproxysql: Add firewall to labs role
operations/puppet : productionproxysql: Fix process check and user permissions; Fix .my.cnf
operations/puppet : productionproxysql: Fix typos on role
operations/puppet : productionproxysql: Setup dbproxy1011 as a test host for labs::db::proxy
operations/puppet : productionCreate labs::db::proxy role to load balance and failover replicas
operations/puppet : productionproxysql: install mysql-client alongside the proxy for admin
operations/puppet : productionAdd new module proxysql

Event Timeline

jcrespo created this task.Oct 18 2016, 10:54 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 18 2016, 10:54 AM

proxysql 1.2.4 is now available on the wikimedia repository (jessie only).

Change 316541 had a related patch set uploaded (by Jcrespo):
Add new module proxysql

https://gerrit.wikimedia.org/r/316541

jcrespo claimed this task.Oct 18 2016, 12:45 PM
jcrespo moved this task from Triage to In progress on the DBA board.

Change 316541 merged by Jcrespo:
Add new module proxysql

https://gerrit.wikimedia.org/r/316541

Change 316558 had a related patch set uploaded (by Jcrespo):
New labs::db::proxy role to load balance and failover replicas

https://gerrit.wikimedia.org/r/316558

Change 317140 had a related patch set uploaded (by Jcrespo):
proxysql: install mysql-client alongside the proxy for admin

https://gerrit.wikimedia.org/r/317140

Change 317140 merged by Jcrespo:
proxysql: install mysql-client alongside the proxy for admin

https://gerrit.wikimedia.org/r/317140

Change 316558 merged by Jcrespo:
Create labs::db::proxy role to load balance and failover replicas

https://gerrit.wikimedia.org/r/316558

Change 317173 had a related patch set uploaded (by Jcrespo):
proxysql: Setup dbproxy1011 as a test host for labs::db::proxy

https://gerrit.wikimedia.org/r/317173

Change 317173 merged by Jcrespo:
proxysql: Setup dbproxy1011 as a test host for labs::db::proxy

https://gerrit.wikimedia.org/r/317173

Change 317517 had a related patch set uploaded (by Jcrespo):
proxysql: Fix typos on role

https://gerrit.wikimedia.org/r/317517

Change 317517 merged by Jcrespo:
proxysql: Fix typos on role

https://gerrit.wikimedia.org/r/317517

Change 317542 had a related patch set uploaded (by Jcrespo):
proxysql: Fix process check and user permissions; Fix .my.cnf

https://gerrit.wikimedia.org/r/317542

Change 317542 merged by Jcrespo:
proxysql: Fix process check and user permissions; Fix .my.cnf

https://gerrit.wikimedia.org/r/317542

Change 317548 had a related patch set uploaded (by Jcrespo):
proxysql: Add firewall to labs role

https://gerrit.wikimedia.org/r/317548

Script wmf_auto_reimage was launched by jynus on neodymium.eqiad.wmnet for hosts:

['dbproxy1011.eqiad.wmnet']

The log can be found in /var/log/wmf-auto-reimage/201610250740_jynus_5880.log.

Change 317548 merged by Jcrespo:
proxysql: Add firewall to labs role

https://gerrit.wikimedia.org/r/317548

Change 317762 had a related patch set uploaded (by Jcrespo):
proxysql: Add notrack to firewall

https://gerrit.wikimedia.org/r/317762

Change 317762 merged by Jcrespo:
proxysql: Add notrack to firewall

https://gerrit.wikimedia.org/r/317762

Completed auto-reimage of hosts:

['dbproxy1011.eqiad.wmnet']

and were ALL successful.

Change 317764 had a related patch set uploaded (by Jcrespo):
proxysql: fix line separator

https://gerrit.wikimedia.org/r/317764

Change 317764 merged by Jcrespo:
proxysql: fix line separator

https://gerrit.wikimedia.org/r/317764

jcrespo closed this task as Resolved.Oct 26 2016, 8:48 AM

This technically works, the only things missing is having multiple proxysql instances per server and proxy resiliency, but that will be done only when it is needed; resolving this for now.