Re: Announcing cf-mysql-release v26, now with a slimmer VM footprint!


Marco Nicosia
 

On Thu, Mar 10, 2016 at 6:08 AM, Benjamin Gandon <benjamin(a)gandon.org>
wrote:

Thanks for the answer Marco! (I realize I'm much influenced by the
Percona vision, because they are active here in Paris dev communities.)

I finally upgraded to v26 and well.. Congratulations for the deep review
of manifests, but.. What a tremendous change!
Yeah, I acknowledge that it's a significant impact, and I regret that we
weren't able to come up with an easier way to do it. However, in order to
make a material difference in how difficult it is to generate manifests, it
was necessary to fundamentally re-factor the properties.


My feedback: starting from a mere mistake forgetting the "http://" prefix
in the "api_url" prop, I arrived to a half-finished bosh deploy :(
By the time I realized the issue was not about the broker database
migration (which was failing and prevented the az1 broker from booting) I
already had wiped the cluster out.
This is very concerning. Typically, when a bosh deploy fails to complete,
you should be able to fix the manifest issue and roll forward.

I am worried about the broker database migration, it should be idempotent.
If you have more information that would allow us to better understand,
please open a GitHub issue so that we can look into it further.


Fortunately it was not in production! But the manifest change is so big
that such mistakes are easy to do.
How do you generate manifests?

We have made assumptions that Operators are maintaining and updating Spiff
stubs, and generating an entirely new manifest with each release. If this
is not the case, please let us know how you maintain your manifests,
release over release.

Anyway I wish we had some basic syntax checks on Bosh props that would
have warned me like: “Hey you need an 'http://' prefix here!”
We don't have validator functionality that we can offer right now. However,
we provide scripts to generate manifests, which, among other things,
provide the api_url automatically
<https://github.com/cloudfoundry/cf-mysql-release/blob/v26/manifest-generation/misc-templates/config-from-cf-internal.yml#L12>
(hence
my question above).

Btw, white labeling is not finished: there are still a bunch of Pivotal
references out there. Didn't you know that the "p" in "p-mysql" stands for
"Pivotal"? ;)
This is an artifact of the fact that, originally, we had hoped that there
might be many providers of MySQL in the marketplace. So although this is
the Cloud Foundry Foundation's software, we use the "p-" to distinguish it
as software that was primarily contributed by Pivotal. If others wanted to
publish MySQL services, they would show up alongside p-mysql when a user
runs `cf marketplace.`

