| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Required minor changes to existing files to comply with new flake rules.
Change-Id: Ia0bff27ab4a7ec98c533ea66357a3c0529026102
|
|
|
|
|
|
|
|
|
|
|
| |
Some tests tool and IDE may create a .local directory inside the repo
with virtualenvs for dependencies, other tools may create . directories
or files for temporary reports.
While they can be removed in a second time, or configured differently,
it's advisable to just exclude all file starting with . from the
flake8 tests to avoid confusion and possible unexpected errors.
Change-Id: I5dc2fd2dec9690c77babe0c2b1dc5d0991413b32
|
|
|
|
|
|
| |
Also fix up the title and make sure the linter checks API ref files.
Change-Id: I360fd4fab699e732ac03dc07faab33e18fe2bf13
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove skipsdist that it was never supported and causes breakage
when used with usedevelop.
- add script to allowlist for pep8 test
- disable setuptools autodiscovery
- Increase base VM memory according to new requirements for CS9
based IPA
Change-Id: I0bfef09a5312a17be54ce5c09805f06b7c349026
|
|
|
|
|
|
| |
Formatting changes in config file required for tox 4.0.
Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Changed common exception imports from SQLAlchemy for ORM
query types which are now originated from the main exception
definition set.
* Changed base join option usage to use objects instead of labels,
and defaulted all multi-row result sets to return data using
"selectinload" as opposed to operating with a join query to
avoid need to de-duplicate all result sets.
* Changed DeployTemplates to utilize objects instead of
field names for queries, and updated the associated join ORM
model's relationship record between DeployTemplate and
DeployTemplateSteps.
* Changed Ports, Chassis, Conductor, Volume Target/Connector
queries to lean towards use of select/update/delete queries as
opposed to ORM queries. Most of these changes revolved around
references of field names as opposed to model objects.
* This change also labels a few lines as "noqa", which is a result
of the style check rules getting triggered on statements as
needed for SQLAlchemy.
Change-Id: I651ec4b50c79be6aa8c798ee27957ed720a578d8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of the major changes in SQLAlchemy 2.0 is the removal
of autocommit support. It turns out Ironic was using this quite
aggressively without even really being aware of it.
* Moved the declaritive_base to ORM, as noted in the SQLAlchemy 2.0
changes[0].
* Console testing caused us to become aware of issues around locking
where session synchronization, when autocommit was enabled, was
defaulted to False. The result of this is that you could have two
sessions have different results, which could results on different
threads, and where one could still attempt to lock based upon prior
information. Inherently, while this basically worked, it was
also sort of broken behavior. This resulted in locking being
rewritten to use the style mandated in SQLAlchemy 2.0 migration
documentation. This ultimately is due to locking, which is *heavily*
relied upon in Ironic, and in unit testing with sqlite, there are
no transactions, which means we can get some data inconsistency
in unit testing as well if we're reliant upon the database to
precisely and exactly return what we committed.[1]
* Begins changing the query.one()/query.all() style to use explicit
select statements as part of the new style mandated for migration
to SQLAlchemy 2.0.
* Instead of using field label strings for joined queries, use the
object format, which makes much more sense now, and is part of
the items required for eventual migration to 2.0.
* DB queries involving Traits are now loaded using SelectInLoad
as opposed to Joins. The now deprecated ORM queries were quietly
and silently de-duplicating rows and providing consistent sets
from the resulting joined table responses, however putting much
higher CPU load on the processing of results on the client.
Prior performance testing has informed us this should be a minimal
overhead impact, however these queries should no longer be in
transactions with the Database Servers which should offset the
shift in load pattern. The reason we cannot continue to deduplicate
locally in our code is because we carry Dict data sets which cannot
be hashed for deduplication. Most projects have handled this by
treating them as Text and then converting, but without a massive
rewrite, this seems to be the viable middle ground.
* Adds an explict mapping for traits and tags on the Node object
to point directly to the NodeTrait and NodeTag classes. This
superceeds the prior usage of a backref to make the association.
* Splits SQLAlchemy class model Node into Node and NodeBase, which
allows for high performance queries to skip querying for ``tags``
and ``traits``. Otherwise with the afrormentioned lookups would
always execute as they are now properties as well on the Node
class. This more common of a SQLAlchemy model, but Ironic's model
has been a bit more rigid to date.
* Adds a ``start_consoles`` and ``start_allocations`` option to the
conductor ``init_host`` method. This allows unit tests to be
executed and launched with the service context, while *not* also
creating race conditions which resulted in failed tests.
* The db API ``_paginate_query`` wrapper now contains additional
logic to handle traditional ORM query responses and the newer style
of unified query responses. Due to differences in queries and handling,
which also was part of the driver for the creation of ``NodeBase``,
as SQLAlchemy will only create an object if a base object is referenced.
Also, by default, everything returned is a tuple in 1.4 with the
unified interface.
* Also modified one unit test which counted time.sleep calls, which is
a known pattern which can create failures which are ultimately noise.
Ultimately, I have labelled the remaining places which SQLAlchemy
warnings are raised at for deprecation/removal of functionality,
which needs to be addressed.
[0] https://docs.sqlalchemy.org/en/14/changelog/migration_20.html
[1] https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#transaction-isolation-level-autocommit
Change-Id: Ie0f4b8a814eaef1e852088d12d33ce1eab408e23
|
|
|
|
|
|
|
|
|
| |
We will use this in the future to prepare for SQLAlchemy 2.0. For now,
we're simply using it to filter out some of the more annoying warnings
and to highlight general SQLAlchemy issues we need to address.
Change-Id: I7c26c20e4b36c4f3b98873939677b966ec6186a5
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.
[1] https://etherpad.opendev.org/p/tc-zed-ptg#L326
[2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal
Change-Id: Ide6b3e9d6c1171f1ae568c256a3e9affa45de17b
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Create a new Sphinx extension called 'web_api_docstring' to process
docstrings from the API classes, in order to generate API
documentation.
Story: 2009785
Task: 44291
Change-Id: Ia6b2b3741e2b1cbd29531c21795df4f0f0dc70ca
|
|/
|
|
|
|
|
| |
The left/right single quotation marks cause an ascii decode error in
some python3.6 environments.
Change-Id: I80d1b3e7f9e2e23ddaca640714a342b63ae3a5fa
|
|
|
|
|
|
| |
The test dir is already defined in .stestr.conf
Change-Id: I0d620ac5e9f7eeaae86243a9235f431a9114804b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The lower-constraints test was removed becuase of an issue where pip
could not correctly determine the required packages versions to install,
ending in an almost infinite loop that would end up in timeout, failure,
and general mayhem.
Recently the issue has been fixed and, if properly configured, the
lower-constraints test can provide good indication of which minimum
versions are required to support the current code.
This patch adds the test back to the current development branch.
The long term goal is to keep the lower-constraints file in the stable
branches, but remove the test job to avoid issues during backports.
Change-Id: I5fff32ec5dd1a045116bcf02349650b1f5e3a196
|
|
|
|
|
|
| |
Fix errors in unit tests
Change-Id: Ib5a75fc5e5b6b5661d36e3a27796c3c02ed90056
|
|
|
|
|
|
|
|
|
| |
The min version of tox is updated to 3.18.0 to replace whitelist_externals
with allowist_externals option [1]
[1] https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23
Change-Id: Icf821d49d2543be2a37dffc686ae7ab4163b04cc
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Adjust unit tests and filters in tox.ini
Change-Id: I05a3a1b37d0ce3cf33b3b5b9637350f0fd1f0afb
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
Adapt unit tests and remove filter from tox.ini
Change-Id: I9962afd71bb2a72374559dc1d07bba4137754eb0
|
|/
|
|
|
|
|
|
| |
Adds policy scope based RBAC handling for the allocations
endpoing which enables admins to create allocations if
they have baremetal nodes which are available to them.
Change-Id: I60e273afaf344fded9bdb8c4c8e143efc9971fc1
|
|
|
|
|
|
| |
Remove filter from tox.ini
Change-Id: Ic8990ac3cb2ddb6e243ce00918793fc96684fde0
|
|
|
|
|
|
| |
Adjust unit tests and remove filter from tox.ini
Change-Id: Ide7ac1a29f6e07842462d6e39fe797a309218884
|
|
|
|
|
|
| |
Adapt unit tests and remove filter from tox.ini
Change-Id: I67fe1dd81ae7fe384c869e73d88182fcde402826
|
|
|
|
|
|
| |
And remove filter from tox.ini
Change-Id: I90efb9f309df46c9b0ef073e789e1f1aaa1b1a1c
|
|
|
|
|
|
| |
And remove tox.ini filter
Change-Id: I29257c805ce0afb01ae9422671d71d225f4b2573
|
|
|
|
|
|
|
|
| |
And remove filter from tox.ini
Also sets noqa for 2 mocks to keep ignoring autospec.
Change-Id: I0eadacf87baf68bc1c6547aac562f85edcad1aa3
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Id9cf476f56f2f78b9e8adf6e736148e91916777d
|
|/
|
|
|
|
| |
And remove corresponding tox.ini filter
Change-Id: Id52e736c73f491faf04d2691a1f2ef0441b94111
|
|
|
|
|
|
|
|
|
| |
The minimum version since when tox accepts having inline comments
in deps is 3.9.0
https://tox.readthedocs.io/en/latest/changelog.html#v3-9-0-2019-04-17
Change-Id: I4d2aaf97459344ca01e5ccd6e563474c094a4678
|
|
|
|
| |
Change-Id: If798d35d47bbc13d2e6e751467d16848c44d2975
|
|
|
|
|
|
|
|
|
|
|
| |
Usage of usedevelop=True results in all requirements.txt dependencies
always installed (without constraints) even when requirements.txt
is not explicitly added. Override usedevelop for these environments.
Add requirements.txt to the 'docs' environment since it imports
the whole ironic in the process.
Change-Id: Ibab7d9cff1bd6eccc022873d1c5f59e27e54abaf
|
|
|
|
|
|
| |
We want to use the default for each system.
Change-Id: I80e411e11b3b1db990ff91a1cf90c662170dcab6
|
|
|
|
|
|
|
|
| |
* move pep8 dependencies from test-requirements to tox.ini,
they're not needed there and are hard to constraint properly.
* add oslo.cache to l-c to avoid bump of dependencies
Change-Id: Ia5330f3d5778ee62811da081c28a16965e512b55
|
|
|
|
|
|
|
| |
And modify corresponding filter in tox.ini for:
v1/test_utils.py
Change-Id: I48736c7281e7c2b4deed64d6763a5c633d9f27b0
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
And modify corresponding filter in tox.ini for:
test_base.py
v1/test_allocation.py
Change-Id: I02f1ee5093872ca8521646cf49bbae5744a386ff
|
|/
|
|
|
|
|
|
|
|
|
| |
UPPER_CONSTRAINTS_FILE is old name and deprecated
-https://zuul-ci.org/docs/zuul-jobs/python-roles.html#rolevar-tox.tox_constraints_file
This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.
[1] https://review.opendev.org/#/c/722814/
Change-Id: I85c10d5969ed03e4f27b73a76eb9da5fffa3b485
|
|
|
|
|
|
|
| |
The docs and releasenotes requirements migrated to doc/requirements.txt
we need not install things from requirements.txt.
Change-Id: I2633cd68b45d27ef3c964216a7d97cd442919101
|
|
|
|
|
|
| |
And remove corresponding filter in tox.ini
Change-Id: Ib47a5894d7b05346726c5b8ae8668dc8512cc322
|
|
|
|
|
|
| |
And remove corresponding filter in tox.ini
Change-Id: I0664fec6477227f5fc3f91518a4e09f5a43be6d3
|
|
|
|
|
|
| |
And remove corresponding filter from tox.ini
Change-Id: I33864a06c0436b85ec2ed7cc1b798b700b2bf3ab
|
|
|
|
|
|
| |
And remove corresponding filter from tox.ini
Change-Id: I2fcca0c697970264b711f90000087991bd6125ac
|
|
|
|
|
|
| |
And remove corresponding filter from tox.ini
Change-Id: Ia8f608fbf2c6feffcf23da84ae91ccf3d6ea4baa
|
|
|
|
|
|
| |
And remove corresponding filter from tox.ini
Change-Id: I726dce65b9306b5925bc0b0d8a1187c1c473125d
|
|
|
|
|
|
| |
And remove corresping filters.
Change-Id: Idb7fe3fc8b220f223d137eaced47a9ded13eba13
|
|\ |
|
| |
| |
| |
| |
| |
| | |
And remove corresponding filter from tox.ini
Change-Id: I4724a5efd522c313d2f6dbb14dcdf19700f8cda7
|
|\ \
| |/ |
|