ceph jenkins pipelines

Change-Id: I41cbfaa228198e5d37928290f6c9b9f679659bdb
diff --git a/jenkins/client/job/ceph/add-osd-host.yml b/jenkins/client/job/ceph/add-node.yml
similarity index 72%
rename from jenkins/client/job/ceph/add-osd-host.yml
rename to jenkins/client/job/ceph/add-node.yml
index 0c7b629..6ae22ad 100644
--- a/jenkins/client/job/ceph/add-osd-host.yml
+++ b/jenkins/client/job/ceph/add-node.yml
@@ -5,7 +5,7 @@
         ceph-remove-osd:
           type: workflow-scm
           concurrent: true
-          display_name: "Ceph - add OSD host"
+          display_name: "Ceph - add node"
           discard:
             build:
               keep_num: 50
@@ -13,7 +13,7 @@
             type: git
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
             credentials: "gerrit"
-            script: ceph-add-osd-host.groovy
+            script: ceph-add-node.groovy
           param:
             # general parameters
             SALT_MASTER_URL:
@@ -26,4 +26,9 @@
               default: salt
             HOST:
               type: string
-              description: OSD HOST that will be added to Ceph cluster
+              description: OSD HOST that will be added to Ceph cluster (rgw04*)
+              default: 'rgw04*'
+            HOST_TYPE:
+              type: string
+              description: Type of Ceph node to be added. Valid values are mon/osd/rgw
+              default: 'rgw'
diff --git a/jenkins/client/job/ceph/init.yml b/jenkins/client/job/ceph/init.yml
index 4434e09..e4be03e 100644
--- a/jenkins/client/job/ceph/init.yml
+++ b/jenkins/client/job/ceph/init.yml
@@ -1,3 +1,5 @@
 classes:
 - system.jenkins.client.job.ceph.remove-osd
-- system.jenkins.client.job.ceph.add-osd-host
+- system.jenkins.client.job.ceph.add-node
+- system.jenkins.client.job.ceph.replace-failed-osd
+
diff --git a/jenkins/client/job/ceph/replace-failed-osd.yml b/jenkins/client/job/ceph/replace-failed-osd.yml
new file mode 100644
index 0000000..50e644b
--- /dev/null
+++ b/jenkins/client/job/ceph/replace-failed-osd.yml
@@ -0,0 +1,57 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        ceph-remove-osd:
+          type: workflow-scm
+          concurrent: true
+          display_name: "Ceph - replace failed OSD"
+          discard:
+            build:
+              keep_num: 50
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            credentials: "gerrit"
+            script: ceph-replace-failed-osd.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
+            HOST:
+              type: string
+              description: Failed OSDs on this HOST will replaced
+            OSD:
+              type: string
+              description: These OSD IDs at HOST will be replaced (comma-separated list - 1,2,3)
+            DEVICE:
+              type: string
+              description: Comma separated list of failed devices that will be replaced at HOST (/dev/sdb,/dev/sdc)
+            JOURNAL_OR_BLOCKDB_PARTITION:
+              type: string
+              description: Comma separated list of partitions where journal or block_db for the failed devices on this HOST were stored (/dev/sdh2,/dev/sdh3)
+            ADMIN_HOST:
+              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'
+              description: Wait for healthy during pipeline
+            CLUSTER_FLAGS:
+              type: string
+              description: Flags to be aplied before pipeline and after pipeline (comma-separated list)