Support Salt batch sizing for most important pipelines

Add parameter BATCH_SIZE to support Batch sizing for Salt to be
applied on huge amount of nodes.

Change-Id: If79b71f59a9758ebb6f46862a2d4a089696765c1
Related: PROD-27850 (PROD:27850)
Related: PROD-32646 (PROD:32646)
(cherry picked from commit cc9a8c70a7acc2e62a32b895269655532c6ed050)
diff --git a/jenkins/client/job/deploy/openstack.yml b/jenkins/client/job/deploy/openstack.yml
index 3734741..8b82037 100644
--- a/jenkins/client/job/deploy/openstack.yml
+++ b/jenkins/client/job/deploy/openstack.yml
@@ -25,6 +25,10 @@
               type: string
               default: "core,kvm,openstack,stacklight"
               description: "Components to be installed. Valid values are 'core,kvm,k8s,openstack,contrail,ovs,ceph,oss,cicd,stacklight,sl-legacy,finalize'. For all deployments it's recommended to run 'finalize' as a final step as Salt highstate on all nodes will be run."
+            BATCH_SIZE:
+              type: string
+              default: ''
+              description: 'Use batching for states, which targeted for large amount of nodes. Can be Integer or Percentage, e.g 20 or 20%'
             # salt master
             SALT_MASTER_CREDENTIALS:
               type: string
@@ -64,3 +68,7 @@
               type: string
               default: ""
               description: "Salt compound target to match nodes to be updated [*, G@osfamily:debian]."
+            BATCH_SIZE:
+              type: string
+              default: ''
+              description: 'Use batching for states, which targeted for large amount of nodes. Can be Integer or Percentage, e.g 20 or 20%'
diff --git a/jenkins/client/job/deploy/update/package.yml b/jenkins/client/job/deploy/update/package.yml
index 7444bcc..befd7ab 100644
--- a/jenkins/client/job/deploy/update/package.yml
+++ b/jenkins/client/job/deploy/update/package.yml
@@ -31,6 +31,10 @@
               type: string
               default: "*"
               description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+            BATCH_SIZE:
+              type: string
+              default: ''
+              description: 'Use batching for states, which targeted for large amount of nodes. Can be Integer or Percentage, e.g 20 or 20%'
             TARGET_PACKAGES:
               type: string
               description: Space delimited list of packages to be updated, empty string means updating all packages to the latest version e.g. [package1=version package2=version] or [package1 package2].
diff --git a/jenkins/client/job/deploy/update/upgrade_mcp_release.yml b/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
index 091d169..2019945 100644
--- a/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
+++ b/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
@@ -43,13 +43,15 @@
                 ---
                 SALT_MASTER_URL: "${_param:jenkins_salt_api_url}"
                 SALT_MASTER_CREDENTIALS: "salt"
+                # Use batching for states, which targeted for large amount of nodes. Can be Integer or Percentage, e.g 20 or 20%
+                BATCH_SIZE: ''
                 # Replace `mcp_version` parameter to TARGET_MCP_VERSION in cluster level Reclass model?
                 UPDATE_CLUSTER_MODEL: true
                 # Upgrade SaltStack packages
                 UPGRADE_SALTSTACK: true
                 # Mirror pipelines from upstream/local mirror to Gerrit
                 UPDATE_PIPELINES: true
-                # se only when local repositories are present
+                # Use only when local repositories are present
                 UPDATE_LOCAL_REPOS: false
                 # Next parameters added only for test purposes and not enabled by default
                 # RECLASS_SYSTEM_BRANCH: ''