summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Change assertTrue(isinstance()) by optimal assertTony Xu2016-10-251-5/+5
| |/ | | | | | | | | | | Use assertIsInstance() instead of assertTrue(isinstance()) Change-Id: I47c75200a8c628779a96563c3982472743cbf4f9
* | Changed the home-page linkmelissaml2016-10-161-1/+1
|/ | | | | | Set the correct link for home-page. Change-Id: I45063b8cb3381b1e13b265e0e846d47691fc127c
* standardize release note page ordering4.14.0Doug Hellmann2016-10-121-2/+2
| | | | | | | | | | In order to support automatically updating the release notes when we create stable branches, we want the pages to be in a standard order. This patch updates the order to be reverse chronological, so the most recent notes appear at the top. Change-Id: Ib364dcc8eb31275a31c83b68d7914263b183e393 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* Merge "Enable release notes translation"Jenkins2016-10-121-0/+3
|\
| * Enable release notes translationAndreas Jaeger2016-10-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Releasenote translation publishing is being prepared. 'locale_dirs' needs to be defined in conf.py to generate translated version of the release notes. Note that this repository might not get translated release notes - or no translations at all - but we add the entry here nevertheless to prepare for it. Change-Id: I723a3e5f79db0e2fe0ff22795a5200391c967bff
* | Merge "Add DBDataError for "Data too long""Jenkins2016-10-122-0/+8
|\ \
| * | Add DBDataError for "Data too long"Eric Harney2016-10-032-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This classifies the error that occurs when data is inserted that is too long for the VARCHAR's maximum length. Related-Bug: #1608849 Change-Id: I6e129d64b7eb68a0057e6b14baa39c72674a1fff
* | | Merge "Add a specific exception for 'unknown database' errors"Jenkins2016-10-123-0/+94
|\ \ \
| * | | Add a specific exception for 'unknown database' errorsRoman Podoliaka2016-10-103-0/+94
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an exception filter to distinguish 'unknown database' errors from other DBAPIError's. This effectively means we no longer unconditionally print a traceback to logs, when someone tries to connect to a database, that does not exist, but just raise a specific exception instead and let the caller handle it. Closes-Bug: #1631033 Change-Id: Iebc1ec1e8153917fbcde116d04bc171272993bbd
* | | Updated from global requirementsOpenStack Proposal Bot2016-10-061-1/+1
|/ / | | | | | | Change-Id: I7fe60b8f64209f2e9003313d487f9aaffa22f74e
* | Updated from global requirementsOpenStack Proposal Bot2016-09-301-1/+1
| | | | | | | | Change-Id: I2bc68e2d8771073d34521f084e45557f02256401
* | Updated from global requirementsOpenStack Proposal Bot2016-09-281-2/+2
| | | | | | | | Change-Id: I80d0ec67b057fbe12f544faf4320039e6c068184
* | Add additional caution looking for table, infoMike Bayer2016-09-072-9/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | A joined inheritance mapper is mapped to a join(); these have no .info attribute, so use that of the local table instead. The sorting order when querying against a joined subclass table can at least be derived from the base table, so use the base mapper's table. It may be a better idea to comprise the constraints amongst the base table *and* the joined table, though. Change-Id: I9466c9dbbbdc4af10ab0f15ee0f558199973c1ec
* | Merge "Update reno for stable/newton"Jenkins2016-09-052-0/+7
|\ \
| * | Update reno for stable/newtonDoug Hellmann2016-09-012-0/+7
| | | | | | | | | | | | Change-Id: Icc978097f49708001f24e0154ead7d4316bec018
* | | utils: fix get_unique_keys() when model has no table attached to itJulien Danjou2016-09-022-12/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the internal SQLAlchemy __table__ to find unique keys on a model class does not work if the model is not attached to a class. In this case, it seems there is no way to find what the keys are: rather than crashing or returning garbage, the function just returns None, indicating it does not know how to get it. The warning from paginate_query() is not emitted in this case, as there's no way to guess if the developer did wrong or not. Change-Id: I1291fe1f1e78471f18f230a66edff31ed199bc7a
* | | Updated from global requirementsOpenStack Proposal Bot2016-08-311-1/+1
| | | | | | | | | | | | Change-Id: I6e1cdce1c057ad64c4afc13f9f4195513cefca66
* | | Correctly detect incomplete sort_keys passed to paginate_queryIhar Hrachyshka2016-08-312-5/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the function expects that sort_keys will contain 'id', otherwise a warning is triggered. This assumption is wrong in multiple ways. First, models may not have an 'id' attribute. Second, even if the attribute is present, it may be non-unique irrespective of the name chosen for it. The right way of determining sorting keys that would not guarantee stable sorting order for paginated results is to extract sets of unique keys from the model itself, and compare sorting keys to those extracted sets. If at least one of those unique key sets is a subset of passed sorting keys, then no warning should be issued. The patch also add get_unique_keys function and exposes it as part of library public API. The function is a modified version of a function with the same name currently maintained in Neutron tree for similar needs. To avoid calculating the same result over and over on each call to the new function, we cache it in info dict of the relevant Table. Change-Id: I46d9d53ee5f6fa2863b31027fa81997571d6568a Closes-Bug: #1617996
* | | Fix DBReferenceError and DBNonExistentTable with new PyMySQL versionJulien Danjou2016-08-312-40/+17
|/ / | | | | | | | | | | | | | | | | PyMySQL 0.7.7 changed the string format of the error raised, making oslo.db unable to catch the error: (pymysql.err.IntegrityError) (1452, u'23000Cannot add or update a child row: a foreign key constraint fails (`vaceciqnzs`.`resource_entity`, CONSTRAINT `foo_fkey` FOREIGN KEY (`foo_id`) REFERENCES `resource_foo` (`id`))') [SQL: u'INSERT INTO resource_entity (id, foo_id) VALUES (%(id)s, %(foo_id)s)'] [parameters: {'foo_id': 2, 'id': 1}] Change-Id: Ice7d7767842225951eaf48b71cedb2aabe5a84e4
* | Updated from global requirements4.13.0OpenStack Proposal Bot2016-08-241-1/+1
| | | | | | | | Change-Id: I6b366e0918baf7b0ef79ffa1d7bfcbf7b74a2b4a
* | Merge "Link enginefacade to test database provisioning"4.12.0Jenkins2016-08-171-27/+109
|\ \
| * | Link enginefacade to test database provisioningMike Bayer2016-08-111-27/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part of a series which allows enginefacade to be at the base of database provisioning. Test fixtures are not impacted here, however the global "enginefacade" is used to generate database connections in provision.py Change-Id: I94753ca103851e3fd79c1c6c9773f57e311a0273
* | | Updated from global requirementsOpenStack Proposal Bot2016-08-121-1/+1
|/ / | | | | | | Change-Id: I785f9994e616c0402370400e8a073a7f1a87161e
* | Merge "Display full reason for backend not available"Jenkins2016-08-115-14/+176
|\ \
| * | Display full reason for backend not availableMike Bayer2016-08-085-14/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds to the provisioning system the ability to preserve and re-display the full reason for a particular DB backend not available, and propagates this all the way through the skip() emitted by the OpportunisticTestCase and DbFixture. As part of the change, the database type requested is added to the messages themselves, which also appears in the messages emitted by the consuming is_backend_avail() function, which has tests that check for these explicit messages. New tests specific to the Backend object are added which are not dependent on is_backend_avail(); as this function is deprecated, we will be able to remove its tests at the same time as the function itself with no loss in coverage. Change-Id: I7c00e0770b02aa751e184edfecdec4306de6340c
* | | Merge "Fix parameters of assertEqual are misplaced"Jenkins2016-08-1112-123/+122
|\ \ \
| * | | Fix parameters of assertEqual are misplacedyan.haifeng2016-07-2012-123/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many assertEqual sentences don't follow assertEqual(expected, actual), These misplaces have 2 impacts: 1, giving confusing messages when some tests failed. 2, mislead other developers, new test modules may follow these wrong pattern. This patch fix all of them. Change-Id: Ia5155114c60f5e27cb00b8aba6de5cf32e046dd7 Closes-Bug: #1604213
* | | | Merge "Add test helpers to enginefacade"Jenkins2016-08-112-2/+235
|\ \ \ \
| * | | | Add test helpers to enginefacadeMike Bayer2016-08-032-2/+235
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds new methods make_new_manager(), patch_factory(), patch_engine(), to provide support to test fixtures that wish to generate new managers from an existing one, and to cross-patch managers, factories and engines into other managers. Change-Id: I83c6296d992f08117fff1438bc079bbf71db787b
* | | | Merge "Updated from global requirements"Jenkins2016-08-101-1/+1
|\ \ \ \
| * | | | Updated from global requirementsOpenStack Proposal Bot2016-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ida04673890285af9c0b876c61a88693e6851932d
* | | | | Merge "release notes: mention changes in wrap_db_retry()"Jenkins2016-08-101-0/+6
|\ \ \ \ \
| * | | | | release notes: mention changes in wrap_db_retry()Roman Podoliaka2016-07-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just in case mention the changes done in CR #318135, so that people are aware of those (although, we've double checked everyone passes the argument value explicitly now and that's the only reason the decorator actually performs any retries in downstreams). Change-Id: I263b2078535a3f06461e8905003b484a38d05f08
* | | | | | Merge "Deprecate argument sqlite_db in method set_defaults"Jenkins2016-08-101-0/+4
|\ \ \ \ \ \
| * | | | | | Deprecate argument sqlite_db in method set_defaultsChangBo Guo(gcb)2016-08-041-0/+4
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is follow up of commit 0a1bae9859079fb21a03716be947c5f1da6db0a2. Log warning when pass keyword argument sqlite_db. Related-Bug: #1329086 Change-Id: Ibed55dc9f28b7813bd96fb5e6f5138de0667591f
* | | | | | Merge "Add logging_name to enginefacade config"Jenkins2016-08-102-0/+2
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | |
| * | | | | Add logging_name to enginefacade configMike Bayer2016-08-032-0/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Propagates logging_name through enginefacade.configure() to create_engine(), as will be used in the enginefacade-based test suite. Change-Id: Iabc03adbef9792e0be4d86c98851890846638efc
* | | | | Updated from global requirements4.11.0OpenStack Proposal Bot2016-08-041-1/+1
|/ / / / | | | | | | | | | | | | Change-Id: I32efc2a5a5810f915193ab9a49b5ccad74772f0d
* | | | Merge "Add a hook to process newly created engines"Jenkins2016-08-032-1/+24
|\ \ \ \
| * | | | Add a hook to process newly created enginesAnn Kamyshnikova2016-07-312-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add on_engine_create argument to transaction_context to enable users to take some actions with newly created engines. Main intended usage is providing oslo.db and osprofiler users with a way to hook them together without making them depend on each other. Closes-bug: #1600739 Change-Id: I78bef4979c2000d05658ce17d0348cd0a10c24d9
* | | | | Capture DatabaseError for deadlock check4.10.0Kevin Benton2016-08-022-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pymysql can raise 'lock wait timeout exceeded' errors as InternalErrors. The previous filter was only catching OperationalError exceptions. This patch changes it to catch all DatabaseErrors, which both of the aforementioned exceptions inherit. Change-Id: If7bd1ceef6e5d64f0766b780616388c62862ce82 Closes-Bug: #1608691
* | | | | Merge "Updated from global requirements"4.9.0Jenkins2016-07-291-1/+1
|\ \ \ \ \
| * | | | | Updated from global requirementsOpenStack Proposal Bot2016-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2ec090174889a9539229cfa3775621b39432db6c
* | | | | | Merge "Consolidate pifpaf commands into variables"Jenkins2016-07-291-35/+11
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Consolidate pifpaf commands into variablesMike Bayer2016-07-191-35/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the separate per-Python-interpreter setup for the pifpaf run and consolidates necessary variables in one place to be passed into a single command line. Change-Id: I2f34642f16d6dba5b01500fcdc89e88b93642cd3
* | | | | | Merge "Memoize sys.exc_info() before attempting a savepoint rollback"Jenkins2016-07-293-5/+116
|\ \ \ \ \ \
| * | | | | | Memoize sys.exc_info() before attempting a savepoint rollbackMike Bayer2016-07-273-5/+116
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This presents a system of reporting the ultimate "cause" in the case that a MySQL failed SAVEPOINT rollback occurs. Change-Id: Iea834429a0b8398f076b10426525a5c17dbf3c85
* | | | | | Updated from global requirementsOpenStack Proposal Bot2016-07-251-1/+1
|/ / / / / | | | | | | | | | | | | | | | Change-Id: Ie2e9b0b9507a85e899f68419d0686e03411be2e7
* | | | | Updated from global requirementsOpenStack Proposal Bot2016-07-191-1/+1
|/ / / / | | | | | | | | | | | | Change-Id: Id85521335990acb47f65181724d6bdbf89d11c8b
* | | | Merge "tox: add py35 envs for convenience"Jenkins2016-07-192-2/+14
|\ \ \ \