We have broken gate, because we have no limitation to fixtures,
and the new version is incompatible to us.
We need to add fixtures into test-requirements to make
sure that we always up to date with global requirements.
Closes-Bug: #1567731
Change-Id: Ib0cac0c217db195ce3723cee3f09d26e6be9f0ea
The problem of integration tests was that they use their own
requirements.txt that is unable to auto-sync with global requirements.
This patch removes dedicated requirements.txt and replaces it with a
stub file listing names (and possibly versions) of the packages needed.
Then a special script parses this stub file, and for every package
that is present in main project requirements files it pulls the versions
from main project requirements, generating and installing requirements
for the integration tests on the fly.
This will help keeping requirements for the integration tests always in
sync with main project requirements.
Change-Id: Ie79338cc10cc101fbf15b51c7923e3a7b8e4fbb4
Closes-Bug: #1490866
oslo.messaging has kombu in its own requirements, so kombu
is not needed in requirements.txt.
Instead it was moved to test-requirements.txt file because
it is explicitly imported for functionnal tests.
Change-Id: I952263f1d2c61a3b700824914da499b1ece91b78
If we use oslo.db fixtures, we'll need these 2 packages or
the next version of oslo.db release will break us.
Change-Id: I71f001c8b75ad52e68ccab8f07cd8946772fd03b
Closes-Bug: #1503501
qpid-python is only needed if the qpid backend is actually used.
when it is part of requirements.txt, loading of heat-engine
(which is done via stevedore) fails as it forcefully requires
qpid-python then. However heat seems to work just fine without it.
Change-Id: I1c49ec709995da145849d8616fe7207908637fb9
Add a tox environment for bandit so it can be run as a gate job
eventually. As-is, there are no high severity issues detected in heat.
Change-Id: Iab098a1d8bac5c95d67e6867ad5249987c3a786e
As discussed in the Liberty Design Summit "Moving apps to Python 3"
cross-project workshop, the way forward in the near future is to
switch to the pure-python PyMySQL library as a default.
https://etherpad.openstack.org/p/liberty-cross-project-python3
Also set the OS_TEST_DBAPI_ADMIN_CONNECTION override variable so
that oslo.db opportunistic detection will know to use PyMySQL until
I12b32dc097a121bd43991bc38dd4d289b65e86c1 makes it the default
behavior.
Change-Id: I17e052215ce6e1604cdda848ccc20862452ccbc7
Co-Authored-By: Victor Sergeyev <vsergeyev@mirantis.com>
This also brings in newer versions of flake8, pyflakes and pep8,
with new and updated checks.
Some of them fail on our current code base, so first those failing are
disabled.
Most of them will be enabled one-by-one in subsequent patches.
Change-Id: Ib5fc4640b33c238ddb4e59a441c6710f607296b1
These support classes started as a forklift of the classes needed
to run tempest scenario orchestration tests.
The original tempest code has been pared back to provide the
small subset required by heat integration tests. From this point on
these support classes can evolve to the specific needs of the
integration tests.
There is some unused code (especially in remote_client) which has
been left in as it may become useful in the future, and is already
extremely well reviewed and tested from being developed for tempest.
The script heat_integrationtests/generate_sample.sh will generate
an up-to-date heat_integrationtests/heat_integrationtests.conf.sample
file which can be copied to
heat_integrationtests/heat_integrationtests.conf
to override default configuration values. A local ConfigOpts is created
for each test to avoid any potential interaction with heat's
global CONF. Configuration options for credentials default to
being sourced from the environment.
The default tox testenv now excludes tests in heat_integrationtests.
A new testenv called "integration" will only run tests in
heat_integrationtests.
Integration tests will fail if preconditions are not met, including
a keystone endpoint, credentials and glance containing the expected
named image.
Devstack gate hooks have been moved to heat_integrationtests now that
the name of the package has been decided.
Change-Id: I174429c16bb606c5c325ee8b62c6e600ea77a6e6
Partial-Blueprint: functional-tests
Refactored migration tests due to use OpportunisticTestCase.
This change allows tests use database ``openstack_citest`` only
for connection to the database backend - for each migration test
a new database, with a random name, will be created. This will avoid
migration tests of race conditions and reduce tests interaction.
Added MySQL-python and psycopg2 to test-requirements, because we need
some database connectors to run tests on PostgreSQL and MySQL.
``test_migrations.conf`` file was removed, because we create test
database for migration test, so we no longer need test database
credentials.
Some migrations scripts was modified to ensure, that they executed
with a single DB connection.
Removed get_table() method - we can use a similar function from
oslo.db.sqlalchemy.utils module.
This patch also add "forward compatibility" with the next version of oslo.db
- class BaseMigrationsTestCase was removed from master, so we should
avoid of it's usage and signature of method _walk_versions() from class
test_migrations.WalkVersionsMixin
Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
Change-Id: Ia503f01fdf2df00cce7212fcc9e0b6cc98ad6520
To enable implementation of a glance image resource, we first need to add
access to glanceclient in heat.
Change-Id: Ie0623e0307f6d3163ae584ceab89453f71f48053
Implements: blueprint glance-image