release: github.com/cloudfoundry/cf-mysql-release / 18

Github source: 21b65b45 or master branch

Highlights

  • Connections to database are severed when node becomes unhealthy
    • HAProxy has been replaced by Switchboard as the proxy software
  • Made timeout for when a node is determined unhealthy configurable with properties.proxy.healthcheck_timeout_millis
  • Switchboard provides a dashboard that clearly displays node health in real time
  • Switchboard provides an API to retrieve node heath
  • Switchboard provides a configurable healthcheck port
  • Upgraded to MariaDB 10.0.16
  • Upgraded to Galera 25.3.9 25.3.5*
  • Fixed bug where quota enforcer could fail when broker hasn’t finished initializing
  • Updated templates to use Ubuntu Trusty stemcell version 2859 by default
  • Default instance type on AWS increased to m3.large
  • Default instances on vSphere have been increased to 4GB RAM, 2 CPU, 10GB persistent disk
  • Default compilation instances on vSphere have been increased to 4GB RAM, 4 CPU, 20GB persistent disk
  • Default plan names no longer contain -dev suffix
  • Improved logging for various subcomponents (proxy/switchboard, mariadb_ctrl)
  • Improved documentation around bootstrapping, latency, etc.
  • The acceptance-tests errand runs only smoke tests by default

Manifest changes

  • MySQL job
    • Removed properties.haproxy_mysql_user
  • Proxy job
    • Removed properties.haproxy_mysql_user
    • Removed properties.external_domain
    • Added properties.proxy.port (defaults to 3306)
    • Added properties.proxy.api_port (defaults to 80)
    • Added properties.health_port (defaults to 1936 for backwards compatibility with HAProxy)
    • Added properties.proxy.api_username
    • Added properties.external_host (which prepends “p-mysql” to the value of properties.external_domain in the spiff templates)
    • Renamed properties.mysql_ips to properties.cluster_ips
    • Renamed properties.haproxy_stats_password to properties.proxy.api_password
  • Acceptance-tests job
    • Added properties.smoke_tests_only boolean (defaults to true)
    • Added timeout_scale to adjust test command timeouts (defaults to 1)
    • Added properties.proxy.external_host
    • Added properties.proxy.api_username
    • Added properties.proxy.api_password

Upgrading from previous releases

Requires cf-release v193 or higher to support users changing the service plan for an instance. 1. In your stub, change the following properties from:

   jobs:
   - name: proxy
     properties:
       haproxy_stats_password: <password>
       mysql_ips: <ip list>

to (values chosen to preserve functionality):

     jobs:
     - name: proxy
       properties:
         proxy:
           api_username: admin
           api_password: <password>
         cluster_ips: <ip list>
  1. Generate your manifest as described in Create Manifest and Deploy.

* The galera version was erroneously reported as 25.3.9. It is in fact 25.3.5. We regret the error.

Upload this release version to the Director:

$ bosh upload-release https://bosh.io/d/github.com/cloudfoundry/cf-mysql-release?v=18 --sha1 b82c2502a7f37207fb12e6a63f10a03ca4b2fa58

Modify deployment manifest to use this release in addition to any other used releases:

releases:
- name: cf-mysql
  version: "18"

Finally add needed deployment jobs and specify values for required properties.

Optionally download sha1: b82c2502a7f37207fb12e6a63f10a03ca4b2fa58 release tarball locally:

# ...or download it directly using curl
$ curl -L -J -O https://bosh.io/d/github.com/cloudfoundry/cf-mysql-release?v=18

# or with wget...
$ wget --content-disposition https://bosh.io/d/github.com/cloudfoundry/cf-mysql-release?v=18