| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/
| |
| |
| |
| |
| | |
Use assertIsInstance() instead of assertTrue(isinstance())
Change-Id: I47c75200a8c628779a96563c3982472743cbf4f9
|
|/
|
|
|
|
| |
Set the correct link for home-page.
Change-Id: I45063b8cb3381b1e13b265e0e846d47691fc127c
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| | |
Change-Id: I7fe60b8f64209f2e9003313d487f9aaffa22f74e
|
| |
| |
| |
| | |
Change-Id: I2bc68e2d8771073d34521f084e45557f02256401
|
| |
| |
| |
| | |
Change-Id: I80d0ec67b057fbe12f544faf4320039e6c068184
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: Icc978097f49708001f24e0154ead7d4316bec018
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: I6e1cdce1c057ad64c4afc13f9f4195513cefca66
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: I6b366e0918baf7b0ef79ffa1d7bfcbf7b74a2b4a
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| | |
Change-Id: I785f9994e616c0402370400e8a073a7f1a87161e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ida04673890285af9c0b876c61a88693e6851932d
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\ \ \ \ \ \ |
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is follow up of commit 0a1bae9859079fb21a03716be947c5f1da6db0a2.
Log warning when pass keyword argument sqlite_db.
Related-Bug: #1329086
Change-Id: Ibed55dc9f28b7813bd96fb5e6f5138de0667591f
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Propagates logging_name through enginefacade.configure()
to create_engine(), as will be used in the enginefacade-based
test suite.
Change-Id: Iabc03adbef9792e0be4d86c98851890846638efc
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: I32efc2a5a5810f915193ab9a49b5ccad74772f0d
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I2ec090174889a9539229cfa3775621b39432db6c
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\ \ \ \ \ \ |
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This presents a system of reporting the ultimate "cause" in the
case that a MySQL failed SAVEPOINT rollback occurs.
Change-Id: Iea834429a0b8398f076b10426525a5c17dbf3c85
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Change-Id: Ie2e9b0b9507a85e899f68419d0686e03411be2e7
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: Id85521335990acb47f65181724d6bdbf89d11c8b
|
|\ \ \ \ |
|