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'