Releases: cloudfoundry/cf-mysql-release
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
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.925.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
- Removed
- 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 ofproperties.external_domain
in the spiff templates) - Renamed
properties.mysql_ips
toproperties.cluster_ips
- Renamed
properties.haproxy_stats_password
toproperties.proxy.api_password
- Removed
- 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
- Added
Upgrading from previous releases
Requires cf-release v193 or higher to support users changing the service plan for an instance.
-
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>
-
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
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
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 defaulthaproxy
job has been renamed toproxy
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.
-
Confirm what version of the release is currently deployed
$ bosh deployments
-
Confirm that there is a job called haproxy associated with this deployment
$ bosh vms
-
Download the current manifest
$ bosh download manifest <deployment-name> /tmp/cf-mysql.yml
-
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
-
Set the deployment manifest
$ bosh deployment /tmp/cf-mysql.yml
-
Deploy the renamed job
$ bosh rename job haproxy proxy
-
Confirm that the job has been renamed correctly
$ bosh vms
-
Now follow normal steps to generate a new manifest for v16 and deploy
v15 - DO NOT USE
Final release version 15
v14
v13 - DO NOT USE
Final release 13 [#79217928]
v12
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 isjobs.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 ofmax_user_connections_default
.