Initial commit
Add infrastructure jobs for sandbox

Related-PROD: RE-336

Change-Id: I2140d47e3fc360ab05f92175b29b31e69b2ec10b
diff --git a/common/templates/codenarc.yaml b/common/templates/codenarc.yaml
new file mode 100644
index 0000000..4843314
--- /dev/null
+++ b/common/templates/codenarc.yaml
@@ -0,0 +1,37 @@
+---
+
+- job-template:
+    name: infra.codenarc
+    id: common/codenarc
+    project-type: pipeline
+    description: Check groovy scripts by CodeNarc
+    concurrent: True
+
+    properties:
+    - build-discarder:
+        days-to-keep: 14
+    - inject:
+        properties-content: |
+          DOCKER_IMAGE=docker-prod-local.docker.mirantis.net/infra/codenarc:latest
+          K8S_CLUSTER={k8s_cluster}
+          NODE_LABEL={codenarc_node|docker}
+          GIT_CREDENTIALS_ID={git-credentials-id}
+
+
+    parameters:
+    - hidden:
+        name: DEFAULT_RULES
+        default: !include-raw-escape: ../../codenarcRules.groovy
+
+    triggers:
+    - gerrit:
+        server-name: '{gerrit-server}'
+        projects: '{obj:projects}'
+        trigger-on:
+        - patchset-created-event:
+            exclude-drafts: True
+        custom-url: '- ${{JOB_NAME}} ${{BUILD_URL}}artifact/report.html'
+        skip-vote:
+          notbuilt: true
+
+    dsl: !include-raw-escape: ../pipelines/codenarc.groovy
diff --git a/common/templates/shellcheck.yaml b/common/templates/shellcheck.yaml
new file mode 100644
index 0000000..d989d04
--- /dev/null
+++ b/common/templates/shellcheck.yaml
@@ -0,0 +1,31 @@
+---
+- job-template:
+    name: infra.shellcheck
+    id: common/shellcheck
+    project-type: pipeline
+    description: Check shell scripts by ShellCheck
+    concurrent: True
+
+    properties:
+    - build-discarder:
+        days-to-keep: 14
+    - inject:
+        properties-content: |
+          K8S_CLUSTER={k8s_cluster}
+          DOCKER_IMAGE={docker-dev-virtual}/mirantis/openstack-ci/jenkins-job-tests:latest
+          NODE_LABEL={shellcheck_node|docker}
+          GIT_CREDENTIALS_ID={git-credentials-id}
+
+    triggers:
+    - gerrit:
+        server-name: '{gerrit-server}'
+        projects: '{obj:projects}'
+        trigger-on:
+        - patchset-created-event:
+            exclude-drafts: True
+        custom-url: '- ${{JOB_NAME}} ${{BUILD_URL}}console'
+        skip-vote:
+          notbuilt: true
+
+    dsl: !include-raw-escape: ../pipelines/shellcheck.groovy
+
diff --git a/common/templates/tox.yaml b/common/templates/tox.yaml
new file mode 100644
index 0000000..e837ec9
--- /dev/null
+++ b/common/templates/tox.yaml
@@ -0,0 +1,29 @@
+---
+- job-template:
+    name: infra.tox
+    id: common/tox
+    project-type: pipeline
+    description: Run tox tests
+    concurrent: True
+
+    properties:
+    - build-discarder:
+        days-to-keep: 14
+    - inject:
+        properties-content: |
+          K8S_CLUSTER={k8s_cluster}
+          DOCKER_IMAGE={docker-dev-virtual}/mirantis/openstack-ci/jenkins-job-tests:latest
+          NODE_LABEL={tox_node|docker}
+          GIT_CREDENTIALS_ID={git-credentials-id}
+
+    triggers:
+    - gerrit:
+        server-name: '{gerrit-server}'
+        projects: '{obj:projects}'
+        trigger-on:
+        - patchset-created-event:
+            exclude-drafts: True
+        custom-url: '- ${{JOB_NAME}} ${{BUILD_URL}}console'
+        skip-vote: '{obj:skip_vote}'
+
+    dsl: !include-raw-escape: ../pipelines/tox.groovy
diff --git a/common/templates/yamllint.yaml b/common/templates/yamllint.yaml
new file mode 100644
index 0000000..eb5b341
--- /dev/null
+++ b/common/templates/yamllint.yaml
@@ -0,0 +1,29 @@
+---
+- job-template:
+    name: infra.yamllint
+    id: common/yamllint
+    project-type: pipeline
+    description: Check yaml files by yamllint.
+    concurrent: True
+
+    properties:
+    - build-discarder:
+        days-to-keep: 14
+    - inject:
+        properties-content: |
+          K8S_CLUSTER={k8s_cluster}
+          DOCKER_IMAGE={docker-dev-virtual}/mirantis/openstack-ci/jenkins-job-tests:latest
+          NODE_LABEL={yamllint_node|docker}
+          GIT_CREDENTIALS_ID={git-credentials-id}
+
+    triggers:
+    - gerrit:
+        server-name: '{gerrit-server}'
+        projects: '{obj:projects}'
+        trigger-on:
+        - patchset-created-event:
+            exclude-drafts: True
+        custom-url: '- ${{JOB_NAME}} ${{BUILD_URL}}console'
+        skip-vote: '{obj:skip_vote}'
+
+    dsl: !include-raw-escape: ../pipelines/yamllint.groovy