Sphinx 1.8 introduced [1] the '--keep-going' argument which, as its name
suggests, keeps the build running when it encounters non-fatal errors.
This is exceptionally useful in avoiding a continuous edit-build loop
when undertaking large doc reworks where multiple errors may be
introduced.
[1] https://github.com/sphinx-doc/sphinx/commit/e3483e9b045
Change-Id: Idaca0bc97e33e0a080de612420177b5e102c628c
Add file to the reno documentation build to show release notes for
stable/train.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.
Change-Id: I377ad03a73b88407d0e70315cbd0162bb9dc356b
Sem-Ver: feature
It seems that this is needed in order to run the py37 tests in the
gate. See the attached bug for the full error output from a failed
run.
Change-Id: Iba278fc17d0121cf6d8b48c42a18c6ccf73de6c8
Closes-Bug: 1839679
As it was announced [1] global bindep-fallback.txt was removed and now
projects need to have a local bindep.txt to be able to install binary
dependencies for testing.
In test jobs the script tools/test-setup.sh is called which requires
mysql and postgres servers and clients to be installed.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007272.html
Change-Id: I6b237ecf55ff440b5f5c956ee849a1927bb15441
SQLAlchemy 1.4 will be adding stricter rules to Connection objects
such that a new transaction cannot be started while an old one hasn't
been cleared. Ensure this particular test fixture clears
the "savepoint" transaction first before starting a new one.
References: https://github.com/sqlalchemy/sqlalchemy/issues/4712
Change-Id: Idcb616fd3add4d58f22b91865cec8a54fe492093
Bandit 1.6.0 accidentally changed how the exclusion list option is
handled and breaks our use of it. Cap to the previous version until
Bandit has fixed the problem.
Sphinx 2.0 no longer works on python 2.7, so we need to start capping
it there as well.
Change-Id: If86c82e0f4a519baca664af79352846c4af9a01c
Reference: https://github.com/PyCQA/bandit/pull/489
This addresses two sources of deprecation warnings.
The collections package has moved ABC classes under collections.abc. Six
does not support this move yet, so this updates the code to try to
import from the newer locations, and if that fails, import from the old
location.
Py36 is also more strict about escape sequences in strings. This happens
move often with regex strings that are valid regex but not a valid
normal string escape sequence. This addresses those errors by switching
to raw strings.
Change-Id: I4c61df6b6432b135297f38c02b4538e4ba56be51
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Today, when a user uses enginefacade reader/writer decorators
he/she is forced to pass the context argument as the
first positional argument. performing a decorated function
call with this argument passed as a keyword would lead to
an out of range exception.
This patch proposes to add support for the context argument
to be passed as a keyword argument in decorated functions.
e.g
@enginefacade.reader
def foo(context):
...
foo(context=ctxt) <- will now be possible
Change-Id: Ief0b71bf9a7eb75935612431bdcc26d33bce852d
The database option min_pool_size is not actually
used in oslo.db.
This is a folllow up to
Ib07b7b4200b5cf3a34b8eed441e6754da7d446cf
Change-Id: I89754e9e4b42c45259729b0b0bb0a4bf464a981c
Earlier versions don't work with postgresql 10, which is now showing
up in distros.
Change-Id: I56589eb4ac55bec426d16f355398720f2994edcb
Closes-Bug: 1821400
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: Idedd684db42cbda300e69e628e96e4f9475f7df4
Sem-Ver: feature
MariasDB/Galera cluster server produces an error like:
(1213, u'Deadlock: wsrep aborted transaction')
which is currently not detected properly and, thus, not retried.
Change-Id: Ifb4a81d50e490e734e12986e51efd6bd3c339c31
Signed-off-by: Pierre-Samuel Le Stang <pierre-samuel.le-stang@corp.ovh.com>
We currently see a lot of warnings like this from
the soft_delete() method:
sqlalchemy.exc.SAWarning: Evaluating non-mapped column expression
'updated_at' onto ORM instances; this is a deprecated use case.
Please make use of the actual mapped columns in ORM-evaluated
UPDATE / DELETE expressions.
This is because the "evaluate" synchronization strategy would like
to search for objects and update them based on the UPDATE criteria
passed, however the columns given, literal_column('id'),
literal_column('updated_at'), are not mapped to anything. The
evaluator has to make a guess that the string contained in these
expressions should be matched to a mapped attribute on the given
entity and this guess was first removed in [1], then added back in
[2] with a warning (likely since oslo.db is invoking it).
This uses the actual entity-mapped column for the query rather
than the literal string column.
[1] https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-b1e620dece39006ab44c47044e9a6fee
[2] https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-dff3a469788c81a46440584406cb22be
Change-Id: I192e84ce757d12d33085a209dd58d8ea46fb90fb
Closes-Bug: #1814199
This flag is to be deprecated in SQLAlchemy version 1.3,
as it is a leftover from the pre-Python 3 legacy days when
DBAPIs under Python 2 would crash if you passed them a
u'' object. While still available in 1.3, it will emit a
deprecation warning, so it's time to stop using this flag and to
locate any downstream Openstack projects that might be relying
on its behavior in a Python 2 context; the flag has no real effect
on Python 3.
Change-Id: I01984b4ff7e03dcf91ef8dcb05da67dda8270ae3
References: https://github.com/sqlalchemy/sqlalchemy/issues/4393
Small cleanups:
* Use openstack-lower-constraints-jobs template, remove individual
jobs.
* Sort list of templates
Change-Id: I96e67b9d57710d707328a514d837bfe95d976ce4
Needed-By: https://review.openstack.org/623229
openstack-dev was decomissioned this night in https://review.openstack.org/621258
Update openstack-dev to openstack-discuss
Change-Id: I773a629ab2fb8273004da92a217cd09f39132108
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
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>
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
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
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
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
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
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
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
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
We no longer support SQLAlchemy 0.9.0, so remove the test environment.
Change-Id: I614945b178ee09fe3c4c6c61c9356d072d776639
Signed-off-by: Doug Hellmann <doug@doughellmann.com>