From 95d0f78e930f51b6948ffe9f8a0139b1893b53ef Mon Sep 17 00:00:00 2001 From: Duc Truong Date: Wed, 10 Jan 2018 20:25:08 +0000 Subject: [PATCH] Fix senlin tempest plugin to work properly * moved testfiles into tests subdirectory * fix basepath for plugin * fix entrypoint * provide steps in README to install and use senlin-tempest-plugin * add config option when creating clusters to test node naming * removed test drivers * fix various test cases * Replace deprecated aliases 'os'/'os_adm' with 'os_primary'/'os_admin' Change-Id: I7551783a4e9b2194559c3a400594227b2d9c26b9 --- .gitignore | 1 + .zuul.yaml | 21 ++ README.rst | 94 ++----- senlin_tempest_plugin/common/utils.py | 10 +- senlin_tempest_plugin/drivers/README.rst | 11 - .../drivers/openstack/heat_v1.py | 85 ------ .../drivers/openstack/lbaas.py | 38 --- .../drivers/openstack/mistral_v2.py | 80 ------ .../drivers/openstack/neutron_v2.py | 37 --- .../drivers/openstack/nova_v2.py | 255 ------------------ .../drivers/openstack/sdk.py | 28 -- senlin_tempest_plugin/integration/__init__.py | 0 senlin_tempest_plugin/plugin.py | 3 +- .../{api => tests}/__init__.py | 0 .../{api/actions => tests/api}/__init__.py | 0 .../api/actions}/__init__.py | 0 .../api/actions/test_action_list.py | 2 +- .../api/actions/test_action_list_negative.py | 2 +- .../api/actions/test_action_show.py | 2 +- .../api/actions/test_action_show_negative.py | 2 +- .../api/api_versions}/__init__.py | 0 .../api/api_versions/test_api_version_show.py | 2 +- .../test_api_version_show_negative.py | 2 +- .../api_versions/test_api_versions_list.py | 2 +- senlin_tempest_plugin/{ => tests}/api/base.py | 6 +- .../api/build_info}/__init__.py | 0 .../api/build_info/test_build_info.py | 2 +- .../api/cluster_policies}/__init__.py | 0 .../test_cluster_policy_list.py | 2 +- .../test_cluster_policy_list_negative.py | 2 +- .../test_cluster_policy_show.py | 2 +- .../test_cluster_policy_show_negative.py | 2 +- .../events => tests/api/clusters}/__init__.py | 0 .../clusters/test_cluster_action_negative.py | 2 +- .../api/clusters/test_cluster_add_nodes.py | 2 +- .../api/clusters/test_cluster_check.py | 2 +- .../api/clusters/test_cluster_collect.py | 5 +- .../api/clusters/test_cluster_create.py | 2 +- .../clusters/test_cluster_create_negative.py | 2 +- .../api/clusters/test_cluster_del_nodes.py | 2 +- .../api/clusters/test_cluster_delete.py | 2 +- .../clusters/test_cluster_delete_negative.py | 2 +- .../api/clusters/test_cluster_list.py | 2 +- .../clusters/test_cluster_list_negative.py | 2 +- .../clusters/test_cluster_policy_attach.py | 2 +- .../clusters/test_cluster_policy_detach.py | 2 +- .../clusters/test_cluster_policy_update.py | 2 +- .../api/clusters/test_cluster_recover.py | 2 +- .../clusters/test_cluster_replace_nodes.py | 2 +- .../api/clusters/test_cluster_resize.py | 2 +- .../api/clusters/test_cluster_scale_in.py | 2 +- .../api/clusters/test_cluster_scale_out.py | 2 +- .../api/clusters/test_cluster_show.py | 2 +- .../clusters/test_cluster_show_negative.py | 2 +- .../api/clusters/test_cluster_update.py | 2 +- .../clusters/test_cluster_update_negative.py | 2 +- .../clusters/test_cluster_update_profile.py | 2 +- .../nodes => tests/api/events}/__init__.py | 0 .../{ => tests}/api/events/test_event_list.py | 2 +- .../api/events/test_event_list_negative.py | 2 +- .../{ => tests}/api/events/test_event_show.py | 2 +- .../api/events/test_event_show_negative.py | 2 +- .../policies => tests/api/nodes}/__init__.py | 0 .../api/nodes/test_node_action_negative.py | 2 +- .../{ => tests}/api/nodes/test_node_check.py | 2 +- .../{ => tests}/api/nodes/test_node_create.py | 6 +- .../api/nodes/test_node_create_negative.py | 2 +- .../{ => tests}/api/nodes/test_node_delete.py | 2 +- .../api/nodes/test_node_delete_negative.py | 2 +- .../{ => tests}/api/nodes/test_node_list.py | 2 +- .../api/nodes/test_node_list_negative.py | 2 +- .../api/nodes/test_node_operation.py | 2 +- .../api/nodes/test_node_recover.py | 2 +- .../{ => tests}/api/nodes/test_node_show.py | 2 +- .../api/nodes/test_node_show_negative.py | 2 +- .../{ => tests}/api/nodes/test_node_update.py | 2 +- .../api/nodes/test_node_update_negative.py | 2 +- .../api/nodes/test_node_update_profile.py | 2 +- .../api/policies}/__init__.py | 0 .../api/policies/test_policy_create.py | 2 +- .../policies/test_policy_create_negative.py | 2 +- .../api/policies/test_policy_delete.py | 2 +- .../policies/test_policy_delete_negative.py | 2 +- .../api/policies/test_policy_list.py | 2 +- .../api/policies/test_policy_list_negative.py | 2 +- .../api/policies/test_policy_show.py | 2 +- .../api/policies/test_policy_show_negative.py | 2 +- .../api/policies/test_policy_update.py | 2 +- .../policies/test_policy_update_negative.py | 2 +- .../api/policies/test_policy_validate.py | 2 +- .../policies/test_policy_validate_negative.py | 2 +- .../api/policy_types}/__init__.py | 0 .../api/policy_types/test_policy_type_list.py | 2 +- .../api/policy_types/test_policy_type_show.py | 2 +- .../test_policy_type_show_negative.py | 2 +- .../api/profile_types}/__init__.py | 0 .../profile_types/test_profile_type_list.py | 2 +- .../profile_types/test_profile_type_show.py | 2 +- .../test_profile_type_show_negative.py | 2 +- .../api/profiles}/__init__.py | 0 .../api/profiles/test_profile_create.py | 2 +- .../profiles/test_profile_create_negative.py | 4 +- .../api/profiles/test_profile_delete.py | 2 +- .../profiles/test_profile_delete_negative.py | 2 +- .../api/profiles/test_profile_list.py | 2 +- .../profiles/test_profile_list_negative.py | 2 +- .../api/profiles/test_profile_show.py | 2 +- .../profiles/test_profile_show_negative.py | 2 +- .../api/profiles/test_profile_update.py | 2 +- .../profiles/test_profile_update_negative.py | 2 +- .../api/profiles/test_profile_validate.py | 2 +- .../test_profile_validate_negative.py | 2 +- .../api/receivers}/__init__.py | 0 .../api/receivers/test_receiver_create.py | 2 +- .../test_receiver_create_negative.py | 2 +- .../api/receivers/test_receiver_delete.py | 2 +- .../test_receiver_delete_negative.py | 2 +- .../api/receivers/test_receiver_list.py | 2 +- .../receivers/test_receiver_list_negative.py | 2 +- .../api/receivers/test_receiver_show.py | 2 +- .../receivers/test_receiver_show_negative.py | 2 +- .../api/receivers/test_webhook_trigger.py | 2 +- .../functional}/__init__.py | 0 .../{ => tests}/functional/base.py | 6 +- .../functional/test_batch_policy.py | 2 +- .../functional/test_cluster_basic.py | 2 +- .../functional/test_cluster_membership.py | 2 +- .../functional/test_cluster_scaling.py | 6 +- .../{ => tests}/functional/test_lb_policy.py | 2 +- .../{ => tests}/functional/test_node_basic.py | 2 +- .../{ => tests}/functional/test_receiver.py | 2 +- .../functional/test_scaling_policy.py | 2 +- .../integration}/__init__.py | 0 .../{ => tests}/integration/base.py | 12 +- .../integration/test_heat_stack_cluster.py | 2 +- .../integration/test_nova_server_cluster.py | 8 +- .../{ => tests}/integration/test_receiver.py | 2 +- setup.cfg | 9 +- tox.ini | 4 +- 139 files changed, 189 insertions(+), 740 deletions(-) create mode 100644 .zuul.yaml delete mode 100644 senlin_tempest_plugin/drivers/README.rst delete mode 100644 senlin_tempest_plugin/drivers/openstack/heat_v1.py delete mode 100644 senlin_tempest_plugin/drivers/openstack/lbaas.py delete mode 100644 senlin_tempest_plugin/drivers/openstack/mistral_v2.py delete mode 100644 senlin_tempest_plugin/drivers/openstack/neutron_v2.py delete mode 100644 senlin_tempest_plugin/drivers/openstack/nova_v2.py delete mode 100644 senlin_tempest_plugin/drivers/openstack/sdk.py delete mode 100644 senlin_tempest_plugin/integration/__init__.py rename senlin_tempest_plugin/{api => tests}/__init__.py (100%) rename senlin_tempest_plugin/{api/actions => tests/api}/__init__.py (100%) rename senlin_tempest_plugin/{api/api_versions => tests/api/actions}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/actions/test_action_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/actions/test_action_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/actions/test_action_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/actions/test_action_show_negative.py (95%) rename senlin_tempest_plugin/{api/build_info => tests/api/api_versions}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/api_versions/test_api_version_show.py (95%) rename senlin_tempest_plugin/{ => tests}/api/api_versions/test_api_version_show_negative.py (95%) rename senlin_tempest_plugin/{ => tests}/api/api_versions/test_api_versions_list.py (96%) rename senlin_tempest_plugin/{ => tests}/api/base.py (93%) rename senlin_tempest_plugin/{api/cluster_policies => tests/api/build_info}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/build_info/test_build_info.py (95%) rename senlin_tempest_plugin/{api/clusters => tests/api/cluster_policies}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/cluster_policies/test_cluster_policy_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/cluster_policies/test_cluster_policy_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/cluster_policies/test_cluster_policy_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/cluster_policies/test_cluster_policy_show_negative.py (99%) rename senlin_tempest_plugin/{api/events => tests/api/clusters}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_action_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_add_nodes.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_check.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_collect.py (96%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_create.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_create_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_del_nodes.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_delete.py (96%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_delete_negative.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_policy_attach.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_policy_detach.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_policy_update.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_recover.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_replace_nodes.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_resize.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_scale_in.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_scale_out.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_show_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_update.py (97%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_update_negative.py (99%) rename senlin_tempest_plugin/{ => tests}/api/clusters/test_cluster_update_profile.py (99%) rename senlin_tempest_plugin/{api/nodes => tests/api/events}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/events/test_event_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/events/test_event_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/events/test_event_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/events/test_event_show_negative.py (96%) rename senlin_tempest_plugin/{api/policies => tests/api/nodes}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_action_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_check.py (98%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_create.py (92%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_create_negative.py (99%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_delete.py (96%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_delete_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_list_negative.py (99%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_operation.py (99%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_recover.py (98%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_show_negative.py (97%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_update.py (97%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_update_negative.py (99%) rename senlin_tempest_plugin/{ => tests}/api/nodes/test_node_update_profile.py (98%) rename senlin_tempest_plugin/{api/policy_types => tests/api/policies}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_create.py (97%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_create_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_delete.py (95%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_delete_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_list.py (96%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_show.py (96%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_show_negative.py (97%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_update.py (96%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_update_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_validate.py (97%) rename senlin_tempest_plugin/{ => tests}/api/policies/test_policy_validate_negative.py (98%) rename senlin_tempest_plugin/{api/profile_types => tests/api/policy_types}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/policy_types/test_policy_type_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/policy_types/test_policy_type_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/policy_types/test_policy_type_show_negative.py (96%) rename senlin_tempest_plugin/{api/profiles => tests/api/profile_types}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/profile_types/test_profile_type_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profile_types/test_profile_type_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profile_types/test_profile_type_show_negative.py (96%) rename senlin_tempest_plugin/{api/receivers => tests/api/profiles}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_create.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_create_negative.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_delete.py (95%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_delete_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_list.py (96%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_list_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_show.py (96%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_show_negative.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_update.py (97%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_update_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_validate.py (96%) rename senlin_tempest_plugin/{ => tests}/api/profiles/test_profile_validate_negative.py (98%) rename senlin_tempest_plugin/{drivers => tests/api/receivers}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_create.py (97%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_create_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_delete.py (96%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_delete_negative.py (98%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_list.py (97%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_list_negative.py (95%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_show.py (97%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_receiver_show_negative.py (97%) rename senlin_tempest_plugin/{ => tests}/api/receivers/test_webhook_trigger.py (97%) rename senlin_tempest_plugin/{drivers/openstack => tests/functional}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/functional/base.py (93%) rename senlin_tempest_plugin/{ => tests}/functional/test_batch_policy.py (97%) rename senlin_tempest_plugin/{ => tests}/functional/test_cluster_basic.py (98%) rename senlin_tempest_plugin/{ => tests}/functional/test_cluster_membership.py (99%) rename senlin_tempest_plugin/{ => tests}/functional/test_cluster_scaling.py (98%) rename senlin_tempest_plugin/{ => tests}/functional/test_lb_policy.py (98%) rename senlin_tempest_plugin/{ => tests}/functional/test_node_basic.py (98%) rename senlin_tempest_plugin/{ => tests}/functional/test_receiver.py (97%) rename senlin_tempest_plugin/{ => tests}/functional/test_scaling_policy.py (98%) rename senlin_tempest_plugin/{functional => tests/integration}/__init__.py (100%) rename senlin_tempest_plugin/{ => tests}/integration/base.py (90%) rename senlin_tempest_plugin/{ => tests}/integration/test_heat_stack_cluster.py (97%) rename senlin_tempest_plugin/{ => tests}/integration/test_nova_server_cluster.py (93%) rename senlin_tempest_plugin/{ => tests}/integration/test_receiver.py (98%) diff --git a/.gitignore b/.gitignore index 3fee775..829a273 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ __pycache__ .testrepository .tox *.egg-info +*.pyc diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..617ab13 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,21 @@ +- project: + name: openstack/senlin-tempest-plugin + check: + jobs: + - senlin-dsvm-tempest-py27-api + - senlin-dsvm-tempest-py35-api: + voting: false + branches: ^(?!stable/newton).*$ + - senlin-dsvm-tempest-py27-functional + - senlin-dsvm-tempest-py35-functional: + voting: false + branches: ^(?!stable/newton).*$ + - senlin-dsvm-tempest-py27-integration: + voting: false + - senlin-dsvm-tempest-py35-integration: + voting: false + branches: ^(?!stable/newton).*$ + gate: + jobs: + - senlin-dsvm-tempest-py27-api + - senlin-dsvm-tempest-py27-functional diff --git a/README.rst b/README.rst index 4013bce..05987bc 100644 --- a/README.rst +++ b/README.rst @@ -7,84 +7,40 @@ Team and repository tags .. Change things from this point on -Senlin -====== +============================== +Tempest integration of Senlin +============================== --------- -Overview --------- +This project contains the Tempest plugin for the Senlin project for +OpenStack Clustering. -Senlin is a clustering service for OpenStack clouds. It creates and operates -clusters of homogeneous objects exposed by other OpenStack services. The goal -is to make the orchestration of collections of similar objects easier. +For more information about Senlin see: +https://docs.openstack.org/senlin/latest/ -Senlin provides RESTful APIs to users so that they can associate various -policies to a cluster. Sample policies include placement policy, load -balancing policy, health policy, scaling policy, update policy and so on. +For more information about Tempest plugins see: +https://docs.openstack.org/tempest/latest/plugin.html -Senlin is designed to be capable of managing different types of objects. An -object's lifecycle is managed using profile type implementations, which are -themselves plugins. +* Free software: Apache license +* Source: http://git.openstack.org/cgit/openstack/senlin-tempest-plugin ---------- -For Users ---------- - -If you want to install Senlin for a try out, please refer to the documents -under the ``doc/source/user/`` subdirectory. - --------------- -For Developers --------------- - -There are many ways to help improve the software, for example, filing a bug, -submitting or reviewing a patch, writing or reviewing some documents. There -are documents under the ``doc/source/developer/`` subdirectory. - ---------- -Resources ---------- - -Launchpad Projects ------------------- -- Server: https://launchpad.net/senlin -- Client: https://launchpad.net/python-senlinclient -- Dashboard: https://launchpad.net/senlin-dashboard -- Tempest Plugin: https://launchpad.net/senlin-tempest-plugin - -Code Repository ---------------- -- Server: https://git.openstack.org/cgit/openstack/senlin -- Client: https://git.openstack.org/cgit/openstack/python-senlinclient -- Dashboard: https://git.openstack.org/cgit/openstack/senlin-dashboard -- Tempest Plugin: https://git.openstack.org/cgit/openstack/senlin-tempest-plugin - -Blueprints +Installing ---------- -- Blueprints: https://blueprints.launchpad.net/senlin -Bug Tracking ------------- -- Server Bugs: https://bugs.launchpad.net/senlin -- Client Bugs: https://bugs.launchpad.net/python-senlinclient -- Dashboard Bugs: https://bugs.launchpad.net/senlin-dashboard -- Tempest Plugin Bugs: https://bugs.launchpad.net/senlin-tempest-plugin +Clone this repository to the destination machine, and call from the repo:: -Weekly Meetings ---------------- -- Schedule: every Tuesday at 1300 UTC, on #openstack-meeting channel -- Agenda: https://wiki.openstack.org/wiki/Meetings/SenlinAgenda -- Archive: http://eavesdrop.openstack.org/meetings/senlin/2017/ + $ pip install -e . -IRC ---- -IRC Channel: #senlin on `Freenode`_. +Running the tests +----------------- -Mailinglist ------------ -Project use http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev -as the mailinglist. Please use tag ``[Senlin]`` in the subject for new -threads. +To run all the tests from this plugin, call from the tempest repo:: + $ tox -e all-plugin -- senlin_tempest_plugin -.. _Freenode: https://freenode.net/ +To run a single test case, call with full path, for example:: + + $ tox -e all-plugin -- senlin_tempest_plugin.tests.api.policies.test_policy_update.TestPolicyUpdate.test_policy_update + +To retrieve a list of all tempest tests, run:: + + $ testr list-tests diff --git a/senlin_tempest_plugin/common/utils.py b/senlin_tempest_plugin/common/utils.py index 7d15f27..1171031 100644 --- a/senlin_tempest_plugin/common/utils.py +++ b/senlin_tempest_plugin/common/utils.py @@ -78,7 +78,7 @@ def delete_a_profile(base, profile_id, ignore_missing=False): def create_a_cluster(base, profile_id, desired_capacity=0, min_size=0, max_size=-1, timeout=None, metadata=None, name=None, - wait_timeout=None): + config=None, wait_timeout=None): """Utility function that generates a Senlin cluster. Create a cluster and return it after it is ACTIVE. The function is used for @@ -94,7 +94,8 @@ def create_a_cluster(base, profile_id, desired_capacity=0, min_size=0, 'max_size': max_size, 'timeout': timeout, 'metadata': metadata, - 'name': name + 'name': name, + 'config': config } } res = base.client.create_obj('clusters', params) @@ -402,10 +403,13 @@ def create_a_receiver(base, cluster_id, action, r_type=None, name=None, 'name': name, 'cluster_id': cluster_id, 'type': r_type or 'webhook', - 'action': action, 'params': params or {} } } + + if action is not None: + body['receiver']['action'] = action + res = base.client.create_obj('receivers', body) return res['body']['id'] diff --git a/senlin_tempest_plugin/drivers/README.rst b/senlin_tempest_plugin/drivers/README.rst deleted file mode 100644 index ab112c0..0000000 --- a/senlin_tempest_plugin/drivers/README.rst +++ /dev/null @@ -1,11 +0,0 @@ -OpenStack Test Driver -===================== - -This is a fake driver for Senlin test. All interactions between Senlin -and backend OpenStack services, like Nova, Heat are simulated using this -driver. With it, Senlin API and engine workflow can be easily tested -without setting up backend services. - -Configure the following option in senlin.conf to enable this driver: - - `cloud_backend = openstack_test` diff --git a/senlin_tempest_plugin/drivers/openstack/heat_v1.py b/senlin_tempest_plugin/drivers/openstack/heat_v1.py deleted file mode 100644 index 2d7d5f0..0000000 --- a/senlin_tempest_plugin/drivers/openstack/heat_v1.py +++ /dev/null @@ -1,85 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from senlin_tempest_plugin.drivers import base -from senlin_tempest_plugin.drivers.openstack import sdk - - -class HeatClient(base.DriverBase): - '''Heat V1 driver.''' - - def __init__(self, params): - super(HeatClient, self).__init__(params) - self.fake_stack_create = { - "id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c", - "links": [ - { - "href": " ", - "rel": "self" - } - ] - } - - self.fake_stack_get = { - "capabilities": [], - "creation_time": "2014-06-03T20:59:46Z", - "description": "sample stack", - "disable_rollback": True, - "id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c", - "links": [ - { - "href": " ", - "rel": "self" - } - ], - "notification_topics": [], - "outputs": [], - "parameters": { - "OS::project_id": "3ab5b02f-a01f-4f95-afa1-e254afc4a435", - "OS::stack_id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c", - "OS::stack_name": "simple_stack" - }, - "stack_name": "simple_stack", - "stack_owner": "simple_username", - "stack_status": "CREATE_COMPLETE", - "stack_status_reason": "Stack CREATE completed successfully", - "template_description": "sample stack", - "stack_user_project_id": "65728b74-cfe7-4f17-9c15-11d4f686e591", - "timeout_mins": "", - "updated_time": "", - "parent": "", - "tags": "", - "status": "CREATE_COMPLETE" - } - - def stack_create(self, **params): - return sdk.FakeResourceObject(self.fake_stack_create) - - def stack_get(self, stack_id): - return sdk.FakeResourceObject(self.fake_stack_get) - - def stack_find(self, name_or_id): - return sdk.FakeResourceObject(self.fake_stack_get) - - def stack_update(self, stack_id, **params): - self.fake_stack_get["status"] = "UPDATE_COMPLETE" - return sdk.FakeResourceObject(self.fake_stack_get) - - def stack_delete(self, stack_id, ignore_missing=True): - return - - def wait_for_stack(self, stack_id, status, failures=None, interval=2, - timeout=None): - return - - def wait_for_stack_delete(self, stack_id, timeout=None): - return diff --git a/senlin_tempest_plugin/drivers/openstack/lbaas.py b/senlin_tempest_plugin/drivers/openstack/lbaas.py deleted file mode 100644 index 7e815de..0000000 --- a/senlin_tempest_plugin/drivers/openstack/lbaas.py +++ /dev/null @@ -1,38 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from senlin_tempest_plugin.drivers import base - - -class LoadBalancerDriver(base.DriverBase): - def __init__(self, params): - self.lb_result = { - "loadbalancer": "a36c20d0-18e9-42ce-88fd-82a35977ee8c", - "vip_address": "192.168.1.100", - "listener": "35cb8516-1173-4035-8dae-0dae3453f37f", - "pool": "4c0a0a5f-cf8f-44b7-b912-957daa8ce5e5", - "healthmonitor": "0a9ac99d-0a09-4b18-8499-a0796850279a" - } - - self.member_id = "9a7aff27-fd41-4ec1-ba4c-3eb92c629313" - - def lb_create(self, vip, pool, hm=None): - return True, self.lb_result - - def lb_delete(self, **kwargs): - return True, 'LB deletion succeeded' - - def member_add(self, node, lb_id, pool_id, port, subnet): - return self.member_id - - def member_remove(self, lb_id, pool_id, member_id): - return True diff --git a/senlin_tempest_plugin/drivers/openstack/mistral_v2.py b/senlin_tempest_plugin/drivers/openstack/mistral_v2.py deleted file mode 100644 index dfadfd2..0000000 --- a/senlin_tempest_plugin/drivers/openstack/mistral_v2.py +++ /dev/null @@ -1,80 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -from oslo_utils import uuidutils - -from senlin_tempest_plugin.drivers import base -from senlin_tempest_plugin.drivers.openstack import sdk - - -class MistralClient(base.DriverBase): - '''Fake mistral V2 driver for test.''' - - def __init__(self, ctx): - - self.fake_workflow = { - 'created_at': '1970-01-01T00:00:00.000000', - 'definition': 'workflow_def', - 'id': 'ffaed25e-46f5-4089-8e20-b3b4722fd597', - 'input': { - 'cluster_id': '8c74607c-5a74-4490-9414-a3475b1926c2', - 'node_id': 'fba2cc5d-706f-4631-9577-3956048d13a2', - 'flavor_id': '1' - }, - 'name': "cluster-coldmigration", - 'project_id': 'a7eb669e9819420ea4bd1453e672c0a7', - 'scope': 'private', - 'tags': [ - 'large', - 'expensive' - ], - 'updated_at': '1970-01-01T00:00:00.000000', - } - - self.fake_workflow_create = { - 'scope': 'private', - 'id': 'ffaed25e-46f5-4089-8e20-b3b4722fd597', - 'definition': 'workflow_def', - } - - self.fake_execution_create = { - 'id': 'ffaed25e-46f5-4089-8e20-b3b4722fd597', - 'workflow_name': 'cluster-coldmigration', - 'input': { - 'cluster_id': '8c74607c-5a74-4490-9414-a3475b1926c2', - 'node_id': 'fba2cc5d-706f-4631-9577-3956048d13a2', - 'flavor_id': '1' - } - } - - def wait_for_execution(self, execution, status='SUCCESS', - failures=['ERROR'], interval=2, - timeout=None): - return - - def workflow_find(self, name_or_id, ignore_missing=True): - return sdk.FakeResourceObject(self.fake_workflow) - - def workflow_delete(self, workflow, ignore_missing=True): - return - - def execution_delete(self, execution, ignore_missing=True): - return - - def workflow_create(self, definition, scope): - self.fake_workflow_create['id'] = uuidutils.generate_uuid() - return sdk.FakeResourceObject(self.fake_workflow_create) - - def execution_create(self, name, inputs): - self.fake_execution_create['id'] = uuidutils.generate_uuid() - return sdk.FakeResourceObject(self.fake_execution_create) diff --git a/senlin_tempest_plugin/drivers/openstack/neutron_v2.py b/senlin_tempest_plugin/drivers/openstack/neutron_v2.py deleted file mode 100644 index 0343223..0000000 --- a/senlin_tempest_plugin/drivers/openstack/neutron_v2.py +++ /dev/null @@ -1,37 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from senlin_tempest_plugin.drivers import base -from senlin_tempest_plugin.drivers.openstack import sdk - - -class NeutronClient(base.DriverBase): - '''Fake Neutron V2 driver for test.''' - - def __init__(self, ctx): - self.fake_network = { - "status": "ACTIVE", - "subnets": [ - "54d6f61d-db07-451c-9ab3-b9609b6b6f0b" - ], - "name": "private-network", - "router:external": False, - "admin_state_up": True, - "tenant_id": "4fd44f30292945e481c7b8a0c8908869", - "mtu": 0, - "shared": True, - "port_security_enabled": True, - "id": "d32019d3-bc6e-4319-9c1d-6722fc136a22" - } - - def network_get(self, value, ignore_missing=False): - return sdk.FakeResourceObject(self.fake_network) diff --git a/senlin_tempest_plugin/drivers/openstack/nova_v2.py b/senlin_tempest_plugin/drivers/openstack/nova_v2.py deleted file mode 100644 index f1e40ef..0000000 --- a/senlin_tempest_plugin/drivers/openstack/nova_v2.py +++ /dev/null @@ -1,255 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import copy - -from oslo_utils import uuidutils - -from senlin_tempest_plugin.drivers import base -from senlin_tempest_plugin.drivers.openstack import sdk - - -class NovaClient(base.DriverBase): - '''Fake Nova V2 driver for test.''' - - def __init__(self, ctx): - self.fake_flavor = { - "is_disabled": False, - "disk": 1, - "OS-FLV-EXT-DATA:ephemeral": 0, - "os-flavor-access:is_public": True, - "id": "1", - "links": [], - "name": "m1.tiny", - "ram": 512, - "swap": "", - "vcpus": 1, - } - - self.fake_image = { - "created": "2015-01-01T01:02:03Z", - "id": "70a599e0-31e7-49b7-b260-868f441e862b", - "links": [], - "metadata": { - "architecture": "x86_64", - "auto_disk_config": "True", - "kernel_id": "nokernel", - "ramdisk_id": "nokernel" - }, - "minDisk": 0, - "minRam": 0, - "name": "cirros-0.3.5-x86_64-disk", - "progress": 100, - "status": "ACTIVE", - "updated": "2011-01-01T01:02:03Z" - } - - self.fake_server_create = { - "id": "893c7791-f1df-4c3d-8383-3caae9656c62", - "availability_zone": "Zone1", - "name": "new-server-test", - "imageRef": "http://localhost/openstack/images/test-image", - "flavorRef": "http://localhost/openstack/flavors/1", - "metadata": { - "My Server Name": "Apache1" - }, - "personality": [ - { - "path": "/etc/banner.txt", - "contents": "personality-content" - } - ], - "block_device_mapping_v2": [ - { - "device_name": "/dev/sdb1", - "source_type": "blank", - "destination_type": "local", - "delete_on_termination": "True", - "guest_format": "swap", - "boot_index": "-1" - }, - { - "device_name": "/dev/sda1", - "source_type": "volume", - "destination_type": "volume", - "uuid": "fake-volume-id-1", - "boot_index": "0" - } - ] - } - - self.fake_server_get = { - # Note: The name of some attrs are defined as following to keep - # compatible with the resource definition in openstacksdk. But - # the real name of these attrs returned by Nova API could be - # different, e.g. the name of 'access_ipv4' attribute is actually - # 'accessIPv4' in server_get API response. - "id": "893c7791-f1df-4c3d-8383-3caae9656c62", - "name": "new-server-test", - "availability_zone": "ZONE1", - "access_ipv4": "192.168.0.3", - "access_ipv6": "fe80::ac0e:2aff:fe87:5911", - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created_at": "2015-08-18T21:11:09Z", - "updated_at": "2012-08-20T21:11:09Z", - "flavor": { - "id": "1", - "links": [] - }, - "host_id": "65201c14a29663e06d0748e561207d998b343", - "image": { - "id": "FAKE_IMAGE_ID", - "links": [] - }, - "links": [], - "metadata": { - "My Server Name": "Apache1" - }, - "progress": 0, - "status": "ACTIVE", - "project_id": "openstack", - "user_id": "fake" - } - - self.fake_service_list = [ - { - 'id': 'IDENTIFIER1', - 'binary': 'nova-api', - 'host': 'host1', - 'status': 'enabled', - 'state': 'up', - 'zone': 'nova' - }, - { - 'id': 'IDENTIFIER2', - 'binary': 'nova-compute', - 'host': 'host1', - 'status': 'enabled', - 'state': 'up', - 'zone': 'nova' - }, - ] - - self.keypair = { - 'public_key': 'blahblah', - 'type': 'ssh', - 'name': 'oskey', - 'fingerprint': 'not-real', - } - - self.availability_zone = { - 'zoneState': { - 'available': True - }, - 'hosts': None, - 'zoneName': 'nova', - } - - def flavor_find(self, name_or_id, ignore_missing=False): - return sdk.FakeResourceObject(self.fake_flavor) - - def flavor_list(self, details=True, **query): - return [sdk.FakeResourceObject(self.fake_flavor)] - - def image_find(self, name_or_id, ignore_missing=False): - return sdk.FakeResourceObject(self.fake_image) - - def image_list(self, details=True, **query): - return [sdk.FakeResourceObject(self.fake_image)] - - def keypair_list(self, details=True, **query): - return [sdk.FakeResourceObject(self.fake_keypair)] - - def keypair_find(self, name_or_id, ignore_missing=False): - return sdk.FakeResourceObject(self.keypair) - - def server_create(self, **attrs): - self.fake_server_create['id'] = uuidutils.generate_uuid() - self.fake_server_get['id'] = self.fake_server_create['id'] - return sdk.FakeResourceObject(self.fake_server_create) - - def server_get(self, server): - return sdk.FakeResourceObject(self.fake_server_get) - - def wait_for_server(self, server, timeout=None): - return - - def wait_for_server_delete(self, server, timeout=None): - return - - def server_update(self, server, **attrs): - self.fake_server_get.update(attrs) - return sdk.FakeResourceObject(self.fake_server_get) - - def server_rebuild(self, server, imageref, name=None, admin_password=None, - **attrs): - if imageref: - attrs['image'] = {'id': imageref} - if name: - attrs['name'] = name - if admin_password: - attrs['adminPass'] = admin_password - self.fake_server_get.update(attrs) - - return sdk.FakeResourceObject(self.fake_server_get) - - def server_resize(self, server, flavor): - self.fake_server_get['flavor'].update({'id': flavor}) - - def server_resize_confirm(self, server): - return - - def server_resize_revert(self, server): - return - - def server_reboot(self, server, reboot_type): - return - - def server_delete(self, server, ignore_missing=True): - return - - def server_force_delete(self, server, ignore_missing=True): - return - - def server_metadata_get(self, server): - return {} - - def server_metadata_update(self, server, metadata): - new_server = copy.deepcopy(self.fake_server_get) - new_server['metadata'] = metadata - server = sdk.FakeResourceObject(new_server) - return server - - def server_metadata_delete(self, server, keys): - return - - def service_list(self): - return sdk.FakeResourceObject(self.fake_service_list) - - def service_force_down(self, service, host, binary): - return - - def service_enable(self, service, host, binary): - return - - def service_disable(self, service, host, binary): - return - - def availability_zone_list(self, **query): - return [sdk.FakeResourceObject(self.availability_zone)] diff --git a/senlin_tempest_plugin/drivers/openstack/sdk.py b/senlin_tempest_plugin/drivers/openstack/sdk.py deleted file mode 100644 index 84c7b5f..0000000 --- a/senlin_tempest_plugin/drivers/openstack/sdk.py +++ /dev/null @@ -1,28 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -class FakeResourceObject(object): - '''Generate a fake SDK resource object based on given dictionary''' - def __init__(self, params): - for key in params: - setattr(self, key, params[key]) - - def to_dict(self): - '''Override this function in subclass to handle special attributes''' - data = {} - for attr in dir(self): - if not attr.startswith('__'): - # Exclude built-in attributes of python object - data[attr] = getattr(self, attr) - - return data diff --git a/senlin_tempest_plugin/integration/__init__.py b/senlin_tempest_plugin/integration/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/senlin_tempest_plugin/plugin.py b/senlin_tempest_plugin/plugin.py index 47d68fe..c0cba90 100644 --- a/senlin_tempest_plugin/plugin.py +++ b/senlin_tempest_plugin/plugin.py @@ -23,8 +23,7 @@ class SenlinTempestPlugin(plugins.TempestPlugin): def load_tests(self): base_path = os.path.split(os.path.dirname( os.path.abspath(__file__)))[0] - base_path += '/..' - test_dir = "senlin_tempest_plugin" + test_dir = "senlin_tempest_plugin/tests" full_test_dir = os.path.join(base_path, test_dir) return full_test_dir, base_path diff --git a/senlin_tempest_plugin/api/__init__.py b/senlin_tempest_plugin/tests/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/__init__.py rename to senlin_tempest_plugin/tests/__init__.py diff --git a/senlin_tempest_plugin/api/actions/__init__.py b/senlin_tempest_plugin/tests/api/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/actions/__init__.py rename to senlin_tempest_plugin/tests/api/__init__.py diff --git a/senlin_tempest_plugin/api/api_versions/__init__.py b/senlin_tempest_plugin/tests/api/actions/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/api_versions/__init__.py rename to senlin_tempest_plugin/tests/api/actions/__init__.py diff --git a/senlin_tempest_plugin/api/actions/test_action_list.py b/senlin_tempest_plugin/tests/api/actions/test_action_list.py similarity index 97% rename from senlin_tempest_plugin/api/actions/test_action_list.py rename to senlin_tempest_plugin/tests/api/actions/test_action_list.py index eda8e04..0416c9c 100644 --- a/senlin_tempest_plugin/api/actions/test_action_list.py +++ b/senlin_tempest_plugin/tests/api/actions/test_action_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestActionList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/actions/test_action_list_negative.py b/senlin_tempest_plugin/tests/api/actions/test_action_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/actions/test_action_list_negative.py rename to senlin_tempest_plugin/tests/api/actions/test_action_list_negative.py index a0ee88b..0d35119 100644 --- a/senlin_tempest_plugin/api/actions/test_action_list_negative.py +++ b/senlin_tempest_plugin/tests/api/actions/test_action_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestActionListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/actions/test_action_show.py b/senlin_tempest_plugin/tests/api/actions/test_action_show.py similarity index 97% rename from senlin_tempest_plugin/api/actions/test_action_show.py rename to senlin_tempest_plugin/tests/api/actions/test_action_show.py index 6e477c0..36012df 100644 --- a/senlin_tempest_plugin/api/actions/test_action_show.py +++ b/senlin_tempest_plugin/tests/api/actions/test_action_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestActionShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/actions/test_action_show_negative.py b/senlin_tempest_plugin/tests/api/actions/test_action_show_negative.py similarity index 95% rename from senlin_tempest_plugin/api/actions/test_action_show_negative.py rename to senlin_tempest_plugin/tests/api/actions/test_action_show_negative.py index 5ef5f80..e40ba3d 100644 --- a/senlin_tempest_plugin/api/actions/test_action_show_negative.py +++ b/senlin_tempest_plugin/tests/api/actions/test_action_show_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestActionShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/build_info/__init__.py b/senlin_tempest_plugin/tests/api/api_versions/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/build_info/__init__.py rename to senlin_tempest_plugin/tests/api/api_versions/__init__.py diff --git a/senlin_tempest_plugin/api/api_versions/test_api_version_show.py b/senlin_tempest_plugin/tests/api/api_versions/test_api_version_show.py similarity index 95% rename from senlin_tempest_plugin/api/api_versions/test_api_version_show.py rename to senlin_tempest_plugin/tests/api/api_versions/test_api_version_show.py index 8290608..3335334 100644 --- a/senlin_tempest_plugin/api/api_versions/test_api_version_show.py +++ b/senlin_tempest_plugin/tests/api/api_versions/test_api_version_show.py @@ -12,7 +12,7 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestAPIVersionShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/api_versions/test_api_version_show_negative.py b/senlin_tempest_plugin/tests/api/api_versions/test_api_version_show_negative.py similarity index 95% rename from senlin_tempest_plugin/api/api_versions/test_api_version_show_negative.py rename to senlin_tempest_plugin/tests/api/api_versions/test_api_version_show_negative.py index e4055d0..de7aec6 100644 --- a/senlin_tempest_plugin/api/api_versions/test_api_version_show_negative.py +++ b/senlin_tempest_plugin/tests/api/api_versions/test_api_version_show_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestAPIVersionShowNegative(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/api_versions/test_api_versions_list.py b/senlin_tempest_plugin/tests/api/api_versions/test_api_versions_list.py similarity index 96% rename from senlin_tempest_plugin/api/api_versions/test_api_versions_list.py rename to senlin_tempest_plugin/tests/api/api_versions/test_api_versions_list.py index d340b45..10ebcfa 100644 --- a/senlin_tempest_plugin/api/api_versions/test_api_versions_list.py +++ b/senlin_tempest_plugin/tests/api/api_versions/test_api_versions_list.py @@ -12,7 +12,7 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestAPIVersions(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/base.py b/senlin_tempest_plugin/tests/api/base.py similarity index 93% rename from senlin_tempest_plugin/api/base.py rename to senlin_tempest_plugin/tests/api/base.py index 925d65b..a8e03fd 100644 --- a/senlin_tempest_plugin/api/base.py +++ b/senlin_tempest_plugin/tests/api/base.py @@ -34,21 +34,21 @@ class BaseSenlinAPITest(base.BaseSenlinTest): def setup_clients(cls): super(BaseSenlinAPITest, cls).setup_clients() cls.client = clustering_client.ClusteringAPIClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.clustering.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.compute_client = compute_client.V21ComputeClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.compute.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.network_client = network_client.NetworkClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.network.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values diff --git a/senlin_tempest_plugin/api/cluster_policies/__init__.py b/senlin_tempest_plugin/tests/api/build_info/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/cluster_policies/__init__.py rename to senlin_tempest_plugin/tests/api/build_info/__init__.py diff --git a/senlin_tempest_plugin/api/build_info/test_build_info.py b/senlin_tempest_plugin/tests/api/build_info/test_build_info.py similarity index 95% rename from senlin_tempest_plugin/api/build_info/test_build_info.py rename to senlin_tempest_plugin/tests/api/build_info/test_build_info.py index 85b3ed5..fa3f849 100644 --- a/senlin_tempest_plugin/api/build_info/test_build_info.py +++ b/senlin_tempest_plugin/tests/api/build_info/test_build_info.py @@ -12,7 +12,7 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestBuildInfo(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/__init__.py b/senlin_tempest_plugin/tests/api/cluster_policies/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/clusters/__init__.py rename to senlin_tempest_plugin/tests/api/cluster_policies/__init__.py diff --git a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list.py b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list.py similarity index 97% rename from senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list.py rename to senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list.py index 20e3027..2482f2a 100644 --- a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list.py +++ b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterPolicyList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list_negative.py b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list_negative.py rename to senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list_negative.py index 6815c35..642b653 100644 --- a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_list_negative.py +++ b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestClusterPolicyListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show.py b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show.py similarity index 97% rename from senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show.py rename to senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show.py index b23cd60..d11dbec 100644 --- a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show.py +++ b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterPolicyShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show_negative.py b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show_negative.py similarity index 99% rename from senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show_negative.py rename to senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show_negative.py index 264614f..aadf9f3 100644 --- a/senlin_tempest_plugin/api/cluster_policies/test_cluster_policy_show_negative.py +++ b/senlin_tempest_plugin/tests/api/cluster_policies/test_cluster_policy_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterPolicyShowNegativeClusterNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/events/__init__.py b/senlin_tempest_plugin/tests/api/clusters/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/events/__init__.py rename to senlin_tempest_plugin/tests/api/clusters/__init__.py diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_action_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_action_negative.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_action_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_action_negative.py index cabb721..e2ec6d9 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_action_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_action_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestClusterActionNegativeCommon(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_add_nodes.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_add_nodes.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_add_nodes.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_add_nodes.py index 77d23f5..2d6b52a 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_add_nodes.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_add_nodes.py @@ -13,9 +13,9 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionAddNodes(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_check.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_check.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_check.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_check.py index 3f0b693..720a30d 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_check.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_check.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionCheck(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_collect.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_collect.py similarity index 96% rename from senlin_tempest_plugin/api/clusters/test_cluster_collect.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_collect.py index 836e145..a1da432 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_collect.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_collect.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterCollect(base.BaseSenlinAPITest): @@ -23,7 +23,8 @@ class TestClusterCollect(base.BaseSenlinAPITest): super(TestClusterCollect, self).setUp() profile_id = utils.create_a_profile(self) self.addCleanup(utils.delete_a_profile, self, profile_id) - self.cluster_id = utils.create_a_cluster(self, profile_id) + self.cluster_id = utils.create_a_cluster( + self, profile_id, config={'node.name.format': 'N$2I'}) self.addCleanup(utils.delete_a_cluster, self, self.cluster_id) self.node1 = utils.create_a_node(self, profile_id, name='N01', cluster_id=self.cluster_id) diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_create.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_create.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_create.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_create.py index a0f2bad..637e2cc 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_create.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_create.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterCreate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_create_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_create_negative.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_create_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_create_negative.py index d65a6c3..40a8b79 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_create_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_create_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterCreateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_del_nodes.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_del_nodes.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_del_nodes.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_del_nodes.py index 5cd8ada..a558f63 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_del_nodes.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_del_nodes.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionDelNodes(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_delete.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_delete.py similarity index 96% rename from senlin_tempest_plugin/api/clusters/test_cluster_delete.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_delete.py index b8949ef..7368e0a 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_delete.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_delete.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterDelete(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_delete_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_delete_negative.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_delete_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_delete_negative.py index fba61b1..ab2afdc 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_delete_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_delete_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterDeleteNegativePolicyConflict(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_list.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_list.py similarity index 97% rename from senlin_tempest_plugin/api/clusters/test_cluster_list.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_list.py index c406f2a..9fd2788 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_list.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_list_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_list_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_list_negative.py index bd6728f..ca92791 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_list_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestClusterListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_policy_attach.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_attach.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_policy_attach.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_attach.py index 072d2b9..1749756 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_policy_attach.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_attach.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionPolicyAttach(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_policy_detach.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_detach.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_policy_detach.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_detach.py index f8df2ae..6529d9e 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_policy_detach.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_detach.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionPolicyDetach(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_policy_update.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_update.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_policy_update.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_update.py index ee53206..5406224 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_policy_update.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_policy_update.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionPolicyUpdate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_recover.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_recover.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_recover.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_recover.py index fe30644..42b30f4 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_recover.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_recover.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionRecover(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_replace_nodes.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_replace_nodes.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_replace_nodes.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_replace_nodes.py index f220bce..41dd86f 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_replace_nodes.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_replace_nodes.py @@ -13,9 +13,9 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionReplaceNodes(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_resize.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_resize.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_resize.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_resize.py index 41439d7..bcac725 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_resize.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_resize.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionResize(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_scale_in.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_in.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_scale_in.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_in.py index 9c15817..983f465 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_scale_in.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_in.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionScaleIn(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_scale_out.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_out.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_scale_out.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_out.py index 3c58436..d17d48b 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_scale_out.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_scale_out.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterActionScaleOut(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_show.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_show.py similarity index 97% rename from senlin_tempest_plugin/api/clusters/test_cluster_show.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_show.py index e9f429e..5254fd1 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_show.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_show_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_show_negative.py similarity index 98% rename from senlin_tempest_plugin/api/clusters/test_cluster_show_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_show_negative.py index 54a550f..a395264 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_show_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterShowNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_update.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update.py similarity index 97% rename from senlin_tempest_plugin/api/clusters/test_cluster_update.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_update.py index d26ba54..73b2a03 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_update.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterUpdate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_update_negative.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update_negative.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_update_negative.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_update_negative.py index 0aac145..f44e3d4 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_update_negative.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update_negative.py @@ -14,9 +14,9 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterUpdateNegativeInvalidParam(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/clusters/test_cluster_update_profile.py b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update_profile.py similarity index 99% rename from senlin_tempest_plugin/api/clusters/test_cluster_update_profile.py rename to senlin_tempest_plugin/tests/api/clusters/test_cluster_update_profile.py index e0d76ec..f8cb31c 100644 --- a/senlin_tempest_plugin/api/clusters/test_cluster_update_profile.py +++ b/senlin_tempest_plugin/tests/api/clusters/test_cluster_update_profile.py @@ -13,9 +13,9 @@ import copy from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestClusterUpdateProfile(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/__init__.py b/senlin_tempest_plugin/tests/api/events/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/nodes/__init__.py rename to senlin_tempest_plugin/tests/api/events/__init__.py diff --git a/senlin_tempest_plugin/api/events/test_event_list.py b/senlin_tempest_plugin/tests/api/events/test_event_list.py similarity index 97% rename from senlin_tempest_plugin/api/events/test_event_list.py rename to senlin_tempest_plugin/tests/api/events/test_event_list.py index cceeff3..5872d15 100644 --- a/senlin_tempest_plugin/api/events/test_event_list.py +++ b/senlin_tempest_plugin/tests/api/events/test_event_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestEventList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/events/test_event_list_negative.py b/senlin_tempest_plugin/tests/api/events/test_event_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/events/test_event_list_negative.py rename to senlin_tempest_plugin/tests/api/events/test_event_list_negative.py index 5114798..e13f1b0 100644 --- a/senlin_tempest_plugin/api/events/test_event_list_negative.py +++ b/senlin_tempest_plugin/tests/api/events/test_event_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestEventListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/events/test_event_show.py b/senlin_tempest_plugin/tests/api/events/test_event_show.py similarity index 97% rename from senlin_tempest_plugin/api/events/test_event_show.py rename to senlin_tempest_plugin/tests/api/events/test_event_show.py index bf2ad80..b2e359c 100644 --- a/senlin_tempest_plugin/api/events/test_event_show.py +++ b/senlin_tempest_plugin/tests/api/events/test_event_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestEventShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/events/test_event_show_negative.py b/senlin_tempest_plugin/tests/api/events/test_event_show_negative.py similarity index 96% rename from senlin_tempest_plugin/api/events/test_event_show_negative.py rename to senlin_tempest_plugin/tests/api/events/test_event_show_negative.py index b5a5f20..3f86ecf 100644 --- a/senlin_tempest_plugin/api/events/test_event_show_negative.py +++ b/senlin_tempest_plugin/tests/api/events/test_event_show_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestEventShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/__init__.py b/senlin_tempest_plugin/tests/api/nodes/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/policies/__init__.py rename to senlin_tempest_plugin/tests/api/nodes/__init__.py diff --git a/senlin_tempest_plugin/api/nodes/test_node_action_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_action_negative.py similarity index 98% rename from senlin_tempest_plugin/api/nodes/test_node_action_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_action_negative.py index 84b6d39..d3c060e 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_action_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_action_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestNodeActionNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_check.py b/senlin_tempest_plugin/tests/api/nodes/test_node_check.py similarity index 98% rename from senlin_tempest_plugin/api/nodes/test_node_check.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_check.py index 46af9c2..3692eb5 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_check.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_check.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeCheck(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_create.py b/senlin_tempest_plugin/tests/api/nodes/test_node_create.py similarity index 92% rename from senlin_tempest_plugin/api/nodes/test_node_create.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_create.py index a07ed47..8caa640 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_create.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_create.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeCreate(base.BaseSenlinAPITest): @@ -22,7 +22,9 @@ class TestNodeCreate(base.BaseSenlinAPITest): super(TestNodeCreate, self).setUp() self.profile_id = utils.create_a_profile(self) self.addCleanup(utils.delete_a_profile, self, self.profile_id) - self.cluster_id = utils.create_a_cluster(self, self.profile_id) + self.cluster_id = utils.create_a_cluster( + self, self.profile_id, + config={'node.name.format': 'test-node'}) self.addCleanup(utils.delete_a_cluster, self, self.cluster_id) @decorators.idempotent_id('14d06753-7f0a-4ad2-84be-37fce7114a8f') diff --git a/senlin_tempest_plugin/api/nodes/test_node_create_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_create_negative.py similarity index 99% rename from senlin_tempest_plugin/api/nodes/test_node_create_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_create_negative.py index dea2f3f..fa7b7f2 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_create_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_create_negative.py @@ -13,9 +13,9 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeCreateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_delete.py b/senlin_tempest_plugin/tests/api/nodes/test_node_delete.py similarity index 96% rename from senlin_tempest_plugin/api/nodes/test_node_delete.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_delete.py index 97977c4..0e80389 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_delete.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_delete.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeDelete(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_delete_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_delete_negative.py similarity index 98% rename from senlin_tempest_plugin/api/nodes/test_node_delete_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_delete_negative.py index 21e0cea..35793e5 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_delete_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_delete_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeDeleteNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_list.py b/senlin_tempest_plugin/tests/api/nodes/test_node_list.py similarity index 97% rename from senlin_tempest_plugin/api/nodes/test_node_list.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_list.py index 0cf7594..e5de036 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_list.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_list_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_list_negative.py similarity index 99% rename from senlin_tempest_plugin/api/nodes/test_node_list_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_list_negative.py index 886055b..4690225 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_list_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestNodeListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_operation.py b/senlin_tempest_plugin/tests/api/nodes/test_node_operation.py similarity index 99% rename from senlin_tempest_plugin/api/nodes/test_node_operation.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_operation.py index 63021b7..48ba681 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_operation.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_operation.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeOperation(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_recover.py b/senlin_tempest_plugin/tests/api/nodes/test_node_recover.py similarity index 98% rename from senlin_tempest_plugin/api/nodes/test_node_recover.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_recover.py index e58be4d..d68096f 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_recover.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_recover.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeRecover(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_show.py b/senlin_tempest_plugin/tests/api/nodes/test_node_show.py similarity index 97% rename from senlin_tempest_plugin/api/nodes/test_node_show.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_show.py index 45d8571..569e856 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_show.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_show_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_show_negative.py similarity index 97% rename from senlin_tempest_plugin/api/nodes/test_node_show_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_show_negative.py index c8a5f49..45a1643 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_show_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_update.py b/senlin_tempest_plugin/tests/api/nodes/test_node_update.py similarity index 97% rename from senlin_tempest_plugin/api/nodes/test_node_update.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_update.py index 237d8ec..c178d82 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_update.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_update.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeUpdate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_update_negative.py b/senlin_tempest_plugin/tests/api/nodes/test_node_update_negative.py similarity index 99% rename from senlin_tempest_plugin/api/nodes/test_node_update_negative.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_update_negative.py index 06b88f6..5827b24 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_update_negative.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_update_negative.py @@ -14,9 +14,9 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeUpdateNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/nodes/test_node_update_profile.py b/senlin_tempest_plugin/tests/api/nodes/test_node_update_profile.py similarity index 98% rename from senlin_tempest_plugin/api/nodes/test_node_update_profile.py rename to senlin_tempest_plugin/tests/api/nodes/test_node_update_profile.py index ebcb3e8..561018d 100644 --- a/senlin_tempest_plugin/api/nodes/test_node_update_profile.py +++ b/senlin_tempest_plugin/tests/api/nodes/test_node_update_profile.py @@ -13,9 +13,9 @@ import copy from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestNodeUpdateProfile(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policy_types/__init__.py b/senlin_tempest_plugin/tests/api/policies/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/policy_types/__init__.py rename to senlin_tempest_plugin/tests/api/policies/__init__.py diff --git a/senlin_tempest_plugin/api/policies/test_policy_create.py b/senlin_tempest_plugin/tests/api/policies/test_policy_create.py similarity index 97% rename from senlin_tempest_plugin/api/policies/test_policy_create.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_create.py index 7dcbbdd..abd06e5 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_create.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_create.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestPolicyCreate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_create_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_create_negative.py similarity index 98% rename from senlin_tempest_plugin/api/policies/test_policy_create_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_create_negative.py index 72523de..e227467 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_create_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_create_negative.py @@ -14,8 +14,8 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestPolicyCreateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_delete.py b/senlin_tempest_plugin/tests/api/policies/test_policy_delete.py similarity index 95% rename from senlin_tempest_plugin/api/policies/test_policy_delete.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_delete.py index 77c040e..aea59a5 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_delete.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_delete.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyDelete(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_delete_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_delete_negative.py similarity index 98% rename from senlin_tempest_plugin/api/policies/test_policy_delete_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_delete_negative.py index 75cc531..af73852 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_delete_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_delete_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyDeleteNegativeConflict(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_list.py b/senlin_tempest_plugin/tests/api/policies/test_policy_list.py similarity index 96% rename from senlin_tempest_plugin/api/policies/test_policy_list.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_list.py index 2eef597..26e1ca0 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_list.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_list_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/policies/test_policy_list_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_list_negative.py index 4fc2d95..d576960 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_list_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestPolicyListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_show.py b/senlin_tempest_plugin/tests/api/policies/test_policy_show.py similarity index 96% rename from senlin_tempest_plugin/api/policies/test_policy_show.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_show.py index 87d87b0..18e6ef7 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_show.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_show_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_show_negative.py similarity index 97% rename from senlin_tempest_plugin/api/policies/test_policy_show_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_show_negative.py index 085849b..ff15c0e 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_show_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_update.py b/senlin_tempest_plugin/tests/api/policies/test_policy_update.py similarity index 96% rename from senlin_tempest_plugin/api/policies/test_policy_update.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_update.py index d75a12d..dba6eb0 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_update.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_update.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyUpdate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_update_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_update_negative.py similarity index 98% rename from senlin_tempest_plugin/api/policies/test_policy_update_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_update_negative.py index 71803fa..01f5a2c 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_update_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_update_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyUpdateNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_validate.py b/senlin_tempest_plugin/tests/api/policies/test_policy_validate.py similarity index 97% rename from senlin_tempest_plugin/api/policies/test_policy_validate.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_validate.py index 0b15ce9..b670a0a 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_validate.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_validate.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestPolicyValidate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policies/test_policy_validate_negative.py b/senlin_tempest_plugin/tests/api/policies/test_policy_validate_negative.py similarity index 98% rename from senlin_tempest_plugin/api/policies/test_policy_validate_negative.py rename to senlin_tempest_plugin/tests/api/policies/test_policy_validate_negative.py index ae4bc1d..615a6d4 100644 --- a/senlin_tempest_plugin/api/policies/test_policy_validate_negative.py +++ b/senlin_tempest_plugin/tests/api/policies/test_policy_validate_negative.py @@ -14,8 +14,8 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestPolicyValidateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profile_types/__init__.py b/senlin_tempest_plugin/tests/api/policy_types/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/profile_types/__init__.py rename to senlin_tempest_plugin/tests/api/policy_types/__init__.py diff --git a/senlin_tempest_plugin/api/policy_types/test_policy_type_list.py b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_list.py similarity index 97% rename from senlin_tempest_plugin/api/policy_types/test_policy_type_list.py rename to senlin_tempest_plugin/tests/api/policy_types/test_policy_type_list.py index 8962ea8..fc6205a 100644 --- a/senlin_tempest_plugin/api/policy_types/test_policy_type_list.py +++ b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyTypeList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policy_types/test_policy_type_show.py b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show.py similarity index 97% rename from senlin_tempest_plugin/api/policy_types/test_policy_type_show.py rename to senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show.py index 2565531..203c863 100644 --- a/senlin_tempest_plugin/api/policy_types/test_policy_type_show.py +++ b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestPolicyTypeShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/policy_types/test_policy_type_show_negative.py b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show_negative.py similarity index 96% rename from senlin_tempest_plugin/api/policy_types/test_policy_type_show_negative.py rename to senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show_negative.py index 514b0ea..db6ff04 100644 --- a/senlin_tempest_plugin/api/policy_types/test_policy_type_show_negative.py +++ b/senlin_tempest_plugin/tests/api/policy_types/test_policy_type_show_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestPolicyTypeShowNegative(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/__init__.py b/senlin_tempest_plugin/tests/api/profile_types/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/profiles/__init__.py rename to senlin_tempest_plugin/tests/api/profile_types/__init__.py diff --git a/senlin_tempest_plugin/api/profile_types/test_profile_type_list.py b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_list.py similarity index 97% rename from senlin_tempest_plugin/api/profile_types/test_profile_type_list.py rename to senlin_tempest_plugin/tests/api/profile_types/test_profile_type_list.py index 3909c54..0827684 100644 --- a/senlin_tempest_plugin/api/profile_types/test_profile_type_list.py +++ b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileTypeList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profile_types/test_profile_type_show.py b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show.py similarity index 97% rename from senlin_tempest_plugin/api/profile_types/test_profile_type_show.py rename to senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show.py index 00004a0..3c6accb 100644 --- a/senlin_tempest_plugin/api/profile_types/test_profile_type_show.py +++ b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileTypeShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profile_types/test_profile_type_show_negative.py b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show_negative.py similarity index 96% rename from senlin_tempest_plugin/api/profile_types/test_profile_type_show_negative.py rename to senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show_negative.py index e270980..bd2f4ee 100644 --- a/senlin_tempest_plugin/api/profile_types/test_profile_type_show_negative.py +++ b/senlin_tempest_plugin/tests/api/profile_types/test_profile_type_show_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestProfileTypeShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/__init__.py b/senlin_tempest_plugin/tests/api/profiles/__init__.py similarity index 100% rename from senlin_tempest_plugin/api/receivers/__init__.py rename to senlin_tempest_plugin/tests/api/profiles/__init__.py diff --git a/senlin_tempest_plugin/api/profiles/test_profile_create.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_create.py similarity index 97% rename from senlin_tempest_plugin/api/profiles/test_profile_create.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_create.py index 1dcf4a3..bfb71c3 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_create.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_create.py @@ -12,9 +12,9 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileCreate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_create_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_create_negative.py similarity index 97% rename from senlin_tempest_plugin/api/profiles/test_profile_create_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_create_negative.py index 0738429..25c2b41 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_create_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_create_negative.py @@ -14,8 +14,8 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestProfileCreateNegativeBadRequest(base.BaseSenlinAPITest): @@ -34,7 +34,7 @@ class TestProfileCreateNegativeBadRequest(base.BaseSenlinAPITest): 'profiles', params) message = ex.resp_body['error']['message'] - self.assertEqual("Request body missing 'profile' key.", + self.assertEqual("'spec' is a required property", str(message)) @decorators.attr(type=['negative']) diff --git a/senlin_tempest_plugin/api/profiles/test_profile_delete.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_delete.py similarity index 95% rename from senlin_tempest_plugin/api/profiles/test_profile_delete.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_delete.py index b8a048b..d95b398 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_delete.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_delete.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileDelete(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_delete_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_delete_negative.py similarity index 98% rename from senlin_tempest_plugin/api/profiles/test_profile_delete_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_delete_negative.py index 3aef772..24b7493 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_delete_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_delete_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileDeleteNegativeConflict(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_list.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_list.py similarity index 96% rename from senlin_tempest_plugin/api/profiles/test_profile_list.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_list.py index 49489b7..e846d78 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_list.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_list_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_list_negative.py similarity index 98% rename from senlin_tempest_plugin/api/profiles/test_profile_list_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_list_negative.py index 5c21f58..17caf1b 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_list_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestProfileListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_show.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_show.py similarity index 96% rename from senlin_tempest_plugin/api/profiles/test_profile_show.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_show.py index dac2f7a..c788bc1 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_show.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_show_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_show_negative.py similarity index 97% rename from senlin_tempest_plugin/api/profiles/test_profile_show_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_show_negative.py index e36a220..a27c886 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_show_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_update.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_update.py similarity index 97% rename from senlin_tempest_plugin/api/profiles/test_profile_update.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_update.py index 141bfdc..722568a 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_update.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_update.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileUpdate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_update_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_update_negative.py similarity index 98% rename from senlin_tempest_plugin/api/profiles/test_profile_update_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_update_negative.py index ae7362b..808a823 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_update_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_update_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestProfileUpdateNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_validate.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_validate.py similarity index 96% rename from senlin_tempest_plugin/api/profiles/test_profile_validate.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_validate.py index 149d3ac..7ee5d83 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_validate.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_validate.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestProfileValidate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/profiles/test_profile_validate_negative.py b/senlin_tempest_plugin/tests/api/profiles/test_profile_validate_negative.py similarity index 98% rename from senlin_tempest_plugin/api/profiles/test_profile_validate_negative.py rename to senlin_tempest_plugin/tests/api/profiles/test_profile_validate_negative.py index da73bbf..722ddf9 100644 --- a/senlin_tempest_plugin/api/profiles/test_profile_validate_negative.py +++ b/senlin_tempest_plugin/tests/api/profiles/test_profile_validate_negative.py @@ -14,8 +14,8 @@ import copy from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import constants +from senlin_tempest_plugin.tests.api import base class TestProfileValidateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/drivers/__init__.py b/senlin_tempest_plugin/tests/api/receivers/__init__.py similarity index 100% rename from senlin_tempest_plugin/drivers/__init__.py rename to senlin_tempest_plugin/tests/api/receivers/__init__.py diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_create.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_create.py similarity index 97% rename from senlin_tempest_plugin/api/receivers/test_receiver_create.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_create.py index 7199159..3fe7c88 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_create.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_create.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverCreate(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_create_negative.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_create_negative.py similarity index 98% rename from senlin_tempest_plugin/api/receivers/test_receiver_create_negative.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_create_negative.py index 3118982..c8ce8ef 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_create_negative.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_create_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverCreateNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_delete.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_delete.py similarity index 96% rename from senlin_tempest_plugin/api/receivers/test_receiver_delete.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_delete.py index 6cc5195..96fce63 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_delete.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_delete.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverDelete(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_delete_negative.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_delete_negative.py similarity index 98% rename from senlin_tempest_plugin/api/receivers/test_receiver_delete_negative.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_delete_negative.py index ca34ef7..8734d05 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_delete_negative.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_delete_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverDeleteNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_list.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_list.py similarity index 97% rename from senlin_tempest_plugin/api/receivers/test_receiver_list.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_list.py index 7c330b7..0b83d22 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_list.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_list.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverList(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_list_negative.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_list_negative.py similarity index 95% rename from senlin_tempest_plugin/api/receivers/test_receiver_list_negative.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_list_negative.py index e252651..5d39ac2 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_list_negative.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_list_negative.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base +from senlin_tempest_plugin.tests.api import base class TestReceiverListNegativeBadRequest(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_show.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_show.py similarity index 97% rename from senlin_tempest_plugin/api/receivers/test_receiver_show.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_show.py index cf52b45..d0af33b 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_show.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_show.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverShow(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_receiver_show_negative.py b/senlin_tempest_plugin/tests/api/receivers/test_receiver_show_negative.py similarity index 97% rename from senlin_tempest_plugin/api/receivers/test_receiver_show_negative.py rename to senlin_tempest_plugin/tests/api/receivers/test_receiver_show_negative.py index 42afdaf..b4e71da 100644 --- a/senlin_tempest_plugin/api/receivers/test_receiver_show_negative.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_receiver_show_negative.py @@ -13,8 +13,8 @@ from tempest.lib import decorators from tempest.lib import exceptions -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestReceiverShowNegativeNotFound(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/api/receivers/test_webhook_trigger.py b/senlin_tempest_plugin/tests/api/receivers/test_webhook_trigger.py similarity index 97% rename from senlin_tempest_plugin/api/receivers/test_webhook_trigger.py rename to senlin_tempest_plugin/tests/api/receivers/test_webhook_trigger.py index 5ad4668..d08bf2d 100644 --- a/senlin_tempest_plugin/api/receivers/test_webhook_trigger.py +++ b/senlin_tempest_plugin/tests/api/receivers/test_webhook_trigger.py @@ -12,8 +12,8 @@ from tempest.lib import decorators -from senlin_tempest_plugin.api import base from senlin_tempest_plugin.common import utils +from senlin_tempest_plugin.tests.api import base class TestWebhookTrigger(base.BaseSenlinAPITest): diff --git a/senlin_tempest_plugin/drivers/openstack/__init__.py b/senlin_tempest_plugin/tests/functional/__init__.py similarity index 100% rename from senlin_tempest_plugin/drivers/openstack/__init__.py rename to senlin_tempest_plugin/tests/functional/__init__.py diff --git a/senlin_tempest_plugin/functional/base.py b/senlin_tempest_plugin/tests/functional/base.py similarity index 93% rename from senlin_tempest_plugin/functional/base.py rename to senlin_tempest_plugin/tests/functional/base.py index 1815c43..00a76ea 100644 --- a/senlin_tempest_plugin/functional/base.py +++ b/senlin_tempest_plugin/tests/functional/base.py @@ -35,21 +35,21 @@ class BaseSenlinFunctionalTest(base.BaseSenlinTest): def setup_clients(cls): super(BaseSenlinFunctionalTest, cls).setup_clients() cls.client = clustering_client.ClusteringFunctionalClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.clustering.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.compute_client = compute_client.V21ComputeClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.compute.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.network_client = network_client.NetworkClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.network.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values diff --git a/senlin_tempest_plugin/functional/test_batch_policy.py b/senlin_tempest_plugin/tests/functional/test_batch_policy.py similarity index 97% rename from senlin_tempest_plugin/functional/test_batch_policy.py rename to senlin_tempest_plugin/tests/functional/test_batch_policy.py index e377d83..75207a0 100644 --- a/senlin_tempest_plugin/functional/test_batch_policy.py +++ b/senlin_tempest_plugin/tests/functional/test_batch_policy.py @@ -14,7 +14,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestBatchPolicy(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_cluster_basic.py b/senlin_tempest_plugin/tests/functional/test_cluster_basic.py similarity index 98% rename from senlin_tempest_plugin/functional/test_cluster_basic.py rename to senlin_tempest_plugin/tests/functional/test_cluster_basic.py index 34e769c..22a0e13 100644 --- a/senlin_tempest_plugin/functional/test_cluster_basic.py +++ b/senlin_tempest_plugin/tests/functional/test_cluster_basic.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestClusterCreateListDelete(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_cluster_membership.py b/senlin_tempest_plugin/tests/functional/test_cluster_membership.py similarity index 99% rename from senlin_tempest_plugin/functional/test_cluster_membership.py rename to senlin_tempest_plugin/tests/functional/test_cluster_membership.py index f5b8fc7..a48583a 100644 --- a/senlin_tempest_plugin/functional/test_cluster_membership.py +++ b/senlin_tempest_plugin/tests/functional/test_cluster_membership.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestClusterMembership(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_cluster_scaling.py b/senlin_tempest_plugin/tests/functional/test_cluster_scaling.py similarity index 98% rename from senlin_tempest_plugin/functional/test_cluster_scaling.py rename to senlin_tempest_plugin/tests/functional/test_cluster_scaling.py index eafa3d3..7da6ae7 100644 --- a/senlin_tempest_plugin/functional/test_cluster_scaling.py +++ b/senlin_tempest_plugin/tests/functional/test_cluster_scaling.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestClusterScaleInOut(base.BaseSenlinFunctionalTest): @@ -88,8 +88,8 @@ class TestClusterScaleInOut(base.BaseSenlinFunctionalTest): self.assertEqual('ACTIVE', cluster['status']) self.assertEqual(1, cluster['desired_capacity']) self.assertEqual(1, len(cluster['nodes'])) - reason = _("The target capacity (0) is less " - "than the cluster's min_size (1).") + reason = ("The target capacity (0) is less " + "than the cluster's min_size (1).") self.assertEqual(reason, res) diff --git a/senlin_tempest_plugin/functional/test_lb_policy.py b/senlin_tempest_plugin/tests/functional/test_lb_policy.py similarity index 98% rename from senlin_tempest_plugin/functional/test_lb_policy.py rename to senlin_tempest_plugin/tests/functional/test_lb_policy.py index ed566a7..2dee6b9 100644 --- a/senlin_tempest_plugin/functional/test_lb_policy.py +++ b/senlin_tempest_plugin/tests/functional/test_lb_policy.py @@ -14,7 +14,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestLBPolicy(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_node_basic.py b/senlin_tempest_plugin/tests/functional/test_node_basic.py similarity index 98% rename from senlin_tempest_plugin/functional/test_node_basic.py rename to senlin_tempest_plugin/tests/functional/test_node_basic.py index 68a33ed..3b737c2 100644 --- a/senlin_tempest_plugin/functional/test_node_basic.py +++ b/senlin_tempest_plugin/tests/functional/test_node_basic.py @@ -14,7 +14,7 @@ from tempest.lib.common.utils import data_utils from tempest.lib import decorators from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestNodeCreateShowListDelete(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_receiver.py b/senlin_tempest_plugin/tests/functional/test_receiver.py similarity index 97% rename from senlin_tempest_plugin/functional/test_receiver.py rename to senlin_tempest_plugin/tests/functional/test_receiver.py index ff6f5a5..2246bf2 100644 --- a/senlin_tempest_plugin/functional/test_receiver.py +++ b/senlin_tempest_plugin/tests/functional/test_receiver.py @@ -13,7 +13,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestReceiver(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/test_scaling_policy.py b/senlin_tempest_plugin/tests/functional/test_scaling_policy.py similarity index 98% rename from senlin_tempest_plugin/functional/test_scaling_policy.py rename to senlin_tempest_plugin/tests/functional/test_scaling_policy.py index f705f38..9f3b4eb 100644 --- a/senlin_tempest_plugin/functional/test_scaling_policy.py +++ b/senlin_tempest_plugin/tests/functional/test_scaling_policy.py @@ -14,7 +14,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.functional import base +from senlin_tempest_plugin.tests.functional import base class TestScalingPolicy(base.BaseSenlinFunctionalTest): diff --git a/senlin_tempest_plugin/functional/__init__.py b/senlin_tempest_plugin/tests/integration/__init__.py similarity index 100% rename from senlin_tempest_plugin/functional/__init__.py rename to senlin_tempest_plugin/tests/integration/__init__.py diff --git a/senlin_tempest_plugin/integration/base.py b/senlin_tempest_plugin/tests/integration/base.py similarity index 90% rename from senlin_tempest_plugin/integration/base.py rename to senlin_tempest_plugin/tests/integration/base.py index 91c8b42..ca7442d 100644 --- a/senlin_tempest_plugin/integration/base.py +++ b/senlin_tempest_plugin/tests/integration/base.py @@ -31,14 +31,14 @@ class BaseSenlinIntegrationTest(base.BaseSenlinTest): def setup_clients(cls): super(BaseSenlinIntegrationTest, cls).setup_clients() cls.client = clustering_client.ClusteringIntegrationClient( - cls.os_adm.auth_provider, + cls.os_admin.auth_provider, CONF.clustering.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.messaging_client = messaging_client.V2MessagingClient( - cls.os_adm.auth_provider, + cls.os_admin.auth_provider, CONF.messaging.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values @@ -51,28 +51,28 @@ class BaseSenlinIntegrationNonAdminTest(base.BaseSenlinTest): def setup_clients(cls): super(BaseSenlinIntegrationNonAdminTest, cls).setup_clients() cls.client = clustering_client.ClusteringIntegrationClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.clustering.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.messaging_client = messaging_client.V2MessagingClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.messaging.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.compute_client = compute_client.V21ComputeClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.compute.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values ) cls.network_client = network_client.NetworkClient( - cls.os.auth_provider, + cls.os_primary.auth_provider, CONF.network.catalog_type, CONF.identity.region, **cls.default_params_with_timeout_values diff --git a/senlin_tempest_plugin/integration/test_heat_stack_cluster.py b/senlin_tempest_plugin/tests/integration/test_heat_stack_cluster.py similarity index 97% rename from senlin_tempest_plugin/integration/test_heat_stack_cluster.py rename to senlin_tempest_plugin/tests/integration/test_heat_stack_cluster.py index 9ff95d5..9cdb4b6 100644 --- a/senlin_tempest_plugin/integration/test_heat_stack_cluster.py +++ b/senlin_tempest_plugin/tests/integration/test_heat_stack_cluster.py @@ -14,7 +14,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.integration import base +from senlin_tempest_plugin.tests.integration import base class TestHeatStackCluster(base.BaseSenlinIntegrationTest): diff --git a/senlin_tempest_plugin/integration/test_nova_server_cluster.py b/senlin_tempest_plugin/tests/integration/test_nova_server_cluster.py similarity index 93% rename from senlin_tempest_plugin/integration/test_nova_server_cluster.py rename to senlin_tempest_plugin/tests/integration/test_nova_server_cluster.py index a24f0cf..aa3b826 100644 --- a/senlin_tempest_plugin/integration/test_nova_server_cluster.py +++ b/senlin_tempest_plugin/tests/integration/test_nova_server_cluster.py @@ -14,21 +14,17 @@ import six from tempest.lib import decorators -from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.integration import base +from senlin_tempest_plugin.tests.integration import base class TestNovaServerCluster(base.BaseSenlinIntegrationTest): def setUp(self): super(TestNovaServerCluster, self).setUp() - keypair_name = utils.create_a_keypair(self) - self.spec = constants.spec_nova_server - self.spec['properties']['key_name'] = keypair_name + utils.prepare_and_cleanup_for_nova_server(self) self.profile_id = utils.create_a_profile(self, self.spec) self.addCleanup(utils.delete_a_profile, self, self.profile_id) - self.addCleanup(utils.delete_a_keypair, self, keypair_name) @decorators.attr(type=['integration']) @decorators.idempotent_id('c26eae1c-5c46-4a5f-be63-954d7229c8cc') diff --git a/senlin_tempest_plugin/integration/test_receiver.py b/senlin_tempest_plugin/tests/integration/test_receiver.py similarity index 98% rename from senlin_tempest_plugin/integration/test_receiver.py rename to senlin_tempest_plugin/tests/integration/test_receiver.py index 84d6e30..83bdf38 100644 --- a/senlin_tempest_plugin/integration/test_receiver.py +++ b/senlin_tempest_plugin/tests/integration/test_receiver.py @@ -17,7 +17,7 @@ from tempest.lib import decorators from senlin_tempest_plugin.common import constants from senlin_tempest_plugin.common import utils -from senlin_tempest_plugin.integration import base +from senlin_tempest_plugin.tests.integration import base class TestReceiver(base.BaseSenlinIntegrationTest): diff --git a/setup.cfg b/setup.cfg index a9c4a3c..916e595 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [metadata] -name = openstack +name = senlin-tempest-plugin summary = Tempest plugin senlin_tempest_plugin description-file = README.rst @@ -18,6 +18,10 @@ classifier = Programming Language :: Python :: 3 Programming Language :: Python :: 3.5 +[global] +setup-hooks = + pbr.hooks.setup_hook + [files] packages = senlin_tempest_plugin @@ -47,5 +51,4 @@ output_file = senlin_tempest_plugin/locale/senlin_tempest_plugin.pot [entry_points] tempest.test_plugins = - senlin_tests = senlin_tempest_plugin.plugin:SenlinTempestPlugin - + senlin-tempest-plugin = senlin_tempest_plugin.plugin:SenlinTempestPlugin diff --git a/tox.ini b/tox.ini index 7028c13..639eaff 100644 --- a/tox.ini +++ b/tox.ini @@ -9,7 +9,7 @@ usedevelop = True install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} commands = find . -type f -name "*.py[c|o]" -delete - ostestr --slowest --regex 'senlin_tempest_plugin.api.*' {posargs} + ostestr --slowest --regex 'senlin_tempest_plugin.tests.api.*' {posargs} whitelist_externals = find @@ -20,7 +20,7 @@ setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=senlin_tempest_plugin/api commands = find . -type f -name "*.py[c|o]" -delete - ostestr --slowest --regex 'senlin_tempest_plugin.functional.*' {posargs} + ostestr --slowest --regex 'senlin_tempest_plugin.tests.functional.*' {posargs} [testenv:functional] basepython = python3.5