For what it's worth, you can change the manifest property, `
properties.cf-mysql.broker.name` to whatever name you'd like to show in the
marketplace.

I wrote a story <https://www.pivotaltracker.com/story/show/115805005> to
get this and the api_url
<https://www.pivotaltracker.com/story/show/115819685>, documented in the
spec files.

I might push some PR within the next days or so about that.

/Benjamin
--
Marco Nicosia
Product Manager
Pivotal Software, Inc.



Le 2 mars 2016 à 21:16, Marco Nicosia <mnicosia(a)pivotal.io> a écrit :

Hi Benjamin,

Sorry for the delayed response!

There are technically no trade-offs when using an Arbitrator, with the
sole exception that you're sacrificing an extra level of data redundancy by
keeping only two copies of the data, not three.

For that reason, a three node cluster is still a "standard" deployment
option, you just use the no-arbitrator
<https://github.com/cloudfoundry/cf-mysql-release/tree/v26/manifest-generation/examples/no-arbitrator>
example during manifest generation.

Galera doesn't do GTID re-sync in the normal way that MySQL does. GTID has
a slightly different context. There's a blog
<https://www.percona.com/blog/2015/02/13/percona-xtradb-cluster-5-6-a-tale-of-2-mysql-gtids/>
that describes some of the differences if you want to dive in. In the case
of whole-cluster failure, we describe how to bootstrap
<https://github.com/cloudfoundry/cf-mysql-release/blob/v26/docs/bootstrapping.md>
the cluster in the documentation.

Finally, 10.1 is very definitely something we're excited to begin to
support. It's something we want to do in a way that will allow users to
migrate as they feel comfortable. So, we have some challenges to figure out
how to make it an easy option while still allowing conservative users 10.0
as an option.

--
Marco Nicosia
Product Manager
Pivotal Software, Inc.


On Fri, Feb 26, 2016 at 2:34 AM, Benjamin Gandon <benjamin(a)gandon.org>
wrote:

Hi,

Congratulations for this v26 release!

Do you have any documentation for the benefits and trade offs
introduced by this new arbitrator, compared to the standard 3-nodes setup?
What happens to the "quorum" principle in such arbitrator setup?

Are there any consequences or benefits in terms of managing possible sync
failures and manual GTID re-sync?

And a last question : do you plan upgrading to MariaDB 10.1.x in future
releases?

/Benjamin

Le 25 févr. 2016 à 17:53, Mike Youngstrom <youngm(a)gmail.com> a écrit :

In our case we'll use the arbitrator because we only have 2 AZs in some
datacenters. The Arbitrator allows us to place the 3rd member of the
cluster in another datacenter minimal performance impact. Nice feature!

Mike

On Thu, Feb 25, 2016 at 9:49 AM, Duncan Winn <dwinn(a)pivotal.io> wrote:

+1.. The arbitrator is a fantastic feature. Great job MySQL team.

On Thu, 25 Feb 2016 at 00:39, James Bayer <jbayer(a)pivotal.io> wrote:

congrats mysql team! the arbitrator is a nice touch to save resources
yet still result in high availability even when losing an entire AZ.

On Wed, Feb 24, 2016 at 10:43 AM, Marco Nicosia <mnicosia(a)pivotal.io>
wrote:

Hello Cloud Foundry folks,

For those of you who are tired of deploying web apps without easy
integration with data services, cf-mysql is a great place to start. With
this release, I'm happy to tell you that it takes even less commitment than
ever to give cf-mysql a spin!

The theme for this release is the First Rule in Government Spending
<https://www.youtube.com/watch?v=Et4sMJP9FmM>. Wanna take a ride?

A single MySQL node is a Single Point of Failure. With the
introduction of the Arbitrator, we allow you to buy two at twice the price.
Previously, we made you buy *three* for the same sense of security.
Upgrading to cf-mysql v26 will *save you money*, with no sacrifice in
performance!


If you like what we're doing with cf-mysql, click the thumbs up: 👍
<http://clickpoint.cfapps.io/click/mysql-v26?up>
If we're messing up your game, click the thumbs down: 👎
<http://clickpoint.cfapps.io/click/mysql-v26?down>
And if this just isn't your thing, at least give me a fist bump! 👊
<http://clickpoint.cfapps.io/click/mysql-v26?meh>

*Highlights*

- We've updated to *MariaDB 10.0.23*, enabled some important
behind-the-scenes features, and fixed several important bugs.
- For those of you who require audit access to all data, we've given
you the option to enable a *Read Only admin user*.
- We've introduced a new HA deployment option, *2+1: *two MySQL nodes
and an *Arbitrator*.
- And we've made significant updates to the *generate-deployment-manifest
script* and stubs.


You'll have to update your stubs to use the new release, but we hope
with the new Examples and Arbitrator feature, it'll be worth your time to
upgrade. Make sure to read the release notes for important information
about the upgrade process.

As always, for full disclosure, and links beyond that, please check
out the Release Notes
<https://github.com/cloudfoundry/cf-mysql-release/releases/tag/v26>.

*Introducing the Arbitrator*

With cf-mysql v26, we've replaced one of the MySQL nodes with a
lightweight Arbitrator node. Previously, the minimal HA configuration
required three full-size MySQL nodes.

For cf-mysql administrators who are careful with their infrastructure
resources, the Arbitrator feature is a new deployment topology that uses a
smaller VM footprint while maintaining high availability guarantees. Unlike
the old three node topology, the Arbitrator decreases spend with no impact
on performance.

Thanks, and make sure to give me your feedback to influence what we do
for future releases!

--
Marco Nicosia
Product Manager
Pivotal Software, Inc.
mnicosia(a)pivotal.io


--
Thank you,

James Bayer
--
Duncan Winn
Cloud Foundry PCF Services

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.