[openstack-dev] [nova][ceilometer][postgresql][gate][telemetry] PostgreSQL gate failure (again)
Mike Bayer
mbayer at redhat.com
Thu Feb 2 17:32:37 UTC 2017
On 02/02/2017 11:42 AM, Sean Dague wrote:
>
> That's all fine and good, we just need to rewrite about 100,000 unit
> tests to do that. I'm totally cool with someone taking that task on, but
> making a decision about postgresql shouldn't be filibustered on
> rewriting all the unit tests in OpenStack because of the ways we use sqlite.
two points:
first is, you don't need to rewrite any tests, just reorganize the
fixtures. This is all done top-level and I've always been trying to
get people to standardize on oslo-db built-in fixtures more anyway, this
would ultimately make that all easier. We would need to use an
efficient process for tearing down of data within a schema so that tests
can run quickly without schema rebuilds, this is all under the realm of
"roll back the transaction" testing which oslo.db supports though nobody
is using this right now. It would be a big change in how things run
and there'd be individual issues to fix but it's not a rewrite of actual
tests. I am not in any hurry to do any of this.
second is, I'm not a "filibuster" vote at all :). I'm like the least
important person in the decision chain here and I didn't even -1 the
proposal. Deprecating Postgresql alone and doing nothing else is
definitely very easy and would make development simpler, whereas getting
rid of SQLite would be a much bigger job. I'm just pointing out that we
shouldn't pretend we "target only one database" until we get rid of
SQLite in our test suites.
OK, third bonus point. If we do drop postgresql support, to the degree
that we really remove it totally from test fixtures, oslo.db
architectures, all of that, the codebase would probably become
mysql-specific in subtle and not-so-subtle ways pretty quickly, and
within a few cycles we should consider that we probably will never be
able to target multiple databases again without a much larger
"unwinding" effort. So while not worrying about Postgresql is handy, I
would miss the fact that targeting two real DBs keeps us honest in terms
of being able to target multiple databases at all, because this is a
door that once you close we're not going to be able to open again. I
doubt that in oslo.db itself we would realistically ever drop the
architectures that support multiple databases, though, and as oslo.db is
a pretty simple library it should likely continue to target postgresql
as nothing more than a "keeping things honest" sanity check.
>
> -Sean
>
More information about the OpenStack-dev
mailing list