[OpenStack-Infra] puppet-mysql migration discussion

Clark Boylan cboylan at sapwetik.org
Mon Nov 2 18:27:26 UTC 2015


On Mon, Nov 2, 2015, at 07:58 AM, Paul Belanger wrote:
> Greetings,
> 
> I'd like to start a thread talking about the effort to upgrade our
> version of
> puppet-mysql to a newer / latest version. I know there has been some talk
> on this already, would somebody mind adding some information?
> 
> I have heard 3 things:
> 
>   1. Remove database support from current modules, and only use
>   sql_connection
>      strings.
>   2. Move everything to trove
>   3. Setup mysql cluster
I think this is mostly orthogonal to updating the puppet-mysql module
because 2 + 1ish (use sql_connection) is basically what we do everywhere
but Jenkins slave image builds, paste.openstack.org, and
wiki.openstack.org.
> 
> Again, I don't know if there are true or not, just things I have seen
> people
> talk about.
> 
> The obviously part that is missing, is _how_ we are going to do the
> upgrade. I
> know some people (clarkb?) already have some ideas on that.
> 
> The reason for me asking, 2 weeks ago I offered to help the infra-cloud
> move
> forward and upgrading puppet-mysql was one of the items discussed. So,
> here I
> am, offering to do the grunt work, just need some understanding on what
> people
> want to do.
I was hoping that there was a forward and backward compatible
intermediate step we could make where old and new configs were supported
but I am told that isn't possible. As a result we will likely need to
update puppet-mysql, then all three of the above uses of puppet-mysql
semi atomically to keep everything working.

Testing that image builds work before the update is simple as we can
just run
openstack-infra/project-config/nodepool/scripts/prepare_node_bare.sh to
see if that works. Paste.o.o is simple and has gone from local Drizzle
to Trove to local MySQL without much fuss so I doubt it will have much
trouble but a test deployment is easy if we are worried.

The tricky one is going to be wiki.openstack.org and this is maybe where
the above list is relevant to the discussion. We could move it to an off
host database hosted by trove and not worry about updating puppet-mysql
in that module at all. Or we can test a deployment of wiki using the
newer mysql module before prod deployment. In either case we should
probably announce a wiki downtime prior to the upgrade, stop apache/php,
perform a database backup, switch to trove/run puppet with newer module,
restart apache/php.

Hope this helps,
Clark



More information about the OpenStack-Infra mailing list