Merge pull request #194 from alexrubtsov/pr_mirantis_sto
Add "sudo less" for STO team
diff --git a/bind/server/single.yml b/bind/server/single.yml
new file mode 100644
index 0000000..be34143
--- /dev/null
+++ b/bind/server/single.yml
@@ -0,0 +1,9 @@
+classes:
+ - service.bind.server.single
+parameters:
+ bind:
+ server:
+ enabled: true
+ recursion:
+ hosts:
+ - localhost
diff --git a/designate/server/backend/bind.yml b/designate/server/backend/bind.yml
new file mode 100644
index 0000000..2b40424
--- /dev/null
+++ b/designate/server/backend/bind.yml
@@ -0,0 +1,36 @@
+parameters:
+ designate:
+ server:
+ backend:
+ bind9:
+ rndc_key: "${_param:designate_bind9_rndc_key}"
+ bind:
+ server:
+ key:
+ designate:
+ secret: "${_param:designate_bind9_rndc_key}"
+ algorithm: hmac-sha512
+ allow_new_zones: true
+ query: true
+ control:
+ local:
+ enabled: true
+ bind:
+ address: 127.0.0.1
+ port: 953
+ allow:
+ - 127.0.0.1
+ - ${_param:single_address}
+ keys:
+ - designate
+ client:
+ enabled: true
+ option:
+ default:
+ server: 127.0.0.1
+ port: 953
+ key: designate
+ key:
+ designate:
+ secret: "${_param:designate_bind9_rndc_key}"
+ algorithm: hmac-sha512
diff --git a/designate/server/backend/bind9.yml b/designate/server/backend/bind9.yml
deleted file mode 100644
index fa15ae1..0000000
--- a/designate/server/backend/bind9.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
- designate:
- server:
- backend:
- bind9:
- rndc_key: ${_param:designate_bind9_rndc_key}
-
diff --git a/gerrit/client/project/ci.yml b/gerrit/client/project/ci.yml
new file mode 100644
index 0000000..f1fdcd1
--- /dev/null
+++ b/gerrit/client/project/ci.yml
@@ -0,0 +1,20 @@
+parameters:
+ gerrit:
+ client:
+ project:
+ mcp-ci/pipeline-library:
+ enabled: true
+ description: Jenkins pipeline libraries
+ upstream: https://github.com/Mirantis/pipeline-library
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
+ mk/mk-pipelines:
+ enabled: true
+ description: Jenkins pipelines
+ upstream: https://github.com/Mirantis/mk-pipelines
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index ce1916a..f411c39 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -15,24 +15,32 @@
user: ${_param:jenkins_client_user}
password: ${_param:jenkins_client_password}
plugin:
- slack: {}
- extended-choice-parameter: {}
- rebuild: {}
- test-stability: {}
+ ansicolor: {}
build-blocker-plugin: {}
+ build-monitor-plugin: {}
+ build-user-vars-plugin: {}
+ categorized-view: {}
+ description-setter: {}
+ discard-old-build: {}
+ docker-workflow: {}
+ extended-choice-parameter: {}
+ gerrit-trigger: {}
+ git: {}
heavy-job: {}
+ matrix-auth: {}
+ monitoring: {}
+ pipeline-utility-steps: {}
+ rebuild: {}
+ simple-theme-plugin: {}
+ slack: {}
+ test-stability: {}
+ timestamper: {}
workflow-cps: {}
workflow-remote-loader: {}
- workflow-scm-step: {}
- docker-workflow: {}
- gerrit-trigger: {}
- pipeline-utility-steps: {}
- discard-old-build: {}
- ansicolor: {}
- timestamper: {}
- build-user-vars-plugin: {}
- description-setter: {}
- build-monitor-plugin: {}
- categorized-view: {}
- monitoring: {}
- matrix-auth: {}
+ workflow-scm-step:
+ restart: true
+ lib:
+ pipeline-library:
+ enabled: true
+ url: ${_param:jenkins_gerrit_url}/mcp-ci/pipeline-library
+ credential_id: gerrit
diff --git a/jenkins/client/job/debian/packages/extra.yml b/jenkins/client/job/debian/packages/extra.yml
index 941c9b4..e51354a 100644
--- a/jenkins/client/job/debian/packages/extra.yml
+++ b/jenkins/client/job/debian/packages/extra.yml
@@ -113,3 +113,12 @@
ARCH:
type: string
default: "amd64"
+ PPA:
+ type: string
+ default: "mirantis-opencontrail/extra"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
index f63032c..30d7c64 100644
--- a/jenkins/client/job/debian/packages/horizon/modules.yml
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -80,3 +80,6 @@
ARCH:
type: string
default: "amd64"
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/debian/packages/horizon/themes.yml b/jenkins/client/job/debian/packages/horizon/themes.yml
index a8f8ac2..b96a0c6 100644
--- a/jenkins/client/job/debian/packages/horizon/themes.yml
+++ b/jenkins/client/job/debian/packages/horizon/themes.yml
@@ -80,3 +80,6 @@
ARCH:
type: string
default: "amd64"
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
index f703e7b..d216e9d 100644
--- a/jenkins/client/job/debian/packages/salt-multi.yml
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -109,3 +109,12 @@
ARCH:
type: string
default: "amd64"
+ PPA:
+ type: string
+ default: "salt-formulas/ppa"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index 7dd70ea..5375d60 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -137,6 +137,8 @@
dist: trusty
- name: pritunl
dist: trusty
+ - name: prometheus
+ dist: trusty
- name: python
dist: trusty
- name: rabbitmq
@@ -167,6 +169,8 @@
dist: trusty
- name: taiga
dist: trusty
+ - name: telegraf
+ dist: trusty
- name: varnish
dist: trusty
- name: zookeeper
@@ -303,6 +307,8 @@
dist: xenial
- name: pritunl
dist: xenial
+ - name: prometheus
+ dist: xenial
- name: python
dist: xenial
- name: rabbitmq
@@ -333,6 +339,8 @@
dist: xenial
- name: taiga
dist: xenial
+ - name: telegraf
+ dist: xenial
- name: varnish
dist: xenial
- name: zookeeper
@@ -400,3 +408,12 @@
ARCH:
type: string
default: "amd64"
+ PPA:
+ type: string
+ default: "salt-formulas/ppa"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/deploy/init.yml b/jenkins/client/job/deploy/init.yml
index 62c92b4..d725c20 100644
--- a/jenkins/client/job/deploy/init.yml
+++ b/jenkins/client/job/deploy/init.yml
@@ -1,5 +1,3 @@
classes:
- - system.jenkins.client.job.deploy.mk_lab
- - system.jenkins.client.job.deploy.cicd_lab
- - system.jenkins.client.job.deploy.demo
- - system.jenkins.client.job.deploy.reclass_update
+ - system.jenkins.client.job.deploy.lab
+ - system.jenkins.client.job.deploy.update
diff --git a/jenkins/client/job/deploy/cicd_lab.yml b/jenkins/client/job/deploy/lab/cicd.yml
similarity index 100%
rename from jenkins/client/job/deploy/cicd_lab.yml
rename to jenkins/client/job/deploy/lab/cicd.yml
diff --git a/jenkins/client/job/deploy/demo.yml b/jenkins/client/job/deploy/lab/demo.yml
similarity index 100%
rename from jenkins/client/job/deploy/demo.yml
rename to jenkins/client/job/deploy/lab/demo.yml
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
new file mode 100644
index 0000000..24cdcab
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -0,0 +1,6 @@
+classes:
+ - system.jenkins.client.job.deploy.lab.mk.physical
+ - system.jenkins.client.job.deploy.lab.mk.virtual
+ - system.jenkins.client.job.deploy.lab.mk.cleanup
+ - system.jenkins.client.job.deploy.lab.cicd
+ - system.jenkins.client.job.deploy.lab.demo
diff --git a/jenkins/client/job/deploy/lab/mk/cleanup.yml b/jenkins/client/job/deploy/lab/mk/cleanup.yml
new file mode 100644
index 0000000..72e40f5
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/cleanup.yml
@@ -0,0 +1,37 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy-heat-cleanup:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - heat cleanup"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: cleanup-pipeline.groovy
+ param:
+ # openstack api
+ OPENSTACK_API_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "openstack-qa-credentials"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
+ OPENSTACK_API_VERSION:
+ type: string
+ default: "2"
+ # heat
+ HEAT_STACK_NAME:
+ type: string
+ description: This stack will be deleted.
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/mk/init.yml
new file mode 100644
index 0000000..7da9149
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/init.yml
@@ -0,0 +1,104 @@
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs: []
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job_template:
+ deploy_heat_template:
+ name: deploy-{{stack_type}}-{{lab}}
+ jobs: ${_param:jenkins_deploy_lab_mk_jobs}
+ template:
+ type: workflow-scm
+ discard:
+ build:
+ keep_num: 20
+ concurrent: true
+ display_name: "Deploy - {{lab}} {{stack_type}} lab"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: lab-pipeline.groovy
+ param:
+ # deployments and test settings
+ STACK_TYPE:
+ type: string
+ default: "{{stack_type}}"
+ INSTALL:
+ type: string
+ default: "{{install}}"
+ TEST:
+ type: string
+ default: ""
+
+ # heat
+ HEAT_TEMPLATE_URL:
+ type: string
+ default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
+ HEAT_TEMPLATE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ HEAT_TEMPLATE_BRANCH:
+ type: string
+ default: "composite"
+ HEAT_STACK_NAME:
+ type: string
+ description: Heat stack name. Will be generated if missing.
+ HEAT_STACK_TEMPLATE:
+ type: string
+ default: "{{lab}}"
+ HEAT_STACK_ENVIRONMENT:
+ type: string
+ default: "tcpisek"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mirantis-zone-qa"
+ HEAT_STACK_PUBLIC_NET:
+ type: string
+ default: "mirantis-private"
+ HEAT_STACK_DELETE:
+ type: boolean
+ default: 'true'
+ HEAT_STACK_REUSE:
+ type: boolean
+ default: 'false'
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+
+ # openstack api
+ OPENSTACK_API_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "openstack-qa-credentials"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
+ OPENSTACK_API_VERSION:
+ type: string
+ default: "2"
+
+ # k8s setttings
+ K8S_API_SERVER:
+ type: string
+ default: "http://127.0.0.1:8080"
+ K8S_CONFORMANCE_IMAGE:
+ type: string
+ default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
+
+ # Tempest settings
+ TEMPEST_IMAGE_LINK:
+ type: string
+ default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
+
diff --git a/jenkins/client/job/deploy/lab/mk/physical.yml b/jenkins/client/job/deploy/lab/mk/physical.yml
new file mode 100644
index 0000000..a66909d
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/physical.yml
@@ -0,0 +1,17 @@
+classes:
+ - system.jenkins.client.job.deploy.lab.mk
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs:
+ - lab: mcp10_contrail
+ install: core,kvm,openstack,contrail
+ stack_type: physical
+ - lab: mcp10_opencontrail_nfv
+ install: core,kvm,openstack,nfv
+ stack_type: physical
+ - lab: mcp10_dvr
+ install: core,kvm,openstack,dvr
+ stack_type: physical
+ - lab: mcp10_non_dvr
+ install: core,kvm,openstack
+ stack_type: physical
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
new file mode 100644
index 0000000..af65a4d
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/virtual.yml
@@ -0,0 +1,32 @@
+classes:
+ - system.jenkins.client.job.deploy.lab.mk
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs:
+ - lab: virtual_mcp05_dvr
+ install: core,openstack,dvr
+ stack_type: heat
+ - lab: virtual_mcp05_ovs
+ install: core,openstack,ovs
+ stack_type: heat
+ - lab: virtual_mcp10_contrail
+ install: core,openstack,contrail
+ stack_type: heat
+ - lab: virtual_mcp10_dvr
+ install: core,openstack,dvr
+ stack_type: heat
+ - lab: virtual_mcp10_ovs
+ install: core,openstack,ovs
+ stack_type: heat
+ - lab: virtual_mk20_advanced
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk20_basic
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk22_advanced
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk22_basic
+ install: core,openstack
+ stack_type: heat
diff --git a/jenkins/client/job/deploy/maas_lab.yml b/jenkins/client/job/deploy/maas_lab.yml
deleted file mode 100644
index b4b61e4..0000000
--- a/jenkins/client/job/deploy/maas_lab.yml
+++ /dev/null
@@ -1,67 +0,0 @@
-parameters:
- jenkins:
- client:
- job:
- heat_maas_lab:
- type: workflow
- concurrent: false
- display_name: "[Heat] Deploy MAAS lab"
- param:
- HEAT_TEMPLATE_URL:
- type: string
- default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
- HEAT_TEMPLATE_CREDENTIALS:
- type: string
- default: "git-qa"
- HEAT_TEMPLATE_BRANCH:
- type: string
- default: "master"
- OPENSTACK_API_CLIENT:
- type: string
- default: "liberty"
- OPENSTACK_API_VERSION:
- type: string
- default: "2"
- OPENSTACK_API_URL:
- type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "openstack-qa"
- OPENSTACK_API_PROJECT:
- type: string
- default: "mirantis_mk20_qa"
- SALT_MASTER_CREDENTIALS:
- type: string
- default: "salt-qa-credentials"
- HEAT_STACK_NAME:
- type: string
- default: "maas_gate"
- HEAT_STACK_TEMPLATE:
- type: string
- default: "maas_lab"
- HEAT_STACK_ENVIRONMENT:
- type: string
- default: "tcpisek"
- HEAT_STACK_ZONE:
- type: string
- default: "mirantis-zone-qa"
- HEAT_STACK_PUBLIC_NET:
- type: string
- default: "inet2"
- libs:
- - repository: pipeline_libs
- file: macro/common.groovy
- - repository: pipeline_libs
- file: macro/git.groovy
- - repository: pipeline_libs
- file: macro/http.groovy
- - repository: pipeline_libs
- file: macro/openstack.groovy
- - repository: pipeline_libs
- file: macro/python.groovy
- - repository: pipeline_libs
- file: macro/salt.groovy
- script:
- repository: pipeline_libs
- file: pipeline/provision/heat_maas_lab.groovy
diff --git a/jenkins/client/job/deploy/mk_lab.yml b/jenkins/client/job/deploy/mk_lab.yml
deleted file mode 100644
index a36d26e..0000000
--- a/jenkins/client/job/deploy/mk_lab.yml
+++ /dev/null
@@ -1,205 +0,0 @@
-parameters:
- jenkins:
- client:
- job:
- deploy-update-package:
- type: workflow-scm
- concurrent: true
- display_name: "Update system package(s)"
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
- credentials: "gerrit"
- script: update-package.groovy
- param:
- SALT_MASTER_URL:
- type: string
- default: "http://10.10.10.1:8000"
- SALT_MASTER_CREDENTIALS:
- type: string
- default: "salt"
- UPDATE_SERVERS:
- type: string
- default: "*"
- description: Salt compound target to match nodes to be updated.
- UPDATE_PACKAGES:
- type: string
- default: ""
- description: Space delimited list of packages to be updates [package1=version package2=version], empty string means all updating all packages to the latest version.
- UPDATE_COMMIT:
- type: boolean
- default: false
-
- deploy-heat-cleanup:
- type: workflow-scm
- concurrent: true
- display_name: "Deploy - heat cleanup"
- discard:
- build:
- keep_num: 20
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
- credentials: "gerrit"
- script: cleanup-pipeline.groovy
- param:
- # openstack api
- OPENSTACK_API_URL:
- type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "openstack-qa-credentials"
- OPENSTACK_API_PROJECT:
- type: string
- default: "mirantis_mk20_qa"
- OPENSTACK_API_CLIENT:
- type: string
- default: "liberty"
- OPENSTACK_API_VERSION:
- type: string
- default: "2"
- # heat
- HEAT_STACK_NAME:
- type: string
- description: This stack will be deleted.
-
- job_template:
- deploy_heat_template:
- name: deploy-{{stack_type}}-{{lab}}
- jobs:
- # virtual
- - lab: virtual_mcp05_dvr
- install: core,openstack,dvr
- stack_type: heat
- - lab: virtual_mcp05_ovs
- install: core,openstack,ovs
- stack_type: heat
- - lab: virtual_mcp10_contrail
- install: core,openstack,contrail
- stack_type: heat
- - lab: virtual_mcp10_dvr
- install: core,openstack,dvr
- stack_type: heat
- - lab: virtual_mcp10_ovs
- install: core,openstack,ovs
- stack_type: heat
- - lab: virtual_mk20_advanced
- install: core,openstack
- stack_type: heat
- - lab: virtual_mk20_basic
- install: core,openstack
- stack_type: heat
- - lab: virtual_mk22_advanced
- install: core,openstack
- stack_type: heat
- - lab: virtual_mk22_basic
- install: core,openstack
- stack_type: heat
- # physical
- - lab: mcp10_contrail
- install: core,kvm,openstack,contrail
- stack_type: physical
- - lab: mcp10_opencontrail_nfv
- install: core,kvm,openstack,nfv
- stack_type: physical
- - lab: mcp10_dvr
- install: core,kvm,openstack,dvr
- stack_type: physical
- - lab: mcp10_non_dvr
- install: core,kvm,openstack
- stack_type: physical
- template:
- type: workflow-scm
- discard:
- build:
- keep_num: 20
- concurrent: true
- display_name: "Deploy - {{lab}} {{stack_type}} lab"
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
- credentials: "gerrit"
- script: lab-pipeline.groovy
- param:
- # deployments and test settings
- STACK_TYPE:
- type: string
- default: "{{stack_type}}"
- INSTALL:
- type: string
- default: "{{install}}"
- TEST:
- type: string
- default: ""
-
- # heat
- HEAT_TEMPLATE_URL:
- type: string
- default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
- HEAT_TEMPLATE_CREDENTIALS:
- type: string
- default: "gerrit"
- HEAT_TEMPLATE_BRANCH:
- type: string
- default: "composite"
- HEAT_STACK_NAME:
- type: string
- description: Heat stack name. Will be generated if missing.
- HEAT_STACK_TEMPLATE:
- type: string
- default: "{{lab}}"
- HEAT_STACK_ENVIRONMENT:
- type: string
- default: "tcpisek"
- HEAT_STACK_ZONE:
- type: string
- default: "mirantis-zone-qa"
- HEAT_STACK_PUBLIC_NET:
- type: string
- default: "mirantis-private"
- HEAT_STACK_DELETE:
- type: boolean
- default: 'true'
- HEAT_STACK_REUSE:
- type: boolean
- default: 'false'
-
- # salt master
- SALT_MASTER_CREDENTIALS:
- type: string
- default: "salt-qa-credentials"
- SALT_MASTER_URL:
- type: string
- default: ""
-
- # openstack api
- OPENSTACK_API_URL:
- type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "openstack-qa-credentials"
- OPENSTACK_API_PROJECT:
- type: string
- default: "mirantis_mk20_qa"
- OPENSTACK_API_CLIENT:
- type: string
- default: "liberty"
- OPENSTACK_API_VERSION:
- type: string
- default: "2"
-
- # k8s setttings
- K8S_API_SERVER:
- type: string
- default: "http://127.0.0.1:8080"
- K8S_CONFORMANCE_IMAGE:
- type: string
- default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
-
- # Tempest settings
- TEMPEST_IMAGE_LINK:
- type: string
- default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
-
diff --git a/jenkins/client/job/deploy/update/config.yml b/jenkins/client/job/deploy/update/config.yml
new file mode 100644
index 0000000..9beabfb
--- /dev/null
+++ b/jenkins/client/job/deploy/update/config.yml
@@ -0,0 +1,45 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-update-service-config:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - update service(s) config"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: change-config.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ description: Full Salt API address [https://10.10.10.1:8000].
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ description: Credentials to the Salt API.
+ TARGET_SERVERS:
+ type: string
+ default: "*"
+ description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_STATES:
+ type: string
+ description: Config changes to be applied, empty string means running highstate [linux, linux,openssh, salt.minion.grains].
+ TARGET_SUBSET_TEST:
+ type: string
+ description: Number of nodes to test config changes, empty string means all targetted nodes.
+ TARGET_SUBSET_LIVE:
+ type: string
+ default: '1'
+ description: Number of selected noded to live apply selected config changes.
+ TARGET_BATCH_LIVE:
+ type: string
+ description: Batch size for the complete live config changes on all nodes, empty string means apply to all targetted nodes.
+
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
new file mode 100644
index 0000000..af87dcf
--- /dev/null
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.deploy.update.package
+ - system.jenkins.client.job.deploy.update.config
+ - system.jenkins.client.job.deploy.update.saltenv
diff --git a/jenkins/client/job/deploy/update/package.yml b/jenkins/client/job/deploy/update/package.yml
new file mode 100644
index 0000000..273796c
--- /dev/null
+++ b/jenkins/client/job/deploy/update/package.yml
@@ -0,0 +1,42 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-update-package:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - update system package(s)"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: update-package.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ TARGET_SERVERS:
+ type: string
+ default: "*"
+ description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_PACKAGES:
+ type: string
+ description: Space delimited list of packages to be updates [package1=version package2=version], empty string means all updating all packages to the latest version.
+ TARGET_SUBSET_TEST:
+ type: string
+ description: Number of nodes to list package updates, empty string means all targetted nodes.
+ TARGET_SUBSET_LIVE:
+ type: string
+ default: '1'
+ description: Number of selected noded to live apply selected package update.
+ TARGET_BATCH_LIVE:
+ type: string
+ description: Batch size for the complete live package update on all nodes, empty string means apply to all targetted nodes.
diff --git a/jenkins/client/job/deploy/reclass_update.yml b/jenkins/client/job/deploy/update/saltenv.yml
similarity index 64%
rename from jenkins/client/job/deploy/reclass_update.yml
rename to jenkins/client/job/deploy/update/saltenv.yml
index 1f99ddc..0303aea 100644
--- a/jenkins/client/job/deploy/reclass_update.yml
+++ b/jenkins/client/job/deploy/update/saltenv.yml
@@ -1,13 +1,19 @@
+#
+# Following job is about to simply execute Jenkinsfile of given Reclass model
+#
parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins_salt_model_name: "salt"
jenkins:
client:
job_template:
- reclass_update:
+ update_salt_env:
name: deploy-update-{{name}}
jobs:
- - name: mk-ci
- salt_url: "http://10.10.100.81:8000"
- salt_credentials: salt-mk-ci
+ - name: ${_param:jenkins_salt_model_name}
+ salt_url: "${_param:jenkins_salt_api_url}"
+ salt_credentials: salt
template:
display_name: "Deploy - update {{name}} environment"
type: workflow-scm
diff --git a/jenkins/client/job/git-mirrors/downstream/init.yml b/jenkins/client/job/git-mirrors/downstream/init.yml
new file mode 100644
index 0000000..0ddc0ce
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/init.yml
@@ -0,0 +1,39 @@
+parameters:
+ _param:
+ jenkins_git_mirror_downstream_jobs: []
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git_mirror_downstream_common:
+ name: git-mirror-downstream-{{name}}
+ jobs: ${_param:jenkins_git_mirror_downstream_jobs}
+ template:
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: git-mirror-pipeline.groovy
+ trigger:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "{{upstream}}"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/{{downstream}}"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
diff --git a/jenkins/client/job/git-mirrors/downstream/pipelines.yml b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
new file mode 100644
index 0000000..7bf366c
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+ _param:
+ jenkins_git_mirror_downstream_jobs:
+ - name: pipeline-library
+ downstream: mcp-ci/pipeline-library
+ upstream: "https://github.com/Mirantis/pipeline-library"
+ branches: master
+ - name: mk-pipelines
+ downstream: mk/mk-pipelines
+ upstream: "https://github.com/Mirantis/mk-pipelines"
+ branches: master
diff --git a/jenkins/client/job/git-mirrors/upstream.yml b/jenkins/client/job/git-mirrors/upstream/init.yml
similarity index 77%
rename from jenkins/client/job/git-mirrors/upstream.yml
rename to jenkins/client/job/git-mirrors/upstream/init.yml
index f4f7f50..e11e63c 100644
--- a/jenkins/client/job/git-mirrors/upstream.yml
+++ b/jenkins/client/job/git-mirrors/upstream/init.yml
@@ -1,18 +1,12 @@
parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs: []
jenkins:
client:
job_template:
git_mirror_upstream_common:
name: git-mirror-upstream-{{name}}
- jobs:
- - name: pipeline-library
- downstream: mcp-ci/pipeline-library.git
- upstream: "git@github.com:Mirantis/pipeline-library.git"
- branches: master
- - name: mk-pipelines
- downstream: mk/mk-pipelines.git
- upstream: "git@github.com:Mirantis/mk-pipelines.git"
- branches: master
+ jobs: ${_param:jenkins_git_mirror_upstream_jobs}
template:
discard:
build:
diff --git a/jenkins/client/job/git-mirrors/upstream/pipelines.yml b/jenkins/client/job/git-mirrors/upstream/pipelines.yml
new file mode 100644
index 0000000..20f7eb6
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/pipelines.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs:
+ - name: pipeline-library
+ downstream: mcp-ci/pipeline-library
+ upstream: "git@github.com:Mirantis/pipeline-library.git"
+ branches: master
+ - name: mk-pipelines
+ downstream: mk/mk-pipelines
+ upstream: "git@github.com:Mirantis/mk-pipelines.git"
+ branches: master
diff --git a/jenkins/client/job/image/ubuntu.yml b/jenkins/client/job/image/ubuntu.yml
old mode 100755
new mode 100644
diff --git a/jenkins/client/job/kill_stuck_jobs.yml b/jenkins/client/job/kill_stuck_jobs.yml
new file mode 100644
index 0000000..57f0b3f
--- /dev/null
+++ b/jenkins/client/job/kill_stuck_jobs.yml
@@ -0,0 +1,25 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ kill-stuck-jobs:
+ name: kill-stuck-jobs
+ discard:
+ build:
+ keep_num: 3
+ artifact:
+ keep_num: 3
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: abort-long-running-jobs.groovy
+ trigger:
+ timer:
+ spec: "H H * * *"
+ param:
+ MAX_DURATION_IN_HOURS:
+ type: string
+ default: "24"
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
index 69cb4e7..e994323 100644
--- a/jenkins/client/job/opencontrail/build/generic.yml
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -11,43 +11,43 @@
os: ubuntu
dist: trusty
branch: R3.0.3.x
- ppa: mirantis/opencontrail-3.0.3
+ ppa: mirantis-opencontrail/opencontrail-3.0.3
upload_source_package: false
- buildname: oc31
os: ubuntu
dist: trusty
branch: R3.1
- ppa: mirantis/opencontrail-3.1
+ ppa: mirantis-opencontrail/opencontrail-3.1
upload_source_package: true
- buildname: oc31
os: ubuntu
dist: xenial
branch: R3.1
- ppa: mirantis/opencontrail-3.1
+ ppa: mirantis-opencontrail/opencontrail-3.1
upload_source_package: true
- buildname: oc311
os: ubuntu
dist: trusty
branch: R3.1.1.x
- ppa: mirantis/opencontrail-3.1.1
+ ppa: mirantis-opencontrail/opencontrail-3.1.1
upload_source_package: true
- buildname: oc311
os: ubuntu
dist: xenial
branch: R3.1.1.x
- ppa: mirantis/opencontrail-3.1.1
+ ppa: mirantis-opencontrail/opencontrail-3.1.1
upload_source_package: true
- buildname: oc32
os: ubuntu
dist: trusty
branch: R3.2
- ppa: mirantis/opencontrail-3.2
+ ppa: mirantis-opencontrail/opencontrail-3.2
upload_source_package: true
- buildname: oc32
os: ubuntu
dist: xenial
branch: R3.2
- ppa: mirantis/opencontrail-3.2
+ ppa: mirantis-opencontrail/opencontrail-3.2
upload_source_package: true
template:
discard:
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index 0ea3d7b..207ae6b 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -82,6 +82,7 @@
- name: postfix
- name: postgresql
- name: pritunl
+ - name: prometheus
- name: python
- name: rabbitmq
- name: reclass
@@ -98,6 +99,7 @@
- name: supervisor
- name: swift
- name: taiga
+ - name: telegraf
- name: varnish
- name: zookeeper
template:
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 5d5206b..6988392 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -80,6 +80,7 @@
- name: postfix
- name: postgresql
- name: pritunl
+ - name: prometheus
- name: python
- name: rabbitmq
- name: reclass
@@ -96,6 +97,7 @@
- name: supervisor
- name: swift
- name: taiga
+ - name: telegraf
- name: varnish
- name: zookeeper
template:
diff --git a/jenkins/client/job/test_pipelines.yml b/jenkins/client/job/test_pipelines.yml
index 3a4149c..02a64f2 100644
--- a/jenkins/client/job/test_pipelines.yml
+++ b/jenkins/client/job/test_pipelines.yml
@@ -3,41 +3,41 @@
client:
job:
test-mk-pipelines-pipeline:
- name: test-mk-pipelines
- discard:
- build:
- keep_num: 25
- artifact:
- keep_num: 25
- type: workflow-scm
- concurrent: true
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
- credentials: "gerrit"
- script: git-mirror-2way-pipeline.groovy
- trigger:
- gerrit:
- project:
- mk/mk-pipelines":
- branches:
- - master
- event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
- comment:
- - addedContains:
- commentAddedCommentContains: '(recheck|reverify)'
- param:
- CREDENTIALS_ID:
- type: string
- default: "gerrit"
- GRADLE_IMAGE:
- type: string
- default: niaquinto/gradle
- GRADLE_CMD:
- type: string
- default: check
+ name: test-mk-pipelines
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: git-mirror-2way-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ mk/mk-pipelines":
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ GRADLE_IMAGE:
+ type: string
+ default: niaquinto/gradle
+ GRADLE_CMD:
+ type: string
+ default: check
diff --git a/jenkins/master/config.yml b/jenkins/master/config.yml
index bb1998c..adb0c7c 100644
--- a/jenkins/master/config.yml
+++ b/jenkins/master/config.yml
@@ -91,3 +91,5 @@
- method hudson.model.Item getName
- method java.util.Map remove java.lang.Object
- staticMethod java.lang.System getProperty java.lang.String
+ - staticMethod java.lang.Integer valueOf java.lang.String
+ - method java.util.List subList int int