Add update glusterfs related jenkins jobs
Depends-On: https://gerrit.mcp.mirantis.com/41745
Related-Prod: PROD-29243
Change-Id: I24d5b65b92c3b3c22c710a21ed5a5306e7f3bc13
(cherry picked from commit 25c561c6ba7fcd725445c4a5558c93a1babb6109
and from commit 97e554ba821e19a5f148078209e508b943b7f6e6)
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
index 964f897..be7e82e 100644
--- a/jenkins/client/job/deploy/update/init.yml
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -19,3 +19,7 @@
- system.jenkins.client.job.deploy.update.cloud_update
- system.jenkins.client.job.deploy.update.kubernetes_update
- system.jenkins.client.job.deploy.galera_verify_restore
+ - system.jenkins.client.job.deploy.update.update_glusterfs
+ - system.jenkins.client.job.deploy.update.update_glusterfs_servers
+ - system.jenkins.client.job.deploy.update.update_glusterfs_clients
+ - system.jenkins.client.job.deploy.update.update_glusterfs_cluster_op_version
diff --git a/jenkins/client/job/deploy/update/update_glusterfs.yml b/jenkins/client/job/deploy/update/update_glusterfs.yml
new file mode 100644
index 0000000..dfdfc9e
--- /dev/null
+++ b/jenkins/client/job/deploy/update/update_glusterfs.yml
@@ -0,0 +1,31 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ jenkins:
+ client:
+ job:
+ update-glusterfs:
+ type: workflow-scm
+ description: This is a general job which runs "Update glusterfs servers", "Update glusterfs clients" and "Update glusterfs cluster.op-version" jobs with default parameters. If you need/want better control of update process use those jobs.
+ concurrent: true
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ display_name: "Update GlusterFS"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: update-glusterfs.groovy
+ param:
+ DRIVE_TRAIN_PARAMS:
+ type: text
+ description: "Yaml based DriveTrain releated params"
+ default: |
+ ---
+ SALT_MASTER_URL: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS: "salt"
diff --git a/jenkins/client/job/deploy/update/update_glusterfs_clients.yml b/jenkins/client/job/deploy/update/update_glusterfs_clients.yml
new file mode 100644
index 0000000..48a393c
--- /dev/null
+++ b/jenkins/client/job/deploy/update/update_glusterfs_clients.yml
@@ -0,0 +1,37 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ jenkins:
+ client:
+ job:
+ update-glusterfs-clients:
+ type: workflow-scm
+ description: Update glusterfs-client package on corresponding hosts
+ concurrent: true
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ display_name: "Update glusterfs clients"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: update-glusterfs-clients.groovy
+ param:
+ DRIVE_TRAIN_PARAMS:
+ type: text
+ description: "Yaml based DriveTrain releated params"
+ default: |
+ ---
+ SALT_MASTER_URL: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS: "salt"
+ # Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_SERVERS: "I@glusterfs:client"
+ # Does not validate server availability/status before update
+ IGNORE_SERVER_STATUS: false
+ # Does not validate that all servers have been updated
+ IGNORE_SERVER_VERSION: false
diff --git a/jenkins/client/job/deploy/update/update_glusterfs_cluster_op_version.yml b/jenkins/client/job/deploy/update/update_glusterfs_cluster_op_version.yml
new file mode 100644
index 0000000..24b1217
--- /dev/null
+++ b/jenkins/client/job/deploy/update/update_glusterfs_cluster_op_version.yml
@@ -0,0 +1,37 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ jenkins:
+ client:
+ job:
+ update-glusterfs-cluster-op-version:
+ type: workflow-scm
+ description: Update cluster.op-version global option
+ concurrent: true
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ display_name: "Update glusterfs cluster.op-version"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: update-glusterfs-cluster-op-version.groovy
+ param:
+ DRIVE_TRAIN_PARAMS:
+ type: text
+ description: "Yaml based DriveTrain releated params"
+ default: |
+ ---
+ SALT_MASTER_URL: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS: "salt"
+ # GlusterFS cluster.op-verion option to set. Leave it empty to get proper version from cluster.max-op-version if available.
+ CLUSTER_OP_VERSION: ''
+ # Does not validate that all servers have been updated
+ IGNORE_SERVER_VERSION: false
+ # Does not validate that all clients have been updated
+ IGNORE_CLIENT_VERSION: false
diff --git a/jenkins/client/job/deploy/update/update_glusterfs_servers.yml b/jenkins/client/job/deploy/update/update_glusterfs_servers.yml
new file mode 100644
index 0000000..97f4e77
--- /dev/null
+++ b/jenkins/client/job/deploy/update/update_glusterfs_servers.yml
@@ -0,0 +1,37 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ jenkins:
+ client:
+ job:
+ update-glusterfs-servers:
+ type: workflow-scm
+ description: Update glusterfs-server package on corresponding hosts
+ concurrent: true
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ display_name: "Update glusterfs servers"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: update-glusterfs-servers.groovy
+ param:
+ DRIVE_TRAIN_PARAMS:
+ type: text
+ description: "Yaml based DriveTrain releated params"
+ default: |
+ ---
+ SALT_MASTER_URL: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS: "salt"
+ # Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_SERVERS: "I@glusterfs:server"
+ # Does not validate server availability/status before update
+ IGNORE_SERVER_STATUS: false
+ # Update GlusterFS even there is a non-replicated volume
+ IGNORE_NON_REPLICATED_VOLUMES: false