Merge "Added scenario which upgrade ceph luminous to nautilus"
diff --git a/tcp_tests/tests/system/test_ceph_luminous_upgrade.py b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
new file mode 100644
index 0000000..35fec1c
--- /dev/null
+++ b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
@@ -0,0 +1,65 @@
+import pytest
+
+from tcp_tests import logger
+from tcp_tests import settings
+
+
+LOG = logger.logger
+
+
+class TestCephLuminousUpgrade(object):
+
+ @pytest.mark.grab_versions
+ @pytest.mark.parametrize("_", [settings.ENV_NAME])
+ @pytest.mark.run_mcp_update
+ def test_ceph_luminous_upgrade(self, reclass_actions, salt_actions,
+ drivetrain_actions, show_step, _):
+ """ Upgrade Ceph luminous to nautilus
+
+ Scenario:
+ 1. Chenge parameters in reclass
+ 2. Run Pipeline Ceph - upgrade
+ https://docs.mirantis.com/mcp/master/mcp-operations-guide/
+ update-upgrade/major-upgrade/ceph-upgrade/upgrade-ceph.html
+ """
+ salt = salt_actions
+ reclass = reclass_actions
+ dt = drivetrain_actions
+ # #################### Prepare for upgrade #################
+ show_step(1)
+ reclass.add_key("parameters._param.ceph_version",
+ "nautilus",
+ "cluster/*/ceph/init.yml")
+ reclass.add_key(
+ "parameters._param.linux_system_repo_update_mcp_ceph_url",
+ "${_param:linux_system_repo_update_url}/ceph-nautilus/",
+ "cluster/*/infra/init.yml")
+ reclass.add_class("system.ceph.mgr.cluster",
+ "cluster/*/ceph/mon.yml")
+ salt.cmd_run("cfg01*",
+ "cd /srv/salt/reclass; git add -u && \
+ git commit --allow-empty \
+ -m 'updated repositories for Ceph upgrade'")
+ salt.run_state("*", "saltutil.refresh_pillar")
+
+ # #################### Run Ceph-upgrade #################
+ show_step(2)
+ job_parameters = {
+ "ADMIN_HOST": 'cmn01*',
+ "BACKUP_DIR": '/root',
+ "BACKUP_ENABLED": True,
+ "CLUSTER_FLAGS": 'noout',
+ "ORIGIN_RELEASE": 'luminous',
+ "STAGE_FINALIZE": True,
+ "STAGE_UPGRADE_CLIENT": True,
+ "STAGE_UPGRADE_MGR": True,
+ "STAGE_UPGRADE_MON": True,
+ "STAGE_UPGRADE_OSD": True,
+ "STAGE_UPGRADE_RGW": True,
+ "TARGET_RELEASE": 'nautilus',
+ "WAIT_FOR_HEALTHY": True
+ }
+ upgrade_ceph = dt.start_job_on_jenkins(
+ job_name='ceph-upgrade',
+ job_parameters=job_parameters)
+ assert upgrade_ceph == 'SUCCESS'