cloudfoundry / cf-mysql-release

Cloud Foundry MySQL Release
Apache License 2.0
58 stars 106 forks source link

proxy links optional in smoke-test errand template? #175

Closed jriguera closed 7 years ago

jriguera commented 7 years ago

I am trying to deploy a MySQL cluster without using proxy vms. The idea is move all the logic to our BigIP F5 load balancer in order to simplify the infrastructure and have only one LB layer. The F5 LB uses the same health checks endpoints as the switchboard proxy and it has similar properties, all this setup is automated.

I was able to deploy a cluster of 2 Mariadb instances and 1 Arbitrator and it is running fine. I have defined the properties cf_mysql.smoke_tests.standalone_tests_only: true and cf_mysql.host: 10.230.31.227 (which is the VIP of the F5 loadbalancer) but the smoke-tests errand fails rendering the proxy links here https://github.com/cloudfoundry/cf-mysql-release/blob/develop/jobs/smoke-tests/templates/config.yml.erb#L13

Is it possible to define a if_link('proxy') conditional block to be able to run the smoke tests in standalone mode? I think it makes sense avoiding this dependency with the proxy, specially when the property cf_mysql.host is defined.

Thanks!

cf-gitbot commented 7 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/149318831

The labels on this github issue will be updated when the story is started.

menicosia commented 7 years ago

Hi @jriguera,

We strongly recommend that you always include Switchboard proxies when deploying cf-mysql. The reasoning behind this is that much of cf-mysql is designed to offer an HA experience, not a scale-out opportunity. That's because when apps are talking to more than one instance of Galera at a time, there's a considerable amount of knowledge necessary at the App level that we don't recommend for the typical MySQL consumer.

Switchboard has quite a bit of custom logic built-in to protect the unaware MySQL user from Galera's edge-cases (such as not distributing locks).

As such, because that's the primary focus of this product, I don't think we're likely to implement this request. I'm going to close this as wontfix, but as always you can feel free to re-open to continue the conversation.

-- Marco Nicosia Product Manager Pivotal Software, Inc.

jriguera commented 7 years ago

Hi @menicosia

Thank you for your reply. I think now the topic turns to focus on the Switchboard proxy, tbh, I am still not convinced and I would like to clarify some points regarding HA. I do not mind keeping this issue closed because the answer is clear. Should I open a new topic regarding some questions about HA and Switchboard or continue here?

Thanks!

menicosia commented 7 years ago

Hello, I've tried to explain a bit why we're using Switchboard in switchboard #10.

Primarily, we require switchboard because the cf-mysql-release is intended to offer a "single node" MySQL experience with very fast failover characteristics. We focus on that, rather than scale-out, so that the application developer know as little as possible about the Galera implementation underneath. Ideally, they're just writing to a "standard MySQL server" that coincidentally is very durable to IaaS failures.


Marco Nicosia Product Manager Pivotal Software, Inc.

jriguera commented 7 years ago

Hi @menicosia,

Thanks for the link, you have an interesting thread there, I will read it and continue (if needed) my questions there. Thank you!