| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This script is part of the oslotest package now.
Change-Id: Ic8c2fbaf5b34d2f254a9091a1b4390b7c8e751fe
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I618ce086bbc0942233e386f147f912e6bfc9c321
|
|/
|
|
|
|
|
| |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I226b4993533c4ce4a9278075dbf50707429b9178
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Update to the version of hacking used in kilo and fix class declarations
that cause the new version to report errors.
Change-Id: I69c4976a2d611a19675cd5919d498abda7856a88
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add Python 3, 3.3 and 3.4 classifiers. The "Python :: 3" classifier is
needed by the caniusepython3 tool to check if dependencies of a project
are Python 3 compatible:
https://caniusepython3.com/
Information on the Python 3 port of OpenStack:
https://wiki.openstack.org/wiki/Python3
Change-Id: I2a0c8d7c3ab3c97a945a49b64a56341c35ec5536
|
| |
| |
| |
| |
| | |
Change-Id: Ic2a02e5b054fec76265576e1f4f23b20f5728125
Depends-On: Ib948b756b8e6ca47a4c9c44c48031e54b7386a06
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Also makes the docs look more like the other
oslo libraries so that the content is easily readable
across projects.
Change-Id: Idb17dd30403daa130176643f4609fdd7c61c076e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added a sanity_check call after the migration, so if a table in the
migration scripts is created not correctly the exception arise
before to go in production.
Closes-Bug: #1428065
Change-Id: Ib91f2471fa389a6072e8c2aa302504a6c068aa0a
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The current code only supports this type of constraint on INSERT, this
adds support for DELETE.
Change-Id: I981eb5f7b71bd37a35a93bbd3fada01d74aba12d
Closes-Bug: #1439358
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
PostgreSQL offers CHECK constraints integrity which are currently raised
as generic error. This patch add a filter so they can have their own
exception type.
Change-Id: I7e36ef4385b227d1e62e18277d470047a369a238
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We currently don't distinguish DB errors, that are due to problems
with the processed data (like division by zero, numeric value out
of range, incorrect data type passed, etc)
This actually led to a problem when MySQL threw two different errors
depending on the randomly generated UUID value and we wrapped only
one of those cases properly, which caused the test case to fail time
to time in the gate.
Closes-Bug: #1442178
Change-Id: I02891f3b1ede6f33834e5637be43496499cc88e7
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In Gnocchi we use binary primary keys, and one a duplicate entry is
inserted the error is not catched. This patches fixes that.
Change-Id: I488628df1a3b91d842eb9fa76bc1878f12d37acd
Closes-Bug: #1368297
|
| |/
|/|
| |
| |
| |
| |
| | |
Rather than repeating the library name, have the summary use proper
names instead.
Change-Id: Icf76c338c2420cb08fdebe291be131dc5383964a
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previous realization generates query string like:
`INSERT INTO tbl1 SELECT tbl2.ID, tbl2.name,
tbl2.currdate FROM tbl2;`. It doesn't specify
columns in INSERT clause. If tbl1 columns differs
from tbl2, execution of insert fails, or silently insert
data in incorrect columns. To fix this implementation of
class changed to default SQLAlchemy insert from select.
added extra parameter 'columns', which allows to determine
column order in INSERT clause.
Closes-Bug:#1430884
Change-Id: Ica5cdea10d9aa253f395ec553559dba54e062028
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Such exception indicates of error condition only if
retries are exceeded. In other cases error-level logs
pollute the log file and complicate log analysis.
Change-Id: I318867043a68a6499851631593859a0fffac6038
Closes-Bug: #1433001
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This feature provides the query.update_on_match()
and query.update_returning_pk() methods, as well
as the manufacture_persistent_object(),
manufacture_entity_criteria(), and manufacture_criteria()
utility functions.
query.update_on_match() is used to UPDATE a row based on a variety
of criteria, and to then return a fully persistent object
state representing the row that was matched. It
essentially intends to provide an UPDATE that is guaranteed
to have matched a specific row in the presence of potential
race conditions without using any locking, and to then
return a record of that row as if it had been SELECTed.
query.update_returning_pk() is a public method that
also serves as part of the implementation of
query.update_on_match(); this method delivers an UPDATE
statement such that the primary key of the single row
matched is returned; if zero or multiple rows are matched,
and error is raised. To handle this, several backend-specific
strategies are provided, which are automatically selected
based on the best available. The lowest strategy
performs a re-SELECT, but still assumes there's
a simple unique column to be queried on, as is currently the
use case in Nova (uuid is present). On Postgresql, MySQL
and other databases besides SQLite and possibly DB2, more
atomic strategies are used.
Change-Id: I059f4ae6e72cfa6681a179314144214639f283ef
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ie760385d750d52490b4e05225abecc17ff3210c7
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Ia882bd0eba82f558737d84830b70215da173cd3f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: I7fdc702a07699e3fad9332a5ef8bfb6c704c37bd
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Repairs the parsing within test_utils tests
to use the alphabetic-supporting version
parser inside of compat/utils. Necessary in
order to work with beta / dev versions of SQLAlchemy
such as the current 1.0.0b1 release.
Change-Id: Ic1ae9fa18171b687b1bb9cfac7411fac14e29a0f
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's not safe for a database TCP connection to be
shared to a child process, as this is a file descriptor
which will maintain its state on both sides. Applications
such as Cinder which spin up multiprocessing subprocesses
at startup time are subject to race conditions as a result.
Instead of requiring that engines be explicitly prepared
within a child process, we can detect and accommodate
this situation in the connection pool itself, by tracking
the originating pid of a connection, and if it changes
on checkout, by invalidating.
Change-Id: If116f7b7140b3eba064d8147e5f637a05beb1cd8
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
Looks like we missed one!
Closes-Bug: #1431268
Change-Id: I125c7fb66967b83e786c2f697d7bda68d361cb30
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I had to go digging into how this worked to figure out the missing
"_ADMIN_".
Change-Id: Id9a48cf413eacd04473f3413421681b32cbf5f29
|
|/ / /
| | |
| | |
| | | |
Change-Id: I577fec9512ca2a94418f37ea955cf590aea1c6d5
|
| | |
| | |
| | |
| | | |
Change-Id: I9f799c931804d0695fd64b238ad0a6c5dbbb6cf1
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
MySQLDb driver works only with python2.x, so we should use an another
connector for work with python3.
Used OS_TEST_DBAPI_ADMIN_CONNECTION env variable to set connection
strings.
Change-Id: I27fbe8f87c713b53a0b1831543a23f7c06fe454b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, DBAPI __getattr__() implementation will *always*
implicitly wrap all mocked methods of a target class/module using
wrap_db_retry(), as retry_on_* attributes will always exist and be
true for mock instances. Not only this leads to a situation, when
we would retry methods, we were not going to retry, but this also
fails with AttributeError on functools.wraps() call, breaking valid
unit tests in projects.
DBAPI is changed in a way, so that it does dict look ups instead of
fetching instance attributes to ensure mocked methods are handled
correctly and aren't wrapped when they shouldn't be wrapped.
Related issue:
http://stackoverflow.com/questions/22204660/python-mock-wrapsf-problems
Change-Id: I36550ffa88056c53a431d64e61e84fbb44bbf68d
|
| | |
| | |
| | |
| | | |
Change-Id: Ie0a3c19e005fab985b1d6abaf1ac785471fffd8e
|
| |/
|/|
| |
| |
| |
| |
| | |
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: If2388281d6e9cf3c76cee2293636aab8873818f6
|
|/
|
|
|
|
|
|
| |
When PyMySQL experiences a constraing error a unicode string prefix is
prepended part way through the inner_exception string. As a result, we
raise a DBError when we should be raising a DBReferenceError.
Change-Id: I5de1333d933bd28ca535852f4643df2ebbc7f964
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change introduces the use of the testresources package,
such that the provisioning system uses TestResourceManager
objects in order to create and drop databases, schemas,
and manage transactional testing. A new series of objects
to support transparent transaction containers within
tests is added as well.
partially implement bp: long-lived-transactionalized-db-fixtures
Partial-Bug: #1339206
Change-Id: I16bfa3af0e1ad6a9231ea38dea7cd76092347f55
|
| |
| |
| |
| | |
Change-Id: I5430adda717798e4ec31edbeab4e9aa72e5f80fa
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
test_trace test cannot pass with mocked do_execute on pypy
environment. Allow test to call do_execute with correct sql
query.
Change-Id: I165fc4de9f4a7f10cb45e92301652224e63f113b
|