[openstack-dev] [Solum] MySQL Storage Engine

Paul Czarkowski paul.czarkowski at RACKSPACE.COM
Wed Dec 4 21:22:05 UTC 2013

On 12/4/13 3:06 PM, "Adrian Otto" <adrian.otto at rackspace.com> wrote:

>On Dec 4, 2013, at 12:32 PM, Monty Taylor <mordred at inaugust.com> wrote:
>> On 12/04/2013 03:25 PM, Clint Byrum wrote:
>>> Excerpts from Paul Montgomery's message of 2013-12-04 12:04:06 -0800:
>>>> TLDR: Should Solum log a warning if operators do not use the InnoDB
>>>> storage engine with MySQL in Solum's control plane?
>>>> Details:
>>>> I was looking at: https://review.openstack.org/#/c/57024/
>>>> Models.py to be specific.
>>>> The default storage engine is InnoDB for MySQL which is good.  I took
>>>> quick look at the storage engines and only InnoDB seems reasonable
>>>>for the
>>>> Solum control plane (it is ACID complaint).  I assume that we'll all
>>>> coding towards an ACID compliant database for performance (not having
>>>> revalidate database writes and consistency and such) and ease of
>>>> development.
>>>> If all of that is true, should we log a warning to the operator that
>>>> are using an untested and potentially problematic storage engine
>>>>(which in
>>>> a worst case scenario can corrupt their data)?  Should we even enable
>>>> operator to change the storage engine through configuration?  I think
>>>> enabling that configuration is fine as long as we make sure that the
>>>> operator knows that they are on their own with this unsupported
>>>> configuration but I welcome thoughts from the group on this topic.
>>> Just assume MyISAM _does not exist_. It is 2013 for crying out loud.
>>> If somebody accidentally uses MyISAM, point at them and laugh, but then
>>> do help them pick up the pieces when it breaks.
>>> In all seriousness, if you can force the engine to InnoDB, do that.
>>> Otherwise, just ignore this. We are all consenting adults here and if
>>> people cant' RTFM on MySQL, they shouldn't be storing data in it.
>> +1000
>So are you suggesting we have a bit of database code in Solum that would
>quickly check the Engine of each table upon startup. Something like:
>Šand iterate the Engine column looking for anything not InnoDB, and
>logging a warning error if other values are found?
>Or, are you suggesting that we just trust people not to be fools, and
>leave this subject alone completely?
>OpenStack-dev mailing list
>OpenStack-dev at lists.openstack.org

I think if we're abstracting the database via a library like SQLAlchemy
then we should assume the person at the other end knows how to configure a
database.  Otherwise do we have to do the same for every database
supported by that library.

If an Operator can manage to install and run and production openstack,
plus solum,  we should be fairly confident they're able to set up a good

More information about the OpenStack-dev mailing list