Code Monkey home page Code Monkey logo

cf-mysql-deployment's Introduction

DEPRECATED: cf-mysql-release is deprecated and this repo is no longer maintained.

        See [pxc-release](https://github.com/cloudfoundry/pxc-release)

Cloud Foundry MySQL Bosh Deployment

Table of contents

Usage

Deploying

Security Groups

Registering the Service Broker

Smoke Tests

Deregistering the Service Broker

This repo contains a BOSH 2 manifest that defines tested topologies of cf-mysql-release.

It serves as the reference for the compatible release and stemcell versions.

This repo takes advantage of new features such as:

Please refer to BOSH documentation for more details. If you're having troubles with the pre-requisites, please contact the BOSH team for help (perhaps on slack).

Usage

Prerequisites

  • A deployment of BOSH

  • A deployment of Cloud Foundry, final release 193 or greater

  • Instructions for installing BOSH and Cloud Foundry can be found at http://docs.cloudfoundry.org/.

  • Routing release v0.145.0 or later is required to register the proxy and broker routes with Cloud Foundry:

    bosh upload release https://bosh.io/d/github.com/cloudfoundry-incubator/cf-routing-release?v=0.145.0

    Standalone deployments (i.e. deployments that do not interact with Cloud Foundry) do not require the routing release.

Upload Stemcell

The latest final release expects the Ubuntu Trusty (14.04) go_agent stemcell version 2859 by default. Older stemcells are not recommended. Stemcells can be downloaded from http://bosh.io/stemcells; choose the appropriate stemcell for your infrastructure (vsphere esxi, aws hvm, or openstack kvm).

Upload Release

You can use a pre-built final release or build a dev release from any of the branches described in Getting the Code.

Final releases are stable releases created periodically for completed features. They also contain pre-compiled packages, which makes deployment much faster. To deploy the latest final release, simply check out the master branch. This will contain the latest final release and accompanying materials to generate a manifest. If you would like to deploy an earlier final release, use git checkout <tag> to obtain both the release and corresponding manifest generation materials. It's important that the manifest generation materials are consistent with the release.

If you'd like to deploy the latest code, build a release yourself from the develop branch.

Create and upload a BOSH Release:

  1. Build the development release.
$ cd ~/workspace/cf-mysql-release
$ git checkout release-candidate
$ ./scripts/update
$ bosh2 create-release
  1. Upload the release to your bosh environment:
$ bosh2 -e YOUR_ENV upload-release

Create Infrastructure

Define subnets

Prior to deployment, the operator should define three subnets via their infrastructure provider. The MySQL release is designed to be deployed across three subnets to ensure availability in the event of a subnet failure.

Create load balancer

In order to route requests to both proxies, the operator should create a load balancer. Manifest changes required to configure a load balancer can be found in the proxy documentation. Once a load balancer is configured, the brokers will hand out the address of the load balancer rather than the IP of the first proxy.

  • Note: When using an Elastic Load Balancer (ELB) on Amazon, make sure to create the ELB in the same VPC as your cf-mysql deployment
  • Note: For all load balancers, take special care to configure health checks to use the health_port of the proxies (default 1936). Do not configure the load balancer health check to use port 3306.
  • You must use the IP address(es) of your load balancer in the p-mysql security group, below. Otherwise, applications will not be able to connect to the database.

There are two ways to configure a load balancer, either automatically through your IaaS or by supplying static IPs for the proxies

For IaaS native load balancers (AWS elb, GCP target_pool, etc)

In order for the MySQL deployment to attach the proxy instances to your configured load balancer, you need to use the proxy-elb.yml opsfile. This opsfile requires a vm_extension in your cloud-config which references your load balancer and also defines the specific requirements for your IaaS. You'll need to consult your IaaS documentation as well as your BOSH CPI documentation for the specifics of the cloud_properties definitions for use in your vm_extension. You can read more specifics about configuration of the proxies here.

For custom load balancers (haproxy, f5, etc)

If you would like to use a custom load balancer, you can manually configure your proxies to use static IP addresses which your load balancer can point to. To do that, create an operations file that looks like the following, with static IPs that make sense for your network:

- type: replace
  path: /instance_groups/name=proxy/networks
  value:
    - name: default
      static_ips:
      - 10.10.0.1
      - 10.10.0.2

Deploying

Deployment Components

Database nodes

The number of mysql nodes should always be odd, with a minimum count of three, to avoid split-brain. When the failed node comes back online, it will automatically rejoin the cluster and sync data from one of the healthy nodes.

The MariaDB cluster nodes are configured by default with 10GB of persistent disk. This can be configured using an operations file to change instance_groups/name=mysql/persistent_disk and properties/cf_mysql/mysql/persistent_disk, however your deployment will fail if this is less than 3GB.

Proxy nodes

There are two proxy instances. The second proxy is intended to be used in a failover capacity. In the event the first proxy fails, the second proxy will still be able to route requests to the mysql nodes.

Broker nodes

There are also two broker instances. The brokers each register a route with the router, which load balances requests across the brokers.

New deployments

New deployments will work "out of the box" with little additional configuration. There are two mechanisms for providing credentials to the deployment:

  • Credentials can be provided with -l <path-to-vars-file> (see below for more information on variable files).
  • variables store file should be provided with --vars-store <path-to-vars-store-file> to let the CLI generate secure passwords and write them to the provided vars store file.

By default the deployment manifest will not deploy brokers, nor try to register routes for the proxies with a Cloud Foundry router. To enable integration with Cloud Foundry, operations files are provided to add brokers and register proxy routes.

If you require static IPs for the proxy instance groups, these IPs should be added to the networks section of the cloud-config as well as to an operations file which will use these IPs for the proxy instance groups. See below for more information on operations files.

bosh \
  -e my-director \
  -d cf-mysql \
  deploy \
  ~/workspace/cf-mysql-deployment/cf-mysql-deployment.yml \
  -o <path-to-operations-file>

Upgrading from previous deployment topologies

If you are upgrading an existing deployment of cf-mysql-release with a manifest that does not take advantage of these new features, for example if the manifest was generated via the spiff templates and stubs provided in the cf-mysql-release repository, then be aware:

  1. The base manifest refers to AZs called z1, z2, and z3. If your cloud-config doesn't have those AZs, it will result in an error.
  2. The base manifest will not deploy brokers, nor try to register routes for the proxies with a Cloud Foundry router. If you wish to preserve this behavior you will need to include the add brokers and register proxy routes operations files.
  3. Create custom operations files to map any non-default configuration (e.g. the number of maximum connections).
  4. Create a custom operation file to migrate your BOSH 1 jobs and static IPs to their new BOSH 2 instance_groups. See the section below for more information.
  5. Create a variables file to contain the credentials of the existing deployment.
  • Using --vars-store is not recommended as it will result in credentials being rotated which can cause issues.
  1. Run the following command:
bosh \
  -e my-director \
  -d my-deployment \
  deploy \
  ~/workspace/cf-mysql-deployment/cf-mysql-deployment.yml \
  -o <path-to-deployment-name-operations> \
  [-o <path-to-additional-operations>] \
  -l <path-to-vars-file> \
  [-l <path-to-additional-vars-files>]

Operations file for migrating from BOSH 1 style manifest to a BOSH 2 style manifest

Refer to these docs on migrating from a BOSH 1 style manifest, then create an ops file to mix in those migrations into the base deployment manifest. See below for an example:

---
- type: replace
  path: /instance_groups/name=mysql/migrated_from?
  value:
  - name: mysql_z1
    az: z1
  - name: mysql_z2
    az: z2
  - name: mysql_z3
    az: z3

- type: replace
  path: /instance_groups/name=mysql/networks
  value:
  - name: default
    static_ips:
    - 10.10.0.1
    - 10.10.0.2
    - 10.10.0.3

Operations files

Additional example operations files used for common configurations of cf-mysql-release (e.g. adding a broker for Cloud Foundry integration) can be found in the operations directory. See the README in that directory for a description of which (combinations) of files to use for enabling each common feature set.

The manifest template is not intended to be modified; any changes you need to make should be added to operations files.

The syntax for operations files is detailed here.

Operations files can be provided at deploy-time as follows:

bosh \
  deploy \
  -o <path-to-operations-file>

Variables files

Variables files are a flat-format key-value yaml file which contains sensitive information such as passwords, ssl keys/certs etc.

They can be provided at deploy-time as follows:

bosh \
  deploy \
  -l <path-to-vars-file>

We provide a default set of variables intended for a local bosh-lite environment here.

Use this as an example for your environment-specific variables file.

Cross-deployment links

By default, this deployment assumes that some variables (e.g. nats) are provided by cross-deployment links from a deployment named cf. This will be true if Cloud Foundry was deployed via cf-deployment.

If you wish to disable cross-deployment links, use the disable-cross-deployment-links.yml operations file.

Disabling cross-deployment links will require these values to be provided manually (e.g. by passing -v nats={...} to the bosh deploy command).

Security Groups

By default, applications cannot to connect to IP addresses on the private network, preventing applications from connecting to the MySQL service. To enable access to the service, create a new security group for the IP configured in your manifest for the property jobs.cf-mysql-broker.mysql_node.host.

Note: This is not required for CF running on bosh-lite, as these application groups are pre-configured.

  1. Add the rule to a file in the following json format; multiple rules are supported.
[
 {
   "destination": "10.10.163.1-10.10.163.255",
   "protocol": "all"
  },
 {
   "destination": "10.10.164.1-10.10.164.255",
   "protocol": "all"
  },
 {
   "destination": "10.10.165.1-10.10.165.255",
   "protocol": "all"
  }
]
  • Create a security group from the rule file.

    $ cf create-security-group p-mysql rule.json
  • Enable the rule for all apps

    $ cf bind-running-security-group p-mysql

Security group changes are only applied to new application containers; existing apps must be restarted.

Registering the Service Broker

After registering the service broker, the MySQL service will be visible in the Services Marketplace; using the CLI, run cf marketplace.

BOSH errand

$ bosh2 -e YOUR_ENV -d cf-mysql run-errand broker-registrar

Manually

  1. First register the broker using the cf CLI. You must be logged in as an admin.

    $ cf create-service-broker p-mysql BROKER_USERNAME BROKER_PASSWORD URL
    

    BROKER_USERNAME and BROKER_PASSWORD are the credentials Cloud Foundry will use to authenticate when making API calls to the service broker. Use the values for manifest properties jobs.cf-mysql-broker.properties.auth_username and jobs.cf-mysql-broker.properties.auth_password.

    URL specifies where the Cloud Controller will access the MySQL broker. Use the value of the manifest property jobs.cf-mysql-broker.properties.external_host. By default, this value is set to p-mysql.<properties.domain> (in spiff: "p-mysql." .properties.domain).

    For more information, see Managing Service Brokers.

  2. Then make the service plan public.

Smoke Tests

The smoke tests are useful for verifying a deployment. The MySQL Release contains an "smoke-tests" job which is deployed as a BOSH errand.

Running Smoke Tests via BOSH errand

Run the smoke tests via bosh errand as follows:

$ bosh2 -e YOUR_ENV -d cf-mysql run-errand smoke-tests

De-registering the Service Broker

The following commands are destructive and are intended to be run in conjuction with deleting your BOSH deployment.

$ bosh2 -e YOUR_ENV -d cf-mysql run-errand deregister-and-purge-instances

Manually

Run the following:

$ cf purge-service-offering p-mysql
$ cf delete-service-broker p-mysql

cf-mysql-deployment's People

Contributors

abg avatar apshirley avatar christarazi avatar crsimmons avatar johannasmith avatar jpalermo avatar jpalmerpivotal avatar menicosia avatar ndhanushkodi avatar pcf-core-services-writer avatar robdimsdale avatar utricularian avatar willmurphyscode avatar zankich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cf-mysql-deployment's Issues

The mysql-broker is giving an error "ERR_TOO_MANY_REDIRECTS"

Hi.
We have use following cf and mysql version.
cf-mysql version 32.
cf release version: 281.

The everything is working fine but when we are accessing the mysql-broker url which is integrating with UAA for authentication and authorization.
its redirect to the cf login page for login and after that its redirect back to mysql-broker page with following error on browser.

This page isn’t working
mysql.sys.xxxx.xxxx.xxxx-cloud.com redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

I have checked the logs of mysql-broker. its giving following warning.

"Warning! Rack::Session::Cookie data size exceeds 4K.
Warning! Rack::Session::Cookie failed to save session. Content dropped."

I think because of above warning, the UAA token is not storing into the session of mysql-broker and thats reason its again redirect to cf login page for authenticate and authorization again and again and thats the reason of this error i think so.

Any suggestion?

Broken deployments

It is currently impossible to deploy this when using smoke-tests or brokers, the ops files have been migrated to use functionality of cf-mysql-release that was added in v36 but the release is hardcoded to v35.

cf-mysql-deployment missing proxy-static-ips operations file

Context In #136469529, we took out the need for static IPs. In #136539935, we added a add-proxy-static-ips.yml operations file, but it went in cf-mysql-release/examples/bosh2.0/overrides and was never carried over to cf-mysql-deployment.

Now, I am hearing reports that people are re-deploying without any requirement for static IPs, which causes the proxies to lose their static IP. This means that they cannot sit behind most load balancers.

When I follow updated cf-mysql-deployment instructions that cover the need to preserve and/or deploy using static IPs (for instance, when sitting behind a manually configured load balancer),
Then I am able to deploy cf-mysql-release using cf-mysql-deployment, and deploying with add-broker.yml without having the error:

14:08:07 | Updating instance broker: broker/2c9e0b19-7c04-47c6-9561-1128a9a69994 (0) (canary) (00:10:19)
            L Error: 'broker/0 (2c9e0b19-7c04-47c6-9561-1128a9a69994)' is not running after update. Review logs for failed jobs: cf-mysql-broker, quota-enforcer

Broker vm of cf-mysql-deployment giving error as "logs for failed jobs: cf-mysql-broker, quota-enforcer"

We are deploying MySQL using cf-mysql-deployment with cf-mysql-release v36.11.0 on Azure.

Did deployment with bosh -e env_name deploy -d cf-mysql cf-mysql-deployment.yml -o operations/add-broker.yml -o operations/register-proxy-route.yml -o proxy.yml -l vars_file.yml --vars-store vars-store.yml.
where proxy.yml is for assigning static_ips to proxy VM.

Sharing logs of broker VM from quota_enforcer.stdout.log
":{"error":"Finding violators: Error executing 'quota violator'.All: Error 1146: Table 'mysql_broker.service_instances' doesn't exist"}}
But when we checked on mysql VM by connecting to DB.
mysql_broker database was there with no tables.

mysql_error1

Can someone help to identify what could be issue.

Smoke tests fail with error 10001

Smoke tests fail with the following error on CF V7.5.0:

cf create-service-key lifecycle-1-instance-ec858709beec1aa8 lifecycle-1-key-f53d01d01b9af76f -c {"read-only":"notboolean"}
Creating service key lifecycle-1-key-f53d01d01b9af76f for service instance lifecycle-1-instance-ec858709beec1aa8 as MySQLATS-USER-1-2019_02_27-00h33m54.028s...
FAILED
Server error, status code: 502, error code: 10001, message: Service broker error: Invalid arbitrary parameter syntax. Please check the documentation for supported arbitrary parameters.

Please configure GITBOT

Pivotal uses GITBOT to synchronize Github issues and pull requests with Pivotal Tracker.
Please add your new repo to the GITBOT config-production.yml in the Gitbot configuration repo.
If you don't have access you can send an ask ticket to the CF admins. We prefer teams to submit their changes via a pull request.

Steps:

  • Fork this repo: cfgitbot-config
  • Add your project to config-production.yml file
  • Submit a PR

If there are any questions, please reach out to [email protected].

how to set "ssl_enabled" for broker

Hello,

I'm trying to deploy a small mysql service using cf-mysql-deployment in a vSphere cluster. To make it simple, there's only one proxy, one broker, and no external LB. So, it looks like ssl_enabled: false should be set to enable direct access to the broker.

I've modified the add-broker.yml, but no luck. Now the service broker has been manually created, but the catalog and service offerings cannot be seen in marketplace, as the broker still redirect requests to https://p-mysql.gcps.lab.

I'm wondering how to set broker http access correctly.

All manifests are here for review.

The command log is listed below:

[gcps@ansiblehost cf-mysql-deployment]$ bosh2 -e bosh-1 -d mysql-1 deploy mysql-1/mysql-deployment.mysql-1.yml \
-o mysql-1/add-broker.mysql-1.yml \
-o mysql-1/register-proxy-route.mysql-1.yml \
-o operations/mysql-host.yml \
-v cf_mysql_host=10.11.0.30 \
-v cf_mysql_external_host=p-mysql.gcps.lab \
--vars-store mysql-1/deployment-vars.yml 




[gcps@ansiblehost cf-mysql-deployment]$ bosh2 -e bosh-1 -d mysql-1 vms
Using environment '10.10.0.6' as client 'admin'

Task 148. Done

Deployment 'mysql-1'

Instance                                         Process State  AZ  IPs         VM CID                                   VM Type
arbitrator/b90dddf4-ae07-4cf0-9489-c0974e80707f  running        z1  10.11.0.29  vm-4c15f59a-e152-4b49-921a-c8cc6266b235  default
broker/26fcd8e0-a401-4e1b-acac-f7aa3e6bfb11      running        z1  10.11.0.31  vm-e61a675f-f306-4eda-9acd-7a0aac5130cf  large
mysql/01362872-4959-44df-b23a-87040c8c47cf       running        z1  10.11.0.28  vm-b661aac8-cf4e-49ee-8361-4088816399ec  large
mysql/62685ac2-8424-4404-ab39-8ec312eb5f76       running        z1  10.11.0.27  vm-2b2ace4c-411a-4830-a1be-778a5489194d  large
proxy/0febf712-6dc0-4e3e-bc8d-6903c1061b76       running        z1  10.11.0.30  vm-1cb1d230-5b38-4b0d-b033-71b802888280  default

5 vms

Succeeded


[gcps@ansiblehost cf-mysql-deployment]$ bosh2 -e bosh-1 -d mysql-1 errands
Using environment '10.10.0.6' as client 'admin'

Using deployment 'mysql-1'

Name
bootstrap
broker-registrar
deregister-and-purge-instances
rejoin-unsafe
smoke-tests
verify-cluster-schemas

6 errands

Succeeded


[gcps@ansiblehost mysql-1]$ cf create-service-broker p-mysql admin 1d7wg4svdtp6c4p9h106 http://p-mysql.gcps.lab:8081

[gcps@ansiblehost mysql-1]$ cf service-brokers
Getting service brokers as admin...

name      url
mysql-1   http://p-mysql.gcps.lab:8081



[gcps@ansiblehost cf-mysql-deployment]$ cf service-brokers
Getting service brokers as admin...

name      url
p-mysql   http://p-mysql.gcps.lab:8081


[gcps@ansiblehost cf-mysql-deployment]$ cf marketplace
Getting services from marketplace in org gcps / space gcps-dev as admin...
OK

No service offerings found


$ curl -vvv http://admin:1d7* About to connect() to p-mysql.gcps.lab port 8081 (#0)
*   Trying 10.11.0.31...
* Connected to p-mysql.gcps.lab (10.11.0.31) port 8081 (#0)
* Server auth using Basic with user 'admin'
> GET /v2/catalog HTTP/1.1
> Authorization: Basic YWRtaW46MWQ3d2c0c3ZkdHA2YzRwOWgxMDY=
> User-Agent: curl/7.29.0
> Host: p-mysql.gcps.lab:8081
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Tue, 25 Jul 2017 15:50:53 GMT
< Connection: close
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Content-Type: application/json; charset=utf-8
< ETag: W/"3082d73a1effc9c653c75bb2014e7273"
< Cache-Control: max-age=0, private, must-revalidate
< X-Request-Id: bb3f3c3d-b071-4ea5-a91a-ec7e292f74ac
< X-Runtime: 0.007688
< Transfer-Encoding: chunked
<
{"services":[{"id":"44b26033-1f54-4087-b7bc-da9652c2a539","name":"p-mysql","description":"MySQL databases on demand","tags":["mysql"],"metadata":{"displayName":"MySQL for Pivotal Cloud Foundry","imageUrl":"data:image/png;base64,.............","longDescription":"Creating a service instance provisions a database. Binding applications provisions unique credentials for each application to access the database.","providerDisplayName":"Pivotal Software","documentationUrl":"https://github.com/cloudfoundry/cf-mysql-release/blob/master/README.md","supportUrl":"https://support.pivotal.io"},"plan_updateable":true,"plans":[{"id":"ab08f1bc-e6fc-4b56-a767-ee0fea6e3f20","name":"10mb","description":"Shared MySQL Server","metadata":{"costs":[{"amount":{"usd":0.0},"unit":"MONTH"}],"bullets":["Shared MySQL Server","10 MB storage","20 concurrent connections"],"displayName":"10mb"}},{"id":"11d0aa36-dcec-4021-85f5-ea4d9a5c8342","name":"20mb","description":"Shared MySQL Server","metadata":{"costs":[{"amount":{"usd":0.0},"unit":"MONTH"}],"bullets":["Shared MySQL Server"* Closing connection 0
,"20 MB storage","40 concurrent connections"],"displayName":"20mb"}}],"bindable":true,"dashboard_client":{"id":"p-mysql","secret":"vcvqkbqtvbt33ol7ml7e","redirect_uri":"https://p-mysql.gcps.lab/"}}]}

Thanks a lot.

Deploying cf-mysql fails with Error: 'broker/fd6c8424-0545-4034-9216-5c40d94cc188 (0)' is not running after update. Review logs for failed jobs: cf-mysql-broker, quota-enforcer

Hi,

I’m deploying cf-mysql on a vSphere cluster with the following command:

bosh deploy -d cf-mysql cf-mysql-deployment/cf-mysql-deployment.yml -o cf-mysql-deployment/operations/latest-versions.yml --vars-store=data/mysql-deployments-vars.yml --vars-file=data/mysql-variables.yml -o cf-mysql-deployment/operations/add-broker.yml -o cf-mysql-deployment/operations/register-proxy-route.yml

And the task fails with the error like in the subject.

The status of the instances is like following:
Instance Process Process State AZ IPs
arbitrator/b3b9485f-d73a-41a9-b2d5-dabfb38e8121 - running z3 10.175.19.95
~ galera-healthcheck running - -
~ garbd running - -
bootstrap-vm/32db974a-b72e-4148-91a4-48883f83f584 - - z1 -
broker-registrar-vm/6f91f73c-583f-406a-aca7-79f6e433af38 - - z1 -
broker/b1925e51-1f36-4c41-bd1d-8328dec31167 - running z2 10.175.19.99
broker/fd6c8424-0545-4034-9216-5c40d94cc188 - failing z1 10.175.19.98
~ cf-mysql-broker unknown - -
~ quota-enforcer unknown - -
~ route_registrar running - -
deregister-and-purge-instances-vm/a24f7187-1c7f-4e8e-8331-b2df59780480 - - z1 -
mysql/10cbd9a0-0e2f-4609-982a-cd4a937f4394 - running z1 10.175.19.92
~ cluster_health_logger running - -
~ galera-healthcheck running - -
~ gra-log-purger-executable running - -
~ mariadb_ctrl running - -
mysql/43258bf0-6e5e-4874-bb0c-68dbaa1db369 - running z2 10.175.19.94
~ cluster_health_logger running - -
~ galera-healthcheck running - -
~ gra-log-purger-executable running - -
~ mariadb_ctrl running - -
proxy/69e5e3b0-1bbd-4aa8-a26c-4a439a8d0f38 - running z2 10.175.19.97
~ route_registrar running - -
~ switchboard running - -
proxy/a0f297cd-9332-4bcc-8c73-6ff1b914d003 - running z1 10.175.19.96
~ route_registrar running - -
~ switchboard running - -
rejoin-unsafe-vm/5f56ab20-879d-4f73-9d13-5eb156038fd0 - - z1 -
smoke-tests-vm/bdaef958-92ab-4e74-9863-f43702e16d5f - - z1 -
verify-cluster-schemas-vm/01aebb3a-06ae-4109-850a-1ecdb026f2c9

When I login into the failing broker monit shows:

Process 'cf-mysql-broker' not monitored
Process 'quota-enforcer' not monitored
Process 'route_registrar' running
System 'system_localhost' running

In the quota enfocer log I see the following:
ng violators: Error executing 'quota violator'.All: Error 1146: Table 'mysql_broker.service_instances' doesn't exist"}}
{"timestamp":"1526298446.740462542","source":"Quota Enforcer","message":"Quota Enforcer.Looking for violators","log_level":1,"data":{}}
{"timestamp":"1526298446.741202354","source":"Quota Enforcer","message":"Quota Enforcer.Enforcing Failed","log_level":2,"data":{"error":"Finding violators: Error executing 'quota violator'.All: Error 1146: Table 'mysql_broker.service_instances' doesn't exist"}}
{"timestamp":"1526298447.741350412","source":"Quota Enforcer","message":"Quota Enforcer.Looking for violators","log_level":1,"data":{}}
{"timestamp":"1526298447.742021084","source":"Quota Enforcer","message":"Quota Enforcer.Enforcing Failed","log_level":2,"data":{"error":"Finding violators: Error executing 'quota violator'.All: Error 1146: Table 'mysql_broker.service_instances' doesn't exist"}}

No other errors visible. My cf deployment is using haproxy.

What am I doing wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.