diff --git a/plugin_test/tests/test_failover.py b/plugin_test/tests/test_failover.py index a21bc92..118f5eb 100644 --- a/plugin_test/tests/test_failover.py +++ b/plugin_test/tests/test_failover.py @@ -440,3 +440,91 @@ class TestManilaIntegration(TestBasic): self.show_step(10) TestPluginCheck(self).verify_manila_functionality() + @test(depends_on=[SetupEnvironment.prepare_slaves_5], + groups=["manila_shut_ceph"]) + @log_snapshot_after_test + def manila_shut_reb_ceph(self): + """Check that manila-service works after ceph-osd node shutdown. + + 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 + Ceph-OSD + Manila-share + Manila-data + * Compute + * Ceph-OSD + * Ceph-OSD + * Ceph-OSD + 4. Deploy cluster with plugin. + 5. Shutdown first ceph-osd node. + 6. Run OSTF + 7. Verify Manila service basic functionality (share create/mount). + 8. Shutdown second and turn on first ceph-osd node + 9. Run OSTF. + 10. Verify Manila service basic functionality (share add/mount). + """ + + self.env.revert_snapshot("ready_with_5_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={ + 'volumes_ceph': True, + 'volumes_lvm': False, + 'ephemeral_ceph': True, + 'objects_ceph': True, + 'images_ceph': True + } + ) + + self.show_step(3) + plugin.enable_plugin_manila(cluster_id, self.fuel_web) + self.fuel_web.update_nodes( + cluster_id, + {'slave-01': ['controller', 'ceph-osd', 'manila-data', + 'manila-share'], + 'slave-02': ['compute'], + 'slave-03': ['ceph-osd'], + 'slave-04': ['ceph-osd'], + 'slave-05': ['ceph-osd'], + } + ) + + self.show_step(4) + self.fuel_web.deploy_cluster_wait(cluster_id) + + self.show_step(5) + d_ceph_1 = self.fuel_web.get_devops_node_by_nailgun_node( + self.fuel_web.get_nailgun_node_by_base_name( + base_node_name='slave-03')) + self.fuel_web.warm_shutdown_nodes([d_ceph_1]) + + self.show_step(6) + cluster_id = self.fuel_web.get_last_created_cluster() + self.fuel_web.run_ostf(cluster_id=cluster_id, + test_sets=['smoke', 'sanity']) + self.show_step(7) + TestPluginCheck(self).verify_manila_functionality() + + self.show_step(8) + d_ceph_2 = self.fuel_web.get_devops_node_by_nailgun_node( + self.fuel_web.get_nailgun_node_by_base_name( + base_node_name='slave-04')) + self.fuel_web.warm_start_nodes([d_ceph_1]) + self.fuel_web.warm_shutdown_nodes([d_ceph_2]) + + self.show_step(9) + self.fuel_web.run_ostf(cluster_id=cluster_id, + test_sets=['smoke', 'sanity']) + + self.show_step(10) + TestPluginCheck(self).verify_manila_functionality() +