CF MySQL Broker provides MySQL databases as a Cloud Foundry service. This broker demonstrates the v2 services API between cloud controllers and service brokers. This API is not to be confused with the cloud controller API; for more info see Service Broker API.
The broker does not include a MySQL server. Instead, it is meant to be deployed alongside a MySQL server, which it manages, as part of cf-mysql-release. Deploying this as a standalone application to cloud foundry (e.g. via cf push
) is not supported. The MySQL management tasks that the broker performs are as follows:
- Provisioning of database instances (create)
- Creation of credentials (bind)
- Removal of credentials (unbind)
- Unprovisioning of database instances (delete)
The CF MySQL Broker integration specs will exercise the catalog fetch, create, bind, unbind, and delete functions against its locally installed database.
- Run a local install MySQL server.
- Specs have only been tested with MySQL 5.6
- Specs assume MySQL root user without a password
- The anonymous user (User='' and Host='localhost') must be deleted (see [spec/spec_helper])
delete from mysql.user where name='';
flush privileges
- Specific innodb settings are required (see [spec/spec_helper])
- innodb_stats_on_metadata = ON
mysql -uroot -e "SET GLOBAL innodb_stats_on_metadata=ON"
- innodb_stats_persistent = OFF
mysql -uroot -e "SET GLOBAL innodb_stats_persistent=OFF"
- innodb_stats_on_metadata = ON
- Run the following commands
$ cd cf-mysql-broker
$ bundle
$ bundle exec rake db:setup
$ bundle exec rake spec