summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Move warnings to their own module"4.42.0Zuul2018-10-304-28/+55
|\
| * Move warnings to their own moduleStephen Finucane2018-10-174-28/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raising warnings from an exception module can result in a rather confusing message: Running command: '/usr/bin/nova-scheduler ' /.../sqlalchemy/enginefacade.py:332: NotSupportedWarning: Configuration option(s) ['use_tpool'] not supported exception.NotSupportedWarning For someone not used to Python's 'warning' infrastructure, this can look worse than it is, as seen at [1]. While this particular warning was resolved in change I4a5f8958c3e, it's possible that a similar warning could be raised for other options. Best to move this out of the 'exception' module and into something more sensible. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1639423 Change-Id: I8e0480fb11123067a111ed6aeda6b47614615645 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* | Add "is_started" flag to enginefacadeMike Bayer2018-10-243-1/+54
|/ | | | | | | | | | | | | | | | Some module reloading scenarios such as that which occurs within mod_wsgi mean that an existing module-level enginefacade is already in the "started" state, however initialization routines from the calling application may still attempt to call the ``.configure`` method. Add a new flag is_started to both _TransactionContextManager and _TransactionFactory so that calling code can check for this state ahead of time; additionally, promote the TypeError raised to a specific subclass enginefacade.AlreadyStartedError to allow for better optimistic schemes. Change-Id: I2f5a9e35c2fae0c28b78beef3dcd2c4794362766 References: I704196711d30c1124e713ac31111a8ea6fa2f1ba
* Clean up .gitignore references to personal toolsZhongShengping2018-10-151-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | Developers run all sorts of different tools within Git repositories, any of which can leave their own special trashfiles all over the place. We can't every hope to catalog them all, so better to recommend developers simply configure a global core.excludesfile to filter the irrelevant files which tend to get created by their personal choice of tools. To this end, remove the long-standing sections for "Mr Developer" and "Editors" since their mere existence here sends the signal that we welcome (and have time to review) additions for any old tool someone ever might happen to try. Also add a comment block explaining this, for clarity. We can, and should of course, continue to list files created by the tools recommended by our workflow (test frameworks called from tox, documentation and packaging builds, et cetera). This change is a port of I1b41efac219fca44e2548fc36633724d0ecfc0cb from the openstack-dev/oslo-cookiecutter repository. Change-Id: I8ba491deac8de5d9f2a8ceefba64c0c6a73f92d1
* Merge "Don't quote {posargs} in tox.ini"Zuul2018-10-101-1/+1
|\
| * Don't quote {posargs} in tox.iniVieri2018-10-091-1/+1
| | | | | | | | | | | | | | | | Quotes around {posargs} cause the entire string to be combined into one arg that gets passed to stestr. This prevents passing multiple args (e.g. '--concurrency=16 some-regex') Change-Id: Id8b5f9e1e334609d39a58706ac2039240f0ce9cb
* | Always build universal wheelsHervé Beraud2018-10-091-1/+1
|/ | | | | | | All of our projects are pure python, so we can build universal wheels by default. Change-Id: Ifbba76848c79be9415c7305f90d020973d3bb116
* Fix FOREIGN KEY messages for MariaDB 10.2, 10.34.41.14.41.0Mike Bayer2018-08-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | MariaDB 10.2 and 10.3 have changed the format diplayed for MySQL error 1091, adding the phrase "FOREIGN KEY", changing the quoting style of the constraint name, and replacing the phrase "column/key" with the word "it". Adjust the regular expression in exc_filters to accommodate these. - "check that column/key" -> "check that constraint/column/key" https://github.com/MariaDB/server/commit/db7edfed17efe6bc - single quotes -> backticks - "check that constraint/column/key" -> "check that it" https://github.com/MariaDB/server/commit/99e48cb1d94e2d88 - "Can't DROP" -> "Can't DROP FOREIGN KEY" https://github.com/MariaDB/server/commit/5c764a0eb82c87ac Change-Id: I165c595edbbdc101ebd2367ca5680b6cd81eaa7b
* Merge "add lib-forward-testing-python3 test job"Zuul2018-08-271-0/+1
|\
| * add lib-forward-testing-python3 test jobDoug Hellmann2018-08-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a mechanically generated patch to add a functional test job running under Python 3 as part of the python3-first goal. See the python3-first goal document for details: https://governance.openstack.org/tc/goals/stein/python3-first.html Change-Id: Idc7f9fc739449683a3a5fbcdd080a5105f061e85 Story: #2002586 Task: #24322
* | Imported Translations from ZanataOpenStack Proposal Bot2018-08-141-3/+23
|/ | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I36180c774142f6f268756b373aacd1fd9f5b9d66
* add python 3.6 unit test jobDoug Hellmann2018-08-071-0/+1
| | | | | | | | | | | | This is a mechanically generated patch to add a unit test job running under Python 3.6 as part of the python3-first goal. See the python3-first goal document for details: https://governance.openstack.org/tc/goals/stein/python3-first.html Change-Id: I08f1b22e5d244cf0d4a263707b13286e941f6fde Story: #2002586 Task: #24322
* import zuul job settings from project-configDoug Hellmann2018-08-031-0/+8
| | | | | | | | | | | | | | | This is a mechanically generated patch to complete step 1 of moving the zuul job settings out of project-config and into each project repository. Because there will be a separate patch on each branch, the branch specifiers for branch-specific jobs have been removed. See the python3-first goal document for details: https://governance.openstack.org/tc/goals/stein/python3-first.html Change-Id: Ie480cd3681b0a3eedbaebe1f30b7a863c87360ec Story: #2003250
* Update reno for stable/rockyOpenStack Release Bot2018-07-262-0/+7
| | | | Change-Id: Ie63b9305295fea38d2e142c2fbbd3b94d9515829
* Switch to stestrVu Cong Tuan2018-07-138-33/+20
| | | | | | | | | | According to Openstack summit session [1], stestr is maintained project to which all Openstack projects should migrate. Let's switch to stestr as other projects have already moved to it. [1] https://etherpad.openstack.org/p/YVR-python-pti Change-Id: Ifd51e726de277d33ff61db47110bf8b5563fcda7
* Merge "Rename enginefacade.async to enginefacade.async_"4.40.0Zuul2018-07-042-6/+39
|\
| * Rename enginefacade.async to enginefacade.async_Mike Bayer2018-07-022-6/+39
| | | | | | | | | | | | | | | | | | | | Python 3.7 now makes "async" a keyword, so deprecate the "async" name and replace with "async_". Additionally, use attribute name access only in order to implement and test "async" as it won't work under Python 3.7. Closes-Bug: #1775866 Change-Id: Ifb2c59c2cfbd615b04570b31fcfe868f4ffea3c6
* | Add release notes to README.rstmelissaml2018-06-211-0/+1
| | | | | | | | Change-Id: Ieb5a1c097242542d2fdada305f223d2b43c6b0c6
* | Remove most server_default comparison logic4.39.0Mike Bayer2018-06-154-22/+7
|/ | | | | | | | | | | | | | | | | | Added a new test case that covers comparison of a MySQL server default defined as text("0") in the model as well as in the database. The MySQL default comaprison logic in oslo.db was not accommodating of the model side here being a text() construct. As modern Alembic versions supports most of the use cases tested here, remove all server defaut comparison logic except for the boolean comparison workaround. Alembic minimum is bumped to 0.9.6; the issue repaired between 0.8.10 and 0.9.6 is http://alembic.zzzcomputing.com/en/latest/ changelog.html#change-5459a7552a17d8b658f0f710bedf6da0 Depends-on: I1a8244edae47b04b7b1fed54e577d6534945bcd8 Closes-bug: #1776527 Change-Id: I48a103e28d86128ea84466da4d9d6faab1dd9a9d
* remove sqla_09 test environmentDoug Hellmann2018-06-061-5/+0
| | | | | | | We no longer support SQLAlchemy 0.9.0, so remove the test environment. Change-Id: I614945b178ee09fe3c4c6c61c9356d072d776639 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* fix tox python3 overridesDoug Hellmann2018-06-061-1/+7
| | | | | | | | | | | | | | | We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: I31a207868c07e08ae27c14635d52506021032cb7 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* Remove stale pip-missing-reqs tox test4.38.0Kenneth Giusti2018-05-011-9/+1
| | | | | | | | | | pip_missing_reqs tool is no longer maintained and has broken with release 10 of pip Refer to: http://lists.openstack.org/pipermail/openstack-dev/2018-April/130027.html Change-Id: I78b50d28d7d3d06f210a7027b2a74426c891b652
* Deprecate min_pool_sizeErik Olof Gunnar Andersson2018-04-301-0/+3
| | | | | | | | | | This option has for a long time done nothing in oslo.db and sqlalchemy does not support this convention. As such I recommend that we deprecate and eventually remove the option. Closes-bug: #1764786 Change-Id: Ib07b7b4200b5cf3a34b8eed441e6754da7d446cf
* List PyMySQL first in installation docsBen Nemec2018-04-241-2/+2
| | | | | | | | | | It's by far the most tested driver with oslo.db so it makes sense to have it first in the list of driver options. Mostly this is just to have a change to merge so the reno jobs get run again though. Change-Id: I5a9a05b6c3e3008cb1dfefc2df397003c2cbc7fd
* Trivial: Update pypi url to new url4.37.0Tovin Seven2018-04-201-2/+2
| | | | | | | | | Pypi url changed from [1] to [2] [1] https://pypi.python.org/pypi/<package> [2] https://pypi.org/project/<package> Change-Id: Ie8b29b4171dcc833a9178a80ba6d277a2bf3a747
* Merge "Improve exponential backoff for wrap_db_retry"Zuul2018-04-172-7/+90
|\
| * Improve exponential backoff for wrap_db_retryYikun Jiang2018-04-132-7/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The @oslo_db.api.wrap_db_retry is used for db.api methods retrying. If db_error raised, the decorator help us to call the api methods again after a few seconds(accurately, is 2**retry_times seconds). If the db_error is deadlock error, the old wrap_db_retry is not so suitable anymore. As we know, some deadlocks cause because we call some methods(transactions) concurrently. If we only retry after stable 2**retry_times seconds, we will recall the method concurrently again. In order to minimize the chance of regenerating a deadlock and reduce the average sleep time, we propose to add some random jitter to the delay period by default when the deadlock error is detected. Change-Id: I206745708570f1f292529ff58eee9b83fc09a9f2 Closes-bug: #1737869
* | Merge "set default python to python3"4.36.0Zuul2018-04-161-1/+2
|\ \
| * | set default python to python3Doug Hellmann2018-04-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Set the default python to python3 except for the py27 environment. We have to set that explicitly to override the new default. Change-Id: I8557195409a559950da6c95aece5787195f31ad6 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* | | uncap eventletDoug Hellmann2018-04-111-1/+1
|/ / | | | | | | | | | | | | | | | | | | We will manage the eventlet version using constraints now. See the thread starting at http://lists.openstack.org/pipermail/openstack-dev/2018-April/129096.html for more details. Change-Id: Id852a3e6c7f9ac39001618384ced8289c2e6866e Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* | add lower-constraints jobDoug Hellmann2018-03-243-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a tox environment for running the unit tests against the lower bounds of the dependencies. Create a lower-constraints.txt to be used to enforce the lower bounds in those tests. Add openstack-tox-lower-constraints job to the zuul configuration. See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html for more details. Change-Id: I33404e115161a430ce0587bf203450c8145db0a0 Depends-On: https://review.openstack.org/555034 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* | Add testresources / testscenarios to requirements.txt4.35.0Mike Bayer2018-03-162-2/+4
| | | | | | | | | | | | | | | | | | | | | | oslo.db is consumed by the test suites of downstream libraries as a test dependency; they make use of the oslo_db.sqlalchemy.test_fixtures module which imports testresources and testscenarios, therefore these are normal requirements of oslo.db; they are not limited to test requirements. Change-Id: I240fbc28ddf238614ff37e742a1415a5566bcd2d Closes-bug: #1756352
* | Updated from global requirementsOpenStack Proposal Bot2018-03-153-2/+5
| | | | | | | | Change-Id: Ia4e66a804bea3eee74fedc3c5a7f610cb05d9c8c
* | Merge "Remove tox_install.sh and align constraints consumption"4.34.0Zuul2018-03-094-54/+22
|\ \
| * | Remove tox_install.sh and align constraints consumptionMonty Taylor2018-03-084-54/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of removing reliance on the old and deprecated zuul-cloner, we need to shift constraints declaration to the deps line. This means we unfortunately have to duplicate the extras declarations into test-requirements - because otherwise the contraints for oslo.db conflicts with the installation of itself. Change-Id: I2b79444a58a9144993131f9cba7494b236d9e950
* | | Merge "Ignore 'use_tpool' option"Zuul2018-03-091-4/+4
|\ \ \ | |/ / |/| |
| * | Ignore 'use_tpool' optionStephen Finucane2018-03-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sheer act of registering the 'use_tpool' option seems to be enough to cause the following warning: NotSupportedWarning: Configuration option(s) ['use_tpool'] not supported Add it to the list of ignored opts, thus silencing this warning. Change-Id: I4a5f8958c3e0fc68fa3a4ae979f284c4fbd9b82b
* | | Merge "Update links in README"Zuul2018-03-081-1/+1
|\ \ \
| * | | Update links in READMEwangqi2018-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change the outdated links to the latest links in README Change-Id: I91d19ddc37620eff68430f0d2e2a96bccea37258
* | | | Ensure all test fixtures in oslo_db.tests are privateMike Bayer2018-03-0213-54/+93
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Downstream projects have started using the fixtures inside of oslo_db.tests in response to the deprecations added in I0163e637ffef6d45d2573ebe29b5438911d01fce. This was not the intent of these deprecations, so add messsaging to this effect and ensure fixtures used by the test suite itself are noted as private. Change-Id: I3afe0a440a3ab66904aaecf556948df9d4e16b8e
* | | Merge "Imported Translations from Zanata"Zuul2018-03-012-10/+7
|\ \ \
| * | | Imported Translations from ZanataOpenStack Proposal Bot2018-03-012-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I8e745e279e295b1b9a42b661d4da2568ce981e7a
* | | | Merge "Conditionally adjust for quoting in comparing MySQL defaults"Zuul2018-03-011-3/+5
|\ \ \ \ | |/ / / |/| | |
| * | | Conditionally adjust for quoting in comparing MySQL defaultsMike Bayer2018-02-221-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MariaDB 10.2 appears to not return server defaults with quotes around integer values which breaks the assumption that we have to de-quote server default values. Make the dequoting a regexp that will pass when the quotes are not present. Change-Id: Ie5aeffcc3c550673a7fdd82769a315821cebb272 Closes-bug: #1750414
* | | | Merge "Allow connection query string to be passed separately."Zuul2018-02-205-2/+110
|\ \ \ \
| * | | | Allow connection query string to be passed separately.Mike Bayer2018-01-305-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Nova project has made the decision to store the entire contents of the "sql_connection" field in the database, with alterations to the host value, such that various "cells" database URLs can be located using Nova's database itself as a central registry of database URLs. This architecture has produced several problems. The first is that it is impossible to apply parameters to the URL that are local to the client machine; the leading example of this is the MySQL "bind_host" variable, which must match the hostname of the connecting host. Because cells puts these URLs into the database and shares them with all controllers, we have to use a workaround with the read_default_file parameter to specify a controller-local file of options; this is not a standard thing for other database drivers, and these parameters only apply to the MySQL driver and not the SQLAlchemy engine. The next issue is that it is inconvenient to add parameters to the URL at all, once Nova has already been running, as one must manually use Nova's command line tools to alter all the URLs that have already been copied into the database and alter the query parameters with each of those individually, and then restart *all* services who will all receive the parameter (no way to add params to just one controller). Nova's "store the URL in the database" feature only needs to be able to locate the host / database name of the alternate database, and not change the URL tuning parameters. This patch adds a new oslo.db parameter connection_parameters which allows the params to be applied separately from the sql_connection parameter, so that Nova can continue persisting sql_connection but the parameters remain local to the nova.conf file. A URL parameter that truly had to remain persisted in Nova's database (there aren't any) could still be applied at the sql_connection level. This feature is essential not just so that we can again place simple parameters into controller-local files like "bind_host", but also to allow for configuration of SQLAlchemy features such as plugins that do connection pool monitoring. Change-Id: Id4de4b09ec4719cbf8b372629fcf58cf368a33d4
* | | | | Imported Translations from ZanataOpenStack Proposal Bot2018-02-181-2/+18
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: If554c57465fbf5461a6257d1910bcfb870ca07ea
* | | | Merge "Reverse role of synchronous_reader"Zuul2018-02-123-11/+21
|\ \ \ \
| * | | | Reverse role of synchronous_readerMike Bayer2018-01-293-11/+21
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repaired the "synchronous_reader" modifier of enginefacade so that it refers to the "writer" engine when set to True, thereby allowing "synchronous" behavior with the writer. When set to False, this is "asynchronous", so this should be associated with the async engines. The flag had the reverse behavior previously. Change-Id: Id7fea7562ba90eb710176d497af103303f230531 Closes-bug: #1746116
* | | | Imported Translations from ZanataOpenStack Proposal Bot2018-01-271-2/+6
| |/ / |/| | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: Ia0892cf2f39d64aac714e0a36536151a3b64ecfd