When cluster.databases is configured, read the master connection from it
Summary:
Ref T4571. Ref T10759. Ref T10758. This isn't complete, but gets most of the job done:
- When cluster.databases is set up, most things ignore mysql.host now.
- You can bin/storage upgrade and stuff works.
- You can browse around in the web UI and stuff works.
There's still a lot of weird tricky stuff to navigate, and this has real no advantages over configuring a single server yet (no automatic failover, etc).
Test Plan:
- Configured cluster.databases to point at my t1.micro hosts in EC2 (master + replica).
- Ran bin/storage upgrade, got a new install setup on them properly.
- Survived setup warnings, browsed around.
- Switched back to local config, ran bin/storage upgrade, browsed around, went through setup checks.
- Intentionally broke config (bad hosts, no masters) and things seemed to react reasonably well.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T4571, T10758, T10759
Differential Revision: https://secure.phabricator.com/D15668