Include the URL of your launchpad blueprint:
Having all OpenStack functional tests in tempest is no longer scalable, so heat functional tests need to live in the heat repository.
Existing tempest orchestration scenario tests need to be moved into the heat repository in a way which requires no dependency on the tempest code, and which can be done with minimal development effort.
The heat gate needs to switch over to running the heat functional tests, as well as whatever orchestration tests remain in tempest.
The proposed plan for this work will be:
Forklift tempest.scenario.orchestration into heat functionaltests
Copy and modify any supporting tempest code into a subpackage of functionaltests to make it possible for the tests to run
Replace configuration loaded from tempest.conf with a solution which initially requires no configuration file, specifically:
- Tests will be run with credentials sourced from the environment, which heatclient does by default anyway
- Configuration which refers to cloud resources will hard-code values which correspond to values set up by devstack, and tests will fail if cloud resources with those names do not exist. This applies to configuration values: image_ref, keypair_name, instance_type, network_for_ssh
- build_timeout will be given a default value which is overridable from an environment variable
Modify devstack, devstack-gate and openstack-infra/config to check and gate on the heat functional tests. This job will replace the current heat-slow job
Ensure there are no tempest.api.orchestration tests running in the heat-slow job, specifically:
- Do not tag test_nova_keypair_resources as a slow test
- Modify test_neutron_resources to run with cirros, or rewrite it as a functional test
Delete the heat-slow job, and tests in tempest.scenario.orchestration
The following alternative design points could be considered:
Work items or tasks – break the feature up into the things that need to be done to implement it. Those parts might end up being done by different people, but we’re mostly trying to understand the timeline for implementation.