When running the functional tests locally:
tox -efunctional
the following error is raised from 6 tests in the
placement.tests.functional.db.test_migrations module:
RuntimeError: 'cryptography' package is required for sha256_password
or caching_sha2_password auth methods
This adds the 'cryptography' package to the list of required packages
for tests.
Story: 2008832
Task: 42317
Change-Id: I78fbdd723be089364b8ee61432eeb74ed6f24094
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:
1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.
2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.
Also replace policy.json to policy.yaml ref from doc and tests.
[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html
Change-Id: Ia7365cc3ae09e2ff916ab9f9ff0ba4fef0dc446b
There are few failure in l-c jobs due to
- The conflict is caused by:
The user requested pyflakes>=2.1.1
hacking 0.12.0 depends on pyflakes==0.8.1
- The conflict is caused by:
The user requested requests>=2.14.2
keystonemiddleware 4.18.0 depends on requests>=2.14.2
oslo-config 6.7.0 depends on requests>=2.18.0
Remove the flake8 and pyflake from lower constraints as they are
maintained in hacking side[1]. Maintaining in hacking aas well as
in project side can lead to version conflict. Also few more deps
from l-c as they are not used in placement directly.
Update requests version to 2.25 to fix the http connection failure with
2.18
- https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_dff/766994/6/check/openstack-tox-lower-constraints/dff1943/testr_results.html
This commits also moves the code to latest hacking 4.0.0 with W504 in
ignore list and fix W503 and other checks.
[1] 4069b0c4f5/lower-constraints.txt (L9)
Change-Id: Id2761300060597c1744e76ea77740ed380d98943
As per victoria cycle testing runtime and community goal[1]
we need to migrate upstream CI/CD to Ubuntu Focal(20.04).
Fixing:
- bug#1885825
Fix user creation with GRANT in MySQL 8.0(Ubuntu Focal)
Ubuntu Focal (20.04) has mysql 8.0 and with mysql 8.0 there
is no implicit user creation with GRANT. We need to
create the user first before using GRANT command.
- bug#1886298
Bump the lower constraints for required deps which added python3.8 support
in their later version.
- bug#1886296
pyflake issue and some pep8 fixes.
Story: #2007865
Task: #40209
Related-Bug: #1885825
Related-Bug: #1886298
[1] https://governance.openstack.org/tc/goals/selected/victoria/migrate-ci-cd-jobs-to-ubuntu-focal
Change-Id: Iac9652b0d36ef208075da506957cc87f22912c45
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Change-Id: I1cffb9710f9e6b9b8b1f5e658d5af8668f3fca4c
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Placement can run just fine on OSX but running the tests can
be a bit cumbersome since dev libraries for ssl, postresql,
and mysql are required (directly or indirectly) by
test-requirements.txt, even though for non-gate testing we don't
usually need them, and dealing with dynamic libraries is a
frequent source of pain and discomfort on OSX.
This change says "don't import SQL drivers for mysql and postgresql
when testing on darwin".
Change-Id: Ic0ff55f00e0312251207fd079cf7b7e98d950c87
OsProfiler is optional, but if it's installed we'll load up the configuration
options from the library, but they weren't in the generated config sample so
people would have to find the osprofiler docs, or worse the code, to figure
out how to configure it.
This simply adds the OsProfiler config options to the config sample, which
will also show up in the config reference docs.
Change-Id: I9a379e0e60ae8eb53280b8296229d2f0412eae4a
Story: 2005842
Task: 34191
While exploring removing unused packages from lower-constraints.txt it
became clear that the lower-constraints job was not working as expected:
Because our tox config has usedevelop=True 'setup.py develop' is called
to install the placement package after the install command is called.
This means that the lower-constraints are clobbered.
I had mistakenly assumed that turning off 'usedevelop', which causes
'setup.py install' would not make any difference, because it usually
installs dependencies too. It turns out however, that when using pbr
and within a git working dir, it does not. That took some time to
figure out. Oh well.
This change makes it so that we create the tox environment using
usedevelop=False and with our own install_command, to avoid upper
constraints conflicting with lower constraints.
This flagged up a few changes, the main one being that we did not have
a new enough version of keystonemiddleware in order to require use of
www_authenticate_uri. requirements.txt is updated for this as well.
And PasteDeploy needed to be updated to work with Python 3's notion
of namespace packages.
psycopg2 need a newer version to work with Postgresql 10.
oslotest needs to be raised to 3.4.0 because the tests in
cmd.test_manage use features to control what is capture by the Output
fixture from oslotest. Note that the lower-constraints job found
this problem and also demonstrates why we must run the lower-constraints
job without upper-constraints being involved. upper-constraints will
"win" and we don't want that. The point of the job is find packages
where lower-constraints are wrong, so it must "win".
The end result here is a lower-constraints.txt file that starts from
the lower-constraints.txt defined by nova, and then is adapted to
update the versions of packages that were not up to date, remove
those packages which are no longer present, and add some that are
now required.
Change-Id: Id66a28f7ace6fc2adf0e1201d9de5f901234d870
With placement off by itself, the number of python packages required to
make things go shrinks.
This is the set of modules that are imported directly. There are plenty
of transitive dependencies not listed here.
test-requirements.txt also lists some of the optional things (database
drivers) that come up in devstack-based testing situations.
Change-Id: I3eb6aead544d1ef647ad8d94a18382d5fa795aa4
With a fix in wsgi-intercept 1.7.0 we can properly
use the PlacementFixture as a context manager to
simulate when placement is configured for a given
operation. This allows us to remove the ugly stub
that one of the tests in here had to rely on.
While in here, the CastAsCall fixture is removed
since we shouldn't rely on that in these tests
where we're trying to simulate the user experience.
Change-Id: I2074b45126b839ea6307a8740364393e9dddd50b
The Project Testing Interface [1] asks that we list requirements in
'doc/requirements.txt' and build docs by calling 'sphinx-build' directly
instead of via the 'build_sphinx' setuptool/distutils wrapper. Start
doing this.
[1] https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: If9342c8ea757b1735f2488db751008984fb33baf
Nova switched to using stestr for all it's in tree testing except for
the coverage job. This commit updates that job so it also uses stestr
and cleans up the last bits of testr setup left in tree. As part of
this change this moves all the one off per job configuration into the
tox job definitions instead of hiding it in either the .stestr.conf or
in a wrapper script.
Change-Id: I36e0e791d485b44641a1ed8770eca8e95aca19be
Use whereto to test that the redirect rules do what we expect. The
test coverage is a bit minimal for now, but should be useful as an
example of how it can be extended. The test files in the
openstack-manuals repo provide some other examples.
Depends-On: I36003d3525dcc9fef8e5f008ecabb2b2ac78088e
Change-Id: Ia14bfa6c89fd04844842d727d11ff8874ec7fc2a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
python-subunit is not used directly anywhere
and it is dependency of both testrepository
and os-testr
(probably was used by some tox wrapper script before)
Change-Id: Ic2139ceb5a200c3b32bcc87e81fc30f208645771
There have been some major changes to how scheduling works in Nova
during the Pike and Queens cycles. This documents these design changes
so that this new, more complex workflow is clearly spelled out.
Co-Authored-By: Ed Leafe <ed@leafe.com>
Change-Id: I15121d8fe9b715c0aec39dee4bfdf25ced42b481
Gabbi 1.35 provides template variable susbtitution on the left hand side
of a JSONPath expression. That's used here to remove the need for static
fake uuids in the test data for allocation-candidates and the
SharedStorageFixture.
A couple of other clean ups to the use of gabbi, unrelated to the 1.35
update:
* It's possible to test the entire value in one response:
resources:
VCPU: 4
DISK_GB: 5
instead of:
resources.VCPU: 4
resources.DISK_GB: 5
This is handy when the root of the expression is calculated and
repeating that calculation is noisy.
* [?foo.bar=baz] is the more canonical form of [?(@.foo.bar=baz)]. The
former is built into jsonpath, the latter dips into the underlying
implementation.
Change-Id: Ie6b5e0186533581815d04411ed7b321948464bb6
- When flake8-import-order is installed the additional
ordering tests it provides are enabled by default.
- When devstack installs python projects from source
such as nova, the pip_install function installs both the
requirements.txt and test-requiremets.txt dependencies systemwide.
As a result, any python project that runs pep8 tests without a
python virtual environment will also have import ordering enforced
which may fail.
- This change removes flake8-import-order from the
test-requirements.txt to prevent failures in projects other
than nova that don't enforce pep8 import ordering.
Change-Id: I994df178f0000a0840f6658ccc2f277d5503f826
Use the flake8 plugin flake8-import-order to check import ordering. It
can do it automatically and don't need reviewers to check it.
Change-Id: Ia3d81bbbb44b40804b3268c0e648276a36cb4805
Use ostestr as runner instead of the custome pretty_tox.sh script
(pretty much removed everywhere). pretty_tox3.sh is just a wrapper
for ostestr but it could be probably removed as well going forward.
Also remove the tempest-lib dependency, which originally provided
subunit-trace (now from os-testr).
Change-Id: I4390964ce83167d634b80f696e82a0e199582ce6