diff --git a/docs/testing/test_suite_integration.rst b/docs/testing/test_suite_integration.rst index c220b3d..c0c0166 100644 --- a/docs/testing/test_suite_integration.rst +++ b/docs/testing/test_suite_integration.rst @@ -3,117 +3,6 @@ Integration tests ================= -Controller HA test ------------------- - - -ID -## - -manila_controller_ha - - -Description -########### - -Check cluster deploy in HA mode (3 controllers). - - -Complexity -########## - -core - - -Steps -##### - 1. Upload plugins and install. - 2. Create environment with at least 3 Controller, 1 Compute, 1 Cinder, - 1 Manila-share and 1 Manila-data roles. - 3. Deploy cluster with plugin. - 4. Run OSTF. - 5. Verify Manila service basic functionality (share create/mount). - -Expected results -################ - -All steps must be completed successfully, without any errors. - - -Multiple computes test ----------------------- - - -ID -## - -manila_two_computes - - -Description -########### - -Deploy a cluster with at least two Compute nodes. - -Complexity -########## - -core - - -Steps -##### - - 1. Upload plugins and install. - 2. Create environment with at least 2 Computes, 1 controller, 1 Cinder, - 1 Manila-share and 1 Manila-data roles. - 3. Deploy cluster with plugin. - 4. Run OSTF. - 5. Verify Manila service basic functionality (share create/mount). - -Expected results -################ - -All steps must be completed successfully, without any errors. - - -Multiple cinder nodes test --------------------------- - - -ID -## - -manila_two_cinders - - -Description -########### - -Deploy a cluster with Manila Plugin and at least two nodes with cinder role. - -Complexity -########## - -core - - -Steps -##### - - 1. Upload plugins and install. - 2. Create environment with at least 2 Computes, 1 controller, 1 Cinder, - 1 Manila-share and 1 Manila-data roles. - 3. Deploy cluster with plugin. - 4. Run OSTF. - 5. Verify Manila service basic functionality (share create/mount). - -Expected results -################ - -All steps must be completed successfully, without any errors. - - Multiple manila share nodes test -------------------------------- @@ -139,8 +28,7 @@ Steps ##### 1. Upload plugins and install. - 2. Create environment with at least 2 Manila-share , 1 controller, - 1 Cinder, 1 Compute and 1 Manila-data roles. + 2. Create environment with at least 2 Manila-share and 1 Manila-data roles. 3. Deploy cluster with plugin. 4. Run OSTF. 5. Verify Manila service basic functionality (share create/mount). @@ -176,8 +64,7 @@ Steps ##### 1. Upload plugins and install. - 2. Create environment with at least 2 Manila-data , 1 controller, - 1 Cinder, 1 Compute and 1 Manila-share roles. + 2. Create environment with at least 2 Manila-data and 1 Manila-share roles. 3. Deploy cluster with plugin. 4. Run OSTF. 5. Verify Manila service basic functionality (share create/mount) @@ -188,6 +75,10 @@ Expected results All steps must be completed successfully, without any errors. +Both Cinder and Ceph test +------------------------- + + ID ## @@ -197,7 +88,8 @@ manila_both_cinder_ceph Description ########### -Deploy a cluster using Ceph as a backend for block storage and cinder for other (image, object and ephemeral). +Deploy a cluster using Ceph as a backend for block storage and cinder for +other (image, object and ephemeral). Complexity ########## @@ -209,42 +101,9 @@ Steps ##### 1. Upload plugins and install. - 2. Set Ceph as a backend for block storage - 3. Create environment with at least 1 Manila-data, 1 controller, - 1 Cinder, 1 Compute 1 Manila-share and 3 Ceph-OSD roles. - 4. Deploy cluster with plugin. - 5. Run OSTF. - 6. Verify Manila service basic functionality (share create/mount) - -Expected results -################ - -All steps must be completed successfully, without any errors. - -ID -## - -manila_all_ceph - - -Description -########### - -Deploy a cluster with using Ceph as a backend for all storages. - -Complexity -########## - -core - - -Steps -##### - - 1. Upload plugins and install. - 2. Set Ceph as a backend for all type of storages - 3. Create environment with at least 1 Manila-data, 1 controller, 1 Compute - 1 Manila-share and 3 Ceph-OSD roles. + 2. Set Ceph as a backend for block storage. + 3. Create environment with at least 1 Manila-data 1 Manila-share 1 Cinder + and 3 Ceph-OSD. 4. Deploy cluster with plugin. 5. Run OSTF. 6. Verify Manila service basic functionality (share create/mount). @@ -254,6 +113,11 @@ Expected results All steps must be completed successfully, without any errors. + +Ceilometer enabled test +----------------------- + + ID ## @@ -276,8 +140,8 @@ Steps 1. Upload plugins and install. 2. Create environment with enabled component Ceilometer. - 3. Configure nodes: at least 1 Manila-data, 1 controller, 1 Compute - 1 Manila-share and 3 Ceph-OSD roles. + 3. Configure nodes with at least 3 Mongo-DB 1 Manila-data and + 1 Manila-share roles. 4. Deploy cluster with plugin. 5. Run OSTF. 6. Verify Manila service basic functionality (share create/mount). @@ -288,6 +152,10 @@ Expected results All steps must be completed successfully, without any errors. +Murano enabled test +------------------- + + ID ## @@ -310,8 +178,7 @@ Steps 1. Upload plugins and install. 2. Create environment with enabled component Murano. - 3. Configure nodes: at least 1 Manila-data, 1 controller, 1 Compute - 1 Manila-share and 3 Ceph-OSD roles. + 3. Configure nodes with at least 1 Manila-data and 1 Manila-share. 4. Deploy cluster with plugin. 5. Run OSTF. 6. Verify Manila service basic functionality (share create/mount). @@ -322,6 +189,10 @@ Expected results All steps must be completed successfully, without any errors. +Sahara enabled test +------------------- + + ID ## @@ -344,8 +215,7 @@ Steps 1. Upload plugins and install. 2. Create environment with enabled component Sahara. - 3. Configure nodes: at least 1 Manila-data, 1 controller, 1 Compute - 1 Manila-share and 3 Ceph-OSD roles. + 3. Configure nodes: at least 1 Manila-data 1 Manila-share. 4. Deploy cluster with plugin. 5. Run OSTF. 6. Verify Manila service basic functionality (share create/mount). @@ -353,4 +223,4 @@ Steps Expected results ################ -All steps must be completed successfully, without any errors. \ No newline at end of file +All steps must be completed successfully, without any errors. diff --git a/plugin_test/run_tests.py b/plugin_test/run_tests.py index 5f14645..5425dae 100644 --- a/plugin_test/run_tests.py +++ b/plugin_test/run_tests.py @@ -51,6 +51,7 @@ class CloseSSHConnectionsPlugin(Plugin): def import_tests(): """Import test suite of project.""" from tests import test_smoke_bvt # noqa + from tests import test_integration # noqa def run_tests(): diff --git a/plugin_test/tests/test_integration.py b/plugin_test/tests/test_integration.py new file mode 100644 index 0000000..8783754 --- /dev/null +++ b/plugin_test/tests/test_integration.py @@ -0,0 +1,143 @@ +"""Copyright 2016 Mirantis, Inc. + +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 +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 fuelweb_test.helpers.decorators import log_snapshot_after_test +from fuelweb_test.tests.base_test_case import SetupEnvironment +from fuelweb_test.tests.base_test_case import TestBasic +from helpers.manila_service_verify import TestPluginCheck +from helpers import plugin +from proboscis import test + + +@test(groups=['manila_plugin', 'manila_integration']) +class TestManilaIntegration(TestBasic): + """Integration test suite. + + The goal of integration testing is to ensure that Fuel Manila plugin work + on cluster with different sets of roles, nodes, storage backends types + will be used by QA to accept software builds from Development team. + + """ + + @test(depends_on=[SetupEnvironment.prepare_slaves_3], + groups=["manila_share_ha"]) + @log_snapshot_after_test + def manila_share_ha(self): + """Check cluster deploy with Manila Plugin and two Manila-share roles. + + Scenario: + 1. Upload plugins and install. + 2. Create environment : + * Networking: Neutron with VLAN segmentation + * Block Storage: LVM + * Other Storages: default + * Additional services: disabled + 3. Enable plugin and add nodes with following roles: + * Controller + Manila-share + * Compute + Manila-share + * Cinder + Manila-data + 4. Deploy cluster with plugin. + 5. Run OSTF + 6. Verify Manila service basic functionality (share create/mount). + """ + + self.env.revert_snapshot("ready_with_3_slaves") + self.show_step(1) + plugin.install_manila_plugin(self.ssh_manager.admin_ip) + plugin.upload_manila_image(self.ssh_manager.admin_ip) + + self.show_step(2) + cluster_id = self.fuel_web.create_cluster( + name=self.__class__.__name__, + settings={"net_provider": 'neutron'} + ) + + self.show_step(3) + plugin.enable_plugin_manila(cluster_id, self.fuel_web) + self.fuel_web.update_nodes( + cluster_id, + {'slave-01': ['controller', 'manila-share'], + 'slave-02': ['compute', 'manila-share'], + 'slave-03': ['cinder', 'manila-data'] + } + ) + + self.show_step(4) + self.fuel_web.deploy_cluster_wait(cluster_id) + + self.show_step(5) + self.fuel_web.run_ostf(cluster_id=cluster_id, + test_sets=['smoke', 'sanity']) + + self.show_step(6) + TestPluginCheck(self).verify_manila_functionality() + + @test(depends_on=[SetupEnvironment.prepare_slaves_3], + groups=["manila_data_ha"]) + @log_snapshot_after_test + def manila_data_ha(self): + """Check cluster deploy with Manila Plugin and two Manila-data roles. + + Scenario: + 1. Upload plugins and install. + 2. Create environment : + * Networking: Neutron with tunneling segmentation + * Block Storage: LVM + * Other Storages: default + * Additional services: disabled + 3. Enable plugin and add nodes with following roles: + * Controller + Manila-data + * Compute + Manila-data + * Cinder + Manila-share + 4. Deploy cluster with plugin. + 5. Run OSTF + 6. Verify Manila service basic functionality (share create/mount). + """ + + self.env.revert_snapshot("ready_with_3_slaves") + self.show_step(1) + plugin.install_manila_plugin(self.ssh_manager.admin_ip) + plugin.upload_manila_image(self.ssh_manager.admin_ip) + + self.show_step(2) + cluster_id = self.fuel_web.create_cluster( + name=self.__class__.__name__, + settings={ + "net_provider": 'neutron', + "net_segment_type": 'tun' + } + ) + + self.show_step(3) + plugin.enable_plugin_manila(cluster_id, self.fuel_web) + self.fuel_web.update_nodes( + cluster_id, + {'slave-01': ['controller', 'manila-data'], + 'slave-02': ['compute', 'manila-data'], + 'slave-03': ['cinder', 'manila-share'] + } + ) + + self.show_step(4) + self.fuel_web.deploy_cluster_wait(cluster_id) + + self.show_step(5) + self.fuel_web.run_ostf(cluster_id=cluster_id, + test_sets=['smoke', 'sanity']) + + self.show_step(6) + TestPluginCheck(self).verify_manila_functionality() + +