ceph jenkins pipelines

Change-Id: I4ab21a019d03233ff377af0a7c32bb6f55adae1d
diff --git a/jenkins/client/job/ceph/add-node.yml b/jenkins/client/job/ceph/add-node.yml
index 6ae22ad..9fee51e 100644
--- a/jenkins/client/job/ceph/add-node.yml
+++ b/jenkins/client/job/ceph/add-node.yml
@@ -2,7 +2,7 @@
   jenkins:
     client:
       job:
-        ceph-remove-osd:
+        ceph-add-node:
           type: workflow-scm
           concurrent: true
           display_name: "Ceph - add node"
diff --git a/jenkins/client/job/ceph/backend-migration.yml b/jenkins/client/job/ceph/backend-migration.yml
new file mode 100644
index 0000000..e0dc091
--- /dev/null
+++ b/jenkins/client/job/ceph/backend-migration.yml
@@ -0,0 +1,49 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        ceph-backend-migration:
+          type: workflow-scm
+          concurrent: true
+          display_name: "Ceph - backend migration"
+          discard:
+            build:
+              keep_num: 50
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            credentials: "gerrit"
+            script: ceph-backend-migration.groovy
+          param:
+            # general parameters
+            SALT_MASTER_URL:
+              type: string
+              description: URL of Salt master
+              default: "http://${_param:salt_master_host}:6969"
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              description: Credentials for login to Salt API
+              default: salt
+            TARGET:
+              type: string
+              description: OSD hosts (minion ids) to be targeted
+              default: 'osd*'
+            OSD:
+              type: string
+              description: OSD ids to be migrated (comma-separated list - 1,2,3)
+              default: '*'
+            ADMIN_HOST:
+              type: string
+              description: Host with admin keyring and access to cluster management
+              default: 'cmn01*'
+            CLUSTER_FLAGS:
+              type: string
+              description: Flags to be aplied before pipeline and after pipeline (comma-separated list)
+            WAIT_FOR_HEALTHY:
+              type: boolean
+              default: 'true'
+              description: Wait for healthy during pipeline
+            ORIGIN_BACKEND:
+              type: string
+              description: Ceph backend before migration
+              default: 'filestore'
diff --git a/jenkins/client/job/ceph/init.yml b/jenkins/client/job/ceph/init.yml
index 4cfc6db..19bafca 100644
--- a/jenkins/client/job/ceph/init.yml
+++ b/jenkins/client/job/ceph/init.yml
@@ -3,4 +3,5 @@
 - system.jenkins.client.job.ceph.replace-failed-osd
 - system.jenkins.client.job.ceph.add-node
 - system.jenkins.client.job.ceph.remove-node
-
+- system.jenkins.client.job.ceph.upgrade
+- system.jenkins.client.job.ceph.backend-migration
diff --git a/jenkins/client/job/ceph/remove-node.yml b/jenkins/client/job/ceph/remove-node.yml
index 9ba449c..4a5efe3 100644
--- a/jenkins/client/job/ceph/remove-node.yml
+++ b/jenkins/client/job/ceph/remove-node.yml
@@ -2,7 +2,7 @@
   jenkins:
     client:
       job:
-        ceph-remove-osd:
+        ceph-remove-node:
           type: workflow-scm
           concurrent: true
           display_name: "Ceph - remove node"
diff --git a/jenkins/client/job/ceph/replace-failed-osd.yml b/jenkins/client/job/ceph/replace-failed-osd.yml
index 50e644b..57081ec 100644
--- a/jenkins/client/job/ceph/replace-failed-osd.yml
+++ b/jenkins/client/job/ceph/replace-failed-osd.yml
@@ -2,7 +2,7 @@
   jenkins:
     client:
       job:
-        ceph-remove-osd:
+        ceph-replace-failed-osd:
           type: workflow-scm
           concurrent: true
           display_name: "Ceph - replace failed OSD"
@@ -40,14 +40,6 @@
               type: string
               description: Host with admin keyring and correct crushmap file in /etc/ceph/crushmap
               default: 'cmn01*'
-            ENFORCE_CRUSHMAP:
-              type: boolean
-              default: 'false'
-              description: Set to true if the prepared crush map should be enforced
-            WAIT_FOR_PG_REBALANCE:
-              type: boolean
-              default: 'true'
-              description: Wait for PGs to rebalance after osd is removed from crush map
             WAIT_FOR_HEALTHY:
               type: boolean
               default: 'false'
diff --git a/jenkins/client/job/ceph/upgrade.yml b/jenkins/client/job/ceph/upgrade.yml
new file mode 100644
index 0000000..bf8e9e4
--- /dev/null
+++ b/jenkins/client/job/ceph/upgrade.yml
@@ -0,0 +1,66 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        ceph-upgrade:
+          type: workflow-scm
+          concurrent: true
+          display_name: "Ceph - upgrade"
+          discard:
+            build:
+              keep_num: 50
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            credentials: "gerrit"
+            script: ceph-upgrade.groovy
+          param:
+            # general parameters
+            SALT_MASTER_URL:
+              type: string
+              description: URL of Salt master
+              default: "http://${_param:salt_master_host}:6969"
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              description: Credentials for login to Salt API
+              default: salt
+            ADMIN_HOST:
+              type: string
+              description: Host with admin keyring and correct crushmap file in /etc/ceph/crushmap
+              default: 'cmn01*'
+            WAIT_FOR_HEALTHY:
+              type: boolean
+              default: 'true'
+              description: Wait for healthy during pipeline
+            CLUSTER_FLAGS:
+              type: string
+              default: 'sortbitwise,noout'
+              description: Flags to be aplied before pipeline and after pipeline (comma-separated list)
+            ORIGIN_RELEASE:
+              type: string
+              description: Ceph release version before upgrade
+              default: 'jewel'
+            TARGET_RELEASE:
+              type: string
+              description: Ceph release version after upgrade
+              default: 'luminous'
+            STAGE_UPGRADE_MON:
+              type: boolean
+              default: 'true'
+              description: Set to True if Ceph mon nodes upgrade is desired
+            STAGE_UPGRADE_MGR:
+              type: boolean
+              default: 'true'
+              description: Set to True if Ceph mgr nodes upgrade or new deploy is desired
+            STAGE_UPGRADE_OSD:
+              type: boolean
+              default: 'true'
+              description: Set to True if Ceph osd nodes upgrade is desired
+            STAGE_UPGRADE_RGW:
+              type: boolean
+              default: 'true'
+              description: Set to True if Ceph rgw nodes upgrade is desired
+            STAGE_UPGRADE_CLIENT:
+              type: boolean
+              default: 'true'
+              description: Set to True if Ceph client nodes upgrade is desired (includes for example ctl/cmp nodes)