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
This codes aims to add support the ExtraRoute resources.
* Neutron Router ExtraRoute as OS::Neutron::ExtraRoute
* OS::Neutron::ExtraRoute is implemented in /contrib directory as plugin
* The resource can be enabled by setting plugin_dirs property in heat.conf
Co-Authored-By: Kevin Benton <kevin.benton@bigswitch.com>
(from https://review.openstack.org/#/c/41044/)
Change-Id: I27dabe42e6c96a475aa2f31b091616c89eef83a7
Implements: blueprint extraroute-as-contrib
contrib/ directory does not follow any standards and will make it
harder to programmatically install plugins on devstack. The current
structure can also cause namespace collisions when loading them.
This moves all plugin modules to a folder with the same name under
their directory (e.g. contrib/rackspace/rackspace), allowing
requirements, readmes, and other files to be separate from the
actual code.
This also helps to avoid namespace collisions when loading all the
plugins, since all plugins will be under their namespace in the heat
package. Example:
heat.engine.plugins
heat.engine.plugins.docker
heat.engine.plugins.marconi
heat.engine.plugins.rackspace
Since plugin packages are now in a folder one level under contrib/,
testr.conf is also updated so that all plugins are discovered
correctly.
Co-Authored-By: Anderson Mesquita <andersonvom@gmail.com>
Related-Bug: #1271226
Change-Id: Ifc8e3ca388253be82471651737da5d399c7cfb98
Package and Module names shouldn't have dashes in them, since it makes
it harder to import them (i.e. one cannot use ``import dashed-module``).
Also, moving docker resource under resources for consistency.
Partial-Bug: #1271226
Change-Id: I785b626a99516ebe6444296cf62a78dd96355060
This plugin enable using Docker containers as
resources in a Heat template.
Change-Id: Id9fd6c3491b246c88308713a7661be1ad0056eb5
Implements: blueprint docker-plugin
Using plain discover to run tests in contrib until
I can figure out how to make that work via testr.
Closes bug: 1220798
Change-Id: I5669b90152efabfacbc4b786a67cd1f4b139521a
- Use distutils.version.LooseVersion for cloud-init version check
- Fix bug 1100287 by setting the following modes:
- 0600 /var/log/heat-provision.log
- 0700 /var/lib/heat
- 0700 /var/lib/cloud/data/cfn-userdata (was 0111!)
- Full test coverage except for where __name__ == '__main__'
- File size has gone from 1218 bytes to 1636. If necessary we could reduce size in the future by using short names
This works for me when launching a template. At least if there are any regressions they can have a test written for the fix.
Change-Id: I04e773a743ec210e90394e50d2bb70c70664e80e
Use openstack-common's update script to sync it to the latest.
Add some dire warnings that changes should be made in the upstream
copy of the code first.