diff --git a/fuelweb_test/tests/tests_cli/test_cli_deploy_ceph.py b/fuelweb_test/tests/tests_cli/test_cli_deploy_ceph.py index 996134310..9547cc1c7 100644 --- a/fuelweb_test/tests/tests_cli/test_cli_deploy_ceph.py +++ b/fuelweb_test/tests/tests_cli/test_cli_deploy_ceph.py @@ -90,3 +90,85 @@ class CommandLineAcceptanceCephDeploymentTests(test_cli_base.CommandLine): self.show_step(7) self.fuel_web.run_ostf( cluster_id=cluster_id, test_sets=['ha', 'smoke', 'sanity']) + + @test(depends_on=[SetupEnvironment.prepare_slaves_9], + groups=["cli_deploy_ceph_neutron_vlan"]) + @log_snapshot_after_test + def cli_deploy_ceph_neutron_vlan(self): + """ Deployment with 3 controlelrs, NeutronVLAN, both Ceph + + Scenario: + 1. Create new environment + 2. Choose Neutron, VLAN + 3. Choose Ceph for volumes and Ceph for images + 4. Add 3 controller, 2 compute, 3 ceph + 5. Verify networks + 6. Deploy the environment + 7. Verify networks + 8. Run OSTF tests + + Duration: 60 min + """ + + self.env.revert_snapshot("ready_with_9_slaves") + + node_ids = [self.fuel_web.get_nailgun_node_by_devops_node( + self.env.d_env.nodes().slaves[slave_id])['id'] + for slave_id in range(8)] + + release_id = self.fuel_web.get_releases_list_for_os( + release_name=OPENSTACK_RELEASE)[0] + + admin_ip = self.ssh_manager.admin_ip + + self.show_step(1) + self.show_step(2) + cluster = self.ssh_manager.execute_on_remote( + ip=admin_ip, + cmd='fuel env create --name={0} --release={1} ' + '--nst=vlan --json'.format(self.__class__.__name__, + release_id), + jsonify=True + )['stdout_json'] + + self.show_step(3) + with self.env.d_env.get_admin_remote() as remote: + self.use_ceph_for_volumes(cluster['id'], remote) + self.use_ceph_for_images(cluster['id'], remote) + + nodes = { + 'controller': node_ids[0:3], + 'compute': node_ids[3:5], + 'ceph-osd': node_ids[5:8] + } + + self.show_step(4) + for role in nodes: + self.ssh_manager.execute_on_remote( + ip=admin_ip, + cmd='fuel --env-id={0} node set ' + '--node {1} --role={2}'.format( + cluster['id'], + ','.join(map(str, nodes[role])), role) + ) + + self.show_step(5) + self.fuel_web.verify_network(cluster['id']) + + self.show_step(6) + task = self.ssh_manager.execute_on_remote( + ip=admin_ip, + cmd='fuel --env-id={0} ' + 'deploy-changes --json'.format(cluster['id']), + jsonify=True + )['stdout_json'] + with self.env.d_env.get_admin_remote() as remote: + self.assert_cli_task_success(task, remote, timeout=130 * 60) + + self.show_step(7) + self.fuel_web.verify_network(cluster['id']) + self.show_step(8) + self.fuel_web.run_ostf( + cluster_id=cluster['id'], + test_sets=['ha', 'smoke', 'sanity'] + )