[openstack-dev] [Neutron][oslo.db] Inspecting sqlite db during unit tests

Carl Baldwin carl at ecbaldwin.net
Mon Jul 25 16:55:35 UTC 2016


On Fri, Jul 22, 2016 at 8:47 AM, Mike Bayer <mbayer at redhat.com> wrote:

>
>
> On 07/22/2016 04:02 AM, Kevin Benton wrote:
>
>> Now that we have switched to oslo.db for test provisioning the
>> responsibility of choosing a location lands
>> here:
>> https://github.com/openstack/oslo.db/blob/a79479088029e4fa51def91cb36bc652356462b6/oslo_db/sqlalchemy/provision.py#L505
>>
>> The problem is that when you specify OS_TEST_DBAPI_ADMIN_CONNECTION it
>> does end up creating the file, but then the logic above chooses a URL
>> based on the random ident. So you can find an sqlite file in your tmp
>> dir, it just won't be the one you asked for.
>>
>> It seems like a bug in the oslo.db logic, but the commit that added it
>> was part of a much larger refactor so I'm not sure if it was intentional
>> to ensure that no two tests used the same db.
>>
>
> it is, the testr system runs tests in multiple subprocesses and I think
> neutron has it set to four.  if they all shared the same sqlite database
> file you'd have failed tests.
>

A potential improvement might be to replace OS_TEST_DBAPI_ADMIN_CONNECTION
with another environment variable which could be used to provide a template
for generating multiple unique database names. That would make it a little
more intuitive. But, I can work with this for now.

Car
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160725/abaf8ad3/attachment.html>


More information about the OpenStack-dev mailing list