summaryrefslogtreecommitdiff
path: root/tox.ini
Commit message (Collapse)AuthorAgeFilesLines
* Add missing include for inventory API referenceDmitry Tantsur2023-02-231-1/+1
| | | | | | Also fix up the title and make sure the linter checks API ref files. Change-Id: I360fd4fab699e732ac03dc07faab33e18fe2bf13
* Fix CIRiccardo Pittau2022-12-291-1/+2
| | | | | | | | | | | - 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
* Fixes for tox 4.0Jay Faulkner2022-12-151-2/+7
| | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
* Phase 2 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Phase 1 - SQLAlchemy 2.0 CompatabilityJulia Kreger2022-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* tests: Add a WarningsFixtureStephen Finucane2022-09-081-1/+0
| | | | | | | | | 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>
* Drop lower-constraints.txt and its testingGhanshyam Mann2022-04-301-6/+0
| | | | | | | | | | | | | 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
* Merge "Create API documentation from docstrings"Zuul2022-03-171-0/+2
|\
| * Create API documentation from docstringsMahnoor Asghar2022-03-171-0/+2
| | | | | | | | | | | | | | | | | | | | 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
* | Ensure tox.ini is ASCIISteve Baker2022-02-181-1/+1
|/ | | | | | | The left/right single quotation marks cause an ascii decode error in some python3.6 environments. Change-Id: I80d1b3e7f9e2e23ddaca640714a342b63ae3a5fa
* Use default test dirRiccardo Pittau2021-11-191-1/+0
| | | | | | The test dir is already defined in .stestr.conf Change-Id: I0d620ac5e9f7eeaae86243a9235f431a9114804b
* Add lower-constraints job to current development branchRiccardo Pittau2021-07-301-0/+6
| | | | | | | | | | | | | | | 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
* Increase version of hacking and pycodestyleRiccardo Pittau2021-07-281-2/+2
| | | | | | Fix errors in unit tests Change-Id: Ib5a75fc5e5b6b5661d36e3a27796c3c02ed90056
* Update min version of tox to use allowlistRiccardo Pittau2021-05-181-4/+4
| | | | | | | | | 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
* Merge "Enforce autospec in test_console_utils"Zuul2021-03-171-3/+1
|\
| * Enforce autospec in test_console_utilsRiccardo Pittau2021-03-081-3/+1
| | | | | | | | | | | | Adjust unit tests and filters in tox.ini Change-Id: I05a3a1b37d0ce3cf33b3b5b9637350f0fd1f0afb
* | Merge "Enforce autospec in test_portgroup"Zuul2021-03-171-1/+0
|\ \ | |/
| * Enforce autospec in test_portgroupRiccardo Pittau2021-03-051-1/+0
| | | | | | | | | | | | Adapt unit tests and remove filter from tox.ini Change-Id: I9962afd71bb2a72374559dc1d07bba4137754eb0
* | Allocation support for project scoped RBACJulia Kreger2021-03-121-1/+1
|/ | | | | | | | 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
* Enforce autospec in test_portRiccardo Pittau2021-03-041-1/+0
| | | | | | Remove filter from tox.ini Change-Id: Ic8990ac3cb2ddb6e243ce00918793fc96684fde0
* Enforce autospec in test_volume_connectorRiccardo Pittau2021-03-041-1/+0
| | | | | | Adjust unit tests and remove filter from tox.ini Change-Id: Ide7ac1a29f6e07842462d6e39fe797a309218884
* Enforce autospec in test_volume_targetRiccardo Pittau2021-03-031-1/+0
| | | | | | Adapt unit tests and remove filter from tox.ini Change-Id: I67fe1dd81ae7fe384c869e73d88182fcde402826
* Enforce autospec in test_driverRiccardo Pittau2021-02-231-1/+0
| | | | | | And remove filter from tox.ini Change-Id: I90efb9f309df46c9b0ef073e789e1f1aaa1b1a1c
* Enforce autospec in test_notification_utils moduleRiccardo Pittau2021-02-191-2/+0
| | | | | | And remove tox.ini filter Change-Id: I29257c805ce0afb01ae9422671d71d225f4b2573
* Enforce autospec in test_nodeRiccardo Pittau2021-02-191-1/+0
| | | | | | | | And remove filter from tox.ini Also sets noqa for 2 mocks to keep ignoring autospec. Change-Id: I0eadacf87baf68bc1c6547aac562f85edcad1aa3
* Merge "Report the slowest tests after a test run"Zuul2021-02-181-1/+1
|\
| * Report the slowest tests after a test runDmitry Tantsur2021-02-111-1/+1
| | | | | | | | Change-Id: Id9cf476f56f2f78b9e8adf6e736148e91916777d
* | Enforce autospec in test_chassisRiccardo Pittau2021-02-171-1/+0
|/ | | | | | And remove corresponding tox.ini filter Change-Id: Id52e736c73f491faf04d2691a1f2ef0441b94111
* Update minversion of toxRiccardo Pittau2021-01-211-1/+1
| | | | | | | | | 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
* remove lower-constraints in toxlikui2020-12-171-6/+0
| | | | Change-Id: If798d35d47bbc13d2e6e751467d16848c44d2975
* Avoid a full install in tox environments that do not need itDmitry Tantsur2020-12-141-0/+6
| | | | | | | | | | | 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
* Do not pin Python version in tox configRiccardo Pittau2020-12-141-1/+1
| | | | | | We want to use the default for each system. Change-Id: I80e411e11b3b1db990ff91a1cf90c662170dcab6
* Fix lower-constraints with the new pip resolverIury Gregory Melo Ferreira2020-12-111-1/+8
| | | | | | | | * 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
* Enforce autospec in some api controllers modulesRiccardo Pittau2020-11-031-1/+0
| | | | | | | And modify corresponding filter in tox.ini for: v1/test_utils.py Change-Id: I48736c7281e7c2b4deed64d6763a5c633d9f27b0
* Merge "Enforce autospec in some api controllers modules"Zuul2020-11-031-1/+10
|\
| * Enforce autospec in some api controllers modulesRiccardo Pittau2020-11-021-1/+10
| | | | | | | | | | | | | | | | And modify corresponding filter in tox.ini for: test_base.py v1/test_allocation.py Change-Id: I02f1ee5093872ca8521646cf49bbae5744a386ff
* | Update TOX_CONSTRAINTS_FILElikui2020-11-031-5/+5
|/ | | | | | | | | | | 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
* Remove install unnecessary packageswu.shiming2020-09-141-2/+0
| | | | | | | The docs and releasenotes requirements migrated to doc/requirements.txt we need not install things from requirements.txt. Change-Id: I2633cd68b45d27ef3c964216a7d97cd442919101
* Enforce autospec in ilo testsShivanand Tendulker2020-08-251-1/+0
| | | | | | And remove corresponding filter in tox.ini Change-Id: Ib47a5894d7b05346726c5b8ae8668dc8512cc322
* Enforce autospec in common testsRiccardo Pittau2020-08-241-1/+0
| | | | | | And remove corresponding filter in tox.ini Change-Id: I0664fec6477227f5fc3f91518a4e09f5a43be6d3
* Enforce autospec in irmc testsRiccardo Pittau2020-08-121-1/+0
| | | | | | And remove corresponding filter from tox.ini Change-Id: I33864a06c0436b85ec2ed7cc1b798b700b2bf3ab
* Enforce autospec in xclarity testsRiccardo Pittau2020-08-071-1/+0
| | | | | | And remove corresponding filter from tox.ini Change-Id: I2fcca0c697970264b711f90000087991bd6125ac
* Enforce autospec in test_cinderRiccardo Pittau2020-08-061-1/+0
| | | | | | And remove corresponding filter from tox.ini Change-Id: Ia8f608fbf2c6feffcf23da84ae91ccf3d6ea4baa
* Enforce autospec in test_iscsi_deployRiccardo Pittau2020-07-291-1/+0
| | | | | | And remove corresponding filter from tox.ini Change-Id: I726dce65b9306b5925bc0b0d8a1187c1c473125d
* Enforce autospec in some api testsRiccardo Pittau2020-07-241-1/+1
| | | | | | And remove corresping filters. Change-Id: Idb7fe3fc8b220f223d137eaced47a9ded13eba13
* Merge "Enforce autospec in test_notification_utils"Zuul2020-07-241-1/+0
|\
| * Enforce autospec in test_notification_utilsRiccardo Pittau2020-07-171-1/+0
| | | | | | | | | | | | And remove corresponding filter from tox.ini Change-Id: I4724a5efd522c313d2f6dbb14dcdf19700f8cda7
* | Merge "Enforce autospec in test_deployments"Zuul2020-07-241-1/+0
|\ \ | |/
| * Enforce autospec in test_deploymentsRiccardo Pittau2020-07-171-1/+0
| | | | | | | | | | | | And remove corresponding filter from tox.ini Change-Id: I5eae1cbed3abbb6316f67619c499f040f43d11b1
* | Set min version of tox to 3.2.1Riccardo Pittau2020-07-151-1/+1
|/ | | | | | | | | | | As recommended, since version 3.2.0 tox switches pip invocations to use the module -m pip instead of direct invocation. We set min version to 3.2.1 [1] to also fix the behavior of --parallel--safe-build [1] https://tox.readthedocs.io/en/latest/changelog.html#v3-2-1-2018-08-10 Change-Id: Ia7209934d30f6a55879319ab6ca94d8bf8886073