Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Releases: cloudfoundry/cf-mysql-release

v19

06 Apr 18:33
Compare
Choose a tag to compare
v19
  • Rebranding from "Pivotal CF" to "Pivotal Cloud Foundry" #91555658
  • Fix broker-deregistrar errand to succeed even when MySQL service is broken #86970592
  • Some documentation fixes/updates including releasing CONTRIBUTING.md #90029504
  • Improved logging of route-registrar process on proxy and broker jobs #91161536
  • Templates now require Ubuntu Trusty stemcell version 2859 for AWS and 2831 for vSphere.

v18

27 Mar 01:31
Compare
Choose a tag to compare
v18

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>
    
  2. 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.

v17 - DO NOT USE

11 Mar 17:37
Compare
Choose a tag to compare

The healthcheck endpoint on the proxy has changed with the switch from HAProxy to Switchboard. Load balancers previously configured to healthcheck the proxy tier on port 1936 would report all proxy instances as failed, resulting in the service being unavailable. This will be resolved in the next release.

v16

11 Mar 17:38
Compare
Choose a tag to compare
v16

Highlights

  • Default stemcell includes shellshock patch: 2719.3 (ubuntu trusty go_agent)
  • Use Xtrabackup plugin to allow writes during SST
  • Service supports upgrade/downgrade service plan by declaring plan_updateable:true in catalog
  • HAProxy can be scaled horizontally (default number of instances: 2)
  • Fixed HAProxy compilation issue on Openstack #34
  • Fixed incorrect calculation of storage utilization for the purposes of quota enforcement when multiple apps are bound
  • Logging and monitoring of route-registration process is now independent of the broker process
  • Resource pool sizes are now dynamic by default
  • plan_updateable: true by default
  • haproxy job has been renamed to proxy to support replacing HAProxy with another proxy technology in the future. Manual steps are required when upgrading from a previous release; see notes below.
  • Format of jdbcUrl connection string corrected (found in VCAP_SERVICES on bind)
  • Upgraded ruby to 2.1.5
  • Quota Enforcer tolerates an unavailable Mysql database, tries to reconnect for 60 seconds before job starts to fail

Upgrading from previous final releases

In v16 we have renamed the HAProxy job to, simply, proxy. This enables us to replace HAProxy with another proxy software package in the future, without additional manual steps or impact to service.

This change requires operators to follow these manual steps before deploying v16.

  1. Confirm what version of the release is currently deployed

    $ bosh deployments
    
  2. Confirm that there is a job called haproxy associated with this deployment

    $ bosh vms
    
  3. Download the current manifest

    $ bosh download manifest <deployment-name> /tmp/cf-mysql.yml
    
  4. Rename the haproxy job to proxy in the manifest. On OSX, this can be accomplished with:

    $ sed -i '' 's/name: haproxy/name: proxy/' /tmp/cf-mysql.yml
    
  5. Set the deployment manifest

    $ bosh deployment /tmp/cf-mysql.yml
    
  6. Deploy the renamed job

    $ bosh rename job haproxy proxy
    
  7. Confirm that the job has been renamed correctly

    $ bosh vms
    
  8. Now follow normal steps to generate a new manifest for v16 and deploy

v15 - DO NOT USE

11 Mar 19:50
Compare
Choose a tag to compare
Final release version 15

v14

11 Mar 19:50
Compare
Choose a tag to compare
v14

Highlights

  • New database migrations for broker to fix error when upgrading from past releases when instances exist
  • Password redacted from galera-healthcheck log

v13 - DO NOT USE

11 Mar 19:51
Compare
Choose a tag to compare
Final release 13

[#79217928]

v12

11 Mar 19:52
Compare
Choose a tag to compare
v12

Highlights

  • If a MariaDB node becomes unwritable, HAProxy routes new connections to a healthy node
  • If a MariaDB node becomes unwritable, existing connections are dropped
  • MariaDB Galera Cluster 10.0.13 fixes several known issues

v11

11 Mar 19:53
Compare
Choose a tag to compare
v11

Highlights

  • Catalog supports concurrent connection quotas being set per plan; when a concurrent connection quota is not set for a plan, a default is used.
  • Default stemcell is now Trusty go_agent 2682.
  • Replication is disabled during run of mysql_upgrade.sh, fixing a bug that could caused errors when the upgrade was replicated.
  • The hostname included in bind credentials by the broker is now configurable, supporting external DNS or load balancing across multiple HAProxy instances (horizontal scaling of HAProxy tier coming in a future release). Defaults to the internal IP of the current single HAProxy instance, or mysql node 0 when HAProxy is not deployed.
  • mysql node 0 will attempt to rejoin an existing cluster before bootstrapping.
  • Timestamps have been added to logs for Monit start processes.

Manifest Changes

  • Removed unused property jobs.mysql.properties.persistent_disk; the required property is jobs.mysql.persistent_disk.
  • Added optional property jobs.cf-mysql-broker.properties.max_user_connections_default; defaults to 40.
  • Added optional property jobs.cf-mysql-broker.properties.services.[*].plans.[*].max_user_connections; defaults to value of max_user_connections_default.