Merge pull request #184 from Mirantis/bind
Add bind on system level
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
index b1aa4de..6038976 100644
--- a/aptly/server/docker.yml
+++ b/aptly/server/docker.yml
@@ -15,7 +15,6 @@
gid: 501
home_dir: /srv/volumes/aptly
root_dir: /srv/volumes/aptly
- secure: true
no_config: true
gpg:
keyring: .gnupg/trustdb.gpg
diff --git a/ceilometer/agent/cluster.yml b/ceilometer/agent/cluster.yml
index d4ec5da..cfd93f7 100644
--- a/ceilometer/agent/cluster.yml
+++ b/ceilometer/agent/cluster.yml
@@ -3,6 +3,7 @@
parameters:
ceilometer:
agent:
+ region: ${_param:openstack_region}
enabled: true
version: ${_param:ceilometer_version}
secret: ${_param:ceilometer_secret_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/glusterfs/client/volume/aptly.yml b/glusterfs/client/volume/aptly.yml
index c894428..1c252e3 100644
--- a/glusterfs/client/volume/aptly.yml
+++ b/glusterfs/client/volume/aptly.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ aptly_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
aptly:
path: /srv/volumes/aptly
- server: ${_param:cluster_node01_address}
+ server: ${_param:aptly_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/artifactory.yml b/glusterfs/client/volume/artifactory.yml
index 056ff82..f9c951e 100644
--- a/glusterfs/client/volume/artifactory.yml
+++ b/glusterfs/client/volume/artifactory.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ artifactory_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
artifactory:
path: /srv/volumes/artifactory
- server: ${_param:cluster_node01_address}
+ server: ${_param:artifactory_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/gerrit.yml b/glusterfs/client/volume/gerrit.yml
index 9cbef86..6199aa6 100644
--- a/glusterfs/client/volume/gerrit.yml
+++ b/glusterfs/client/volume/gerrit.yml
@@ -1,10 +1,12 @@
parameters:
+ _param:
+ gerrit_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
gerrit:
path: /srv/volumes/gerrit
- server: ${_param:cluster_node01_address}
+ server: ${_param:gerrit_glusterfs_service_host}
opts: 'defaults'
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/jenkins.yml b/glusterfs/client/volume/jenkins.yml
index 5f804fe..cb6cea7 100644
--- a/glusterfs/client/volume/jenkins.yml
+++ b/glusterfs/client/volume/jenkins.yml
@@ -1,10 +1,12 @@
parameters:
+ _param:
+ jenkins_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
jenkins:
path: /srv/volumes/jenkins
- server: ${_param:cluster_node01_address}
+ server: ${_param:jenkins_glusterfs_service_host}
opts: 'defaults'
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/mysql.yml b/glusterfs/client/volume/mysql.yml
index ebd91fd..a6458c6 100644
--- a/glusterfs/client/volume/mysql.yml
+++ b/glusterfs/client/volume/mysql.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ mysql_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
mysql:
path: /srv/volumes/mysql
- server: ${_param:cluster_node01_address}
+ server: ${_param:mysql_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/openldap.yml b/glusterfs/client/volume/openldap.yml
index ada164e..792f15f 100644
--- a/glusterfs/client/volume/openldap.yml
+++ b/glusterfs/client/volume/openldap.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ openldap_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
openldap:
path: /srv/volumes/openldap
- server: ${_param:cluster_node01_address}
+ server: ${_param:openldap_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/postgresql.yml b/glusterfs/client/volume/postgresql.yml
index 1867d82..d2337e7 100644
--- a/glusterfs/client/volume/postgresql.yml
+++ b/glusterfs/client/volume/postgresql.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ postgresql_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
postgresql:
path: /srv/volumes/postgresql
- server: ${_param:cluster_node01_address}
+ server: ${_param:postgresql_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/registry.yml b/glusterfs/client/volume/registry.yml
index 4b5d664..875895a 100644
--- a/glusterfs/client/volume/registry.yml
+++ b/glusterfs/client/volume/registry.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ registry_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
registry:
path: /srv/volumes/registry
- server: ${_param:cluster_node01_address}
+ server: ${_param:registry_glusterfs_service_host}
opts: 'defaults'
diff --git a/glusterfs/client/volume/salt.yml b/glusterfs/client/volume/salt.yml
index f94b316..c3a9570 100644
--- a/glusterfs/client/volume/salt.yml
+++ b/glusterfs/client/volume/salt.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ salt_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
saltmaster:
path: /etc/salt/pki/master
- server: ${_param:cluster_node01_address}
+ server: ${_param:salt_glusterfs_service_host}
opts: 'defaults'
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index fdc90b9..f411c39 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -14,25 +14,33 @@
port: ${_param:jenkins_master_port}
user: ${_param:jenkins_client_user}
password: ${_param:jenkins_client_password}
- plugins:
- slack:
- extended-choice-parameter:
- rebuild:
- test-stability:
- build-blocker-plugin:
- heavy-job:
- workflow-cps:
- workflow-remote-loader:
+ plugin:
+ 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:
+ 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/aptly.yml b/jenkins/client/job/aptly.yml
new file mode 100644
index 0000000..c428b84
--- /dev/null
+++ b/jenkins/client/job/aptly.yml
@@ -0,0 +1,73 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ aptly:
+ name: aptly-{{operation}}-{{dist}}-{{source}}-{{target}}
+ jobs:
+ - operation: promote
+ diff_only: false
+ dist: trusty
+ source: nightly
+ target: testing
+ - operation: promote
+ dist: trusty
+ source: testing
+ target: stable
+ - operation: promote
+ dist: xenial
+ source: nightly
+ target: testing
+ - operation: promote
+ dist: xenial
+ source: testing
+ target: stable
+ - operation: diff
+ diff_only: true
+ dist: trusty
+ source: nightly
+ target: testing
+ - operation: diff
+ diff_only: true
+ dist: trusty
+ source: testing
+ target: stable
+ - operation: diff
+ diff_only: true
+ dist: xenial
+ source: nightly
+ target: testing
+ - operation: diff
+ diff_only: true
+ dist: xenial
+ source: testing
+ target: stable
+ template:
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: aptly-promote-pipeline.groovy
+ param:
+ SOURCE:
+ type: string
+ default: "{{dist}}/{{source}}"
+ TARGET:
+ type: string
+ default: "{{dist}}/{{target}}"
+ RECREATE:
+ type: boolean
+ default: 'false'
+ DIFF_ONLY:
+ type: boolean
+ default: '{{diff_only}}'
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
diff --git a/jenkins/client/job/debian/init.yml b/jenkins/client/job/debian/init.yml
new file mode 100644
index 0000000..d0b40a0
--- /dev/null
+++ b/jenkins/client/job/debian/init.yml
@@ -0,0 +1,2 @@
+classes:
+ - system.jenkins.client.job.debian.packages
diff --git a/jenkins/client/job/debian/packages/extra.yml b/jenkins/client/job/debian/packages/extra.yml
new file mode 100644
index 0000000..941c9b4
--- /dev/null
+++ b/jenkins/client/job/debian/packages/extra.yml
@@ -0,0 +1,115 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian:
+ name: build-debian-{{package}}-ubuntu-{{dist}}
+ jobs:
+ - package: librdkafka
+ dist: trusty
+ - package: python-kafka
+ dist: trusty
+ - package: liburcu
+ dist: trusty
+ - package: python-kazoo
+ dist: trusty
+ - package: python-pathlib
+ dist: trusty
+ - package: kafka
+ dist: trusty
+ - package: python-geventhttpclient
+ dist: trusty
+ - package: python-consistent-hash
+ dist: trusty
+ - package: libipfix
+ dist: trusty
+ - package: python-ncclient
+ dist: trusty
+ - package: python-pycassa
+ dist: trusty
+ - package: python-xmltodict
+ dist: trusty
+ - package: python-backports.ssl-match-hostname
+ dist: trusty
+ - package: python-certifi
+ dist: trusty
+ - package: python-docker
+ dist: trusty
+ - package: python-cassandra-driver
+ dist: trusty
+ - package: python-redis
+ dist: trusty
+ - package: python-tabulate
+ dist: trusty
+ - package: cassandra-cpp-driver
+ dist: trusty
+ - package: libuv1
+ dist: trusty
+ - package: python-sseclient
+ dist: trusty
+ - package: librdkafka
+ dist: xenial
+ - package: python-kafka
+ dist: xenial
+ - package: python-geventhttpclient
+ dist: xenial
+ - package: python-consistent-hash
+ dist: xenial
+ - package: libipfix
+ dist: xenial
+ - package: cassandra-cpp-driver
+ dist: xenial
+ - package: python-sseclient
+ dist: xenial
+ template:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ debian/{{package}}:
+ branches:
+ - debian/{{dist}}
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/debian/{{package}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "debian/{{dist}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "ubuntu-{{dist}}-extra"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/debian/packages/horizon/init.yml b/jenkins/client/job/debian/packages/horizon/init.yml
new file mode 100644
index 0000000..a899680
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/init.yml
@@ -0,0 +1,3 @@
+classes:
+ - system.jenkins.client.job.debian.packages.horizon.modules
+ - system.jenkins.client.job.debian.packages.horizon.themes
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
new file mode 100644
index 0000000..f63032c
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -0,0 +1,82 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-horizon-module:
+ name: build-debian-horizon-module-{{name}}-{{os_version}}-{{os}}-{{dist}}
+ jobs:
+ # Trusty
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: master
+ # Xenial
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: master
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/horizon-modules/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{os_version}}1{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{os_version}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/debian/packages/horizon/themes.yml b/jenkins/client/job/debian/packages/horizon/themes.yml
new file mode 100644
index 0000000..a8f8ac2
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/themes.yml
@@ -0,0 +1,82 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-horizon-theme:
+ name: build-debian-horizon-theme-{{name}}-{{os_version}}-{{os}}-{{dist}}
+ jobs:
+ # Trusty
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: master
+ # Xenial
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: master
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/horizon-themes/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{os_version}}1{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{os_version}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/debian/packages/init.yml b/jenkins/client/job/debian/packages/init.yml
new file mode 100644
index 0000000..56f6f12
--- /dev/null
+++ b/jenkins/client/job/debian/packages/init.yml
@@ -0,0 +1,5 @@
+classes:
+ - system.jenkins.client.job.debian.packages.extra
+ - system.jenkins.client.job.debian.packages.salt
+ - system.jenkins.client.job.debian.packages.salt-multi
+ - system.jenkins.client.job.debian.packages.horizon
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
new file mode 100644
index 0000000..f703e7b
--- /dev/null
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -0,0 +1,111 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-salt-multibranch:
+ name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+ jobs:
+ - name: ceilometer
+ dist: trusty
+ - name: cinder
+ dist: trusty
+ - name: glance
+ dist: trusty
+ - name: heat
+ dist: trusty
+ - name: horizon
+ dist: trusty
+ - name: keystone
+ dist: trusty
+ - name: kubernetes
+ dist: trusty
+ - name: neutron
+ dist: trusty
+ - name: nova
+ dist: trusty
+ - name: swift
+ dist: trusty
+ - name: ceilometer
+ dist: xenial
+ - name: cinder
+ dist: xenial
+ - name: glance
+ dist: xenial
+ - name: heat
+ dist: xenial
+ - name: horizon
+ dist: xenial
+ - name: keystone
+ dist: xenial
+ - name: kubernetes
+ dist: xenial
+ - name: neutron
+ dist: xenial
+ - name: nova
+ dist: xenial
+ - name: swift
+ dist: xenial
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ - debian/{{dist}}
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "master"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_BRANCH:
+ type: string
+ default: 'debian/{{dist}}'
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "ubuntu-{{dist}}-salt"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
new file mode 100644
index 0000000..5cbbe7d
--- /dev/null
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -0,0 +1,410 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-salt-formula:
+ name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+ jobs:
+ - name: aodh
+ dist: trusty
+ - name: apache
+ dist: trusty
+ - name: aptly
+ dist: trusty
+ - name: artifactory
+ dist: trusty
+ - name: avinetworks
+ dist: trusty
+ - name: backupninja
+ dist: trusty
+ - name: billometer
+ dist: trusty
+ - name: bind
+ dist: trusty
+ - name: bird
+ dist: trusty
+ - name: cadf
+ dist: trusty
+ - name: calico
+ dist: trusty
+ - name: cassandra
+ dist: trusty
+ - name: ccp
+ dist: trusty
+ - name: ceph
+ dist: trusty
+ - name: chrony
+ dist: trusty
+ - name: collectd
+ dist: trusty
+ - name: dekapod
+ dist: trusty
+ - name: docker
+ dist: trusty
+ - name: dovecot
+ dist: trusty
+ - name: elasticsearch
+ dist: trusty
+ - name: etcd
+ dist: trusty
+ - name: foreman
+ dist: trusty
+ - name: freeipa
+ dist: trusty
+ - name: galera
+ dist: trusty
+ - name: gerrit
+ dist: trusty
+ - name: git
+ dist: trusty
+ - name: gitlab
+ dist: trusty
+ - name: glusterfs
+ dist: trusty
+ - name: grafana
+ dist: trusty
+ - name: graphite
+ dist: trusty
+ - name: haproxy
+ dist: trusty
+ - name: heka
+ dist: trusty
+ - name: influxdb
+ dist: trusty
+ - name: iptables
+ dist: trusty
+ - name: isc-dhcp
+ dist: trusty
+ - name: java
+ dist: trusty
+ - name: jenkins
+ dist: trusty
+ - name: kedb
+ dist: trusty
+ - name: keepalived
+ dist: trusty
+ - name: kibana
+ dist: trusty
+ - name: letsencrypt
+ dist: trusty
+ - name: libvirt
+ dist: trusty
+ - name: linux
+ dist: trusty
+ - name: logrotate
+ dist: trusty
+ - name: maas
+ dist: trusty
+ - name: magnum
+ dist: trusty
+ - name: memcached
+ dist: trusty
+ - name: midonet
+ dist: trusty
+ - name: monasca
+ dist: trusty
+ - name: mongodb
+ dist: trusty
+ - name: murano
+ dist: trusty
+ - name: mysql
+ dist: trusty
+ - name: nagios
+ dist: trusty
+ - name: network
+ dist: trusty
+ - name: nfs
+ dist: trusty
+ - name: nginx
+ dist: trusty
+ - name: nodejs
+ dist: trusty
+ - name: ntp
+ dist: trusty
+ - name: opencontrail
+ dist: trusty
+ - name: openssh
+ dist: trusty
+ - name: openvpn
+ dist: trusty
+ - name: openvstorage
+ dist: trusty
+ - name: owncloud
+ dist: trusty
+ - name: postfix
+ dist: trusty
+ - name: postgresql
+ dist: trusty
+ - name: pritunl
+ dist: trusty
+ - name: prometheus
+ dist: trusty
+ - name: python
+ dist: trusty
+ - name: rabbitmq
+ dist: trusty
+ - name: reclass
+ dist: trusty
+ - name: redis
+ dist: trusty
+ - name: roundcube
+ dist: trusty
+ - name: rsync
+ dist: trusty
+ - name: rsyslog
+ dist: trusty
+ - name: sahara
+ dist: trusty
+ - name: salt
+ dist: trusty
+ - name: sensu
+ dist: trusty
+ - name: sentry
+ dist: trusty
+ - name: sphinx
+ dist: trusty
+ - name: statsd
+ dist: trusty
+ - name: supervisor
+ dist: trusty
+ - name: taiga
+ dist: trusty
+ - name: telegraf
+ dist: trusty
+ - name: varnish
+ dist: trusty
+ - name: zookeeper
+ dist: trusty
+ - name: aodh
+ dist: xenial
+ - name: apache
+ dist: xenial
+ - name: aptly
+ dist: xenial
+ - name: artifactory
+ dist: xenial
+ - name: avinetworks
+ dist: xenial
+ - name: backupninja
+ dist: xenial
+ - name: billometer
+ dist: xenial
+ - name: bind
+ dist: xenial
+ - name: bird
+ dist: xenial
+ - name: cadf
+ dist: xenial
+ - name: calico
+ dist: xenial
+ - name: cassandra
+ dist: xenial
+ - name: ccp
+ dist: xenial
+ - name: ceph
+ dist: xenial
+ - name: chrony
+ dist: xenial
+ - name: collectd
+ dist: xenial
+ - name: dekapod
+ dist: xenial
+ - name: docker
+ dist: xenial
+ - name: dovecot
+ dist: xenial
+ - name: elasticsearch
+ dist: xenial
+ - name: etcd
+ dist: xenial
+ - name: foreman
+ dist: xenial
+ - name: freeipa
+ dist: xenial
+ - name: galera
+ dist: xenial
+ - name: gerrit
+ dist: xenial
+ - name: git
+ dist: xenial
+ - name: gitlab
+ dist: xenial
+ - name: glusterfs
+ dist: xenial
+ - name: grafana
+ dist: xenial
+ - name: graphite
+ dist: xenial
+ - name: haproxy
+ dist: xenial
+ - name: heka
+ dist: xenial
+ - name: influxdb
+ dist: xenial
+ - name: iptables
+ dist: xenial
+ - name: isc-dhcp
+ dist: xenial
+ - name: java
+ dist: xenial
+ - name: jenkins
+ dist: xenial
+ - name: kedb
+ dist: xenial
+ - name: keepalived
+ dist: xenial
+ - name: kibana
+ dist: xenial
+ - name: letsencrypt
+ dist: xenial
+ - name: libvirt
+ dist: xenial
+ - name: linux
+ dist: xenial
+ - name: logrotate
+ dist: xenial
+ - name: maas
+ dist: xenial
+ - name: magnum
+ dist: xenial
+ - name: memcached
+ dist: xenial
+ - name: midonet
+ dist: xenial
+ - name: monasca
+ dist: xenial
+ - name: mongodb
+ dist: xenial
+ - name: murano
+ dist: xenial
+ - name: mysql
+ dist: xenial
+ - name: nagios
+ dist: xenial
+ - name: network
+ dist: xenial
+ - name: nfs
+ dist: xenial
+ - name: nginx
+ dist: xenial
+ - name: nodejs
+ dist: xenial
+ - name: ntp
+ dist: xenial
+ - name: opencontrail
+ dist: xenial
+ - name: openssh
+ dist: xenial
+ - name: openvpn
+ dist: xenial
+ - name: openvstorage
+ dist: xenial
+ - name: owncloud
+ dist: xenial
+ - name: postfix
+ dist: xenial
+ - name: postgresql
+ dist: xenial
+ - name: pritunl
+ dist: xenial
+ - name: prometheus
+ dist: xenial
+ - name: python
+ dist: xenial
+ - name: rabbitmq
+ dist: xenial
+ - name: reclass
+ dist: xenial
+ - name: redis
+ dist: xenial
+ - name: roundcube
+ dist: xenial
+ - name: rsync
+ dist: xenial
+ - name: rsyslog
+ dist: xenial
+ - name: sahara
+ dist: xenial
+ - name: salt
+ dist: xenial
+ - name: sensu
+ dist: xenial
+ - name: sentry
+ dist: xenial
+ - name: sphinx
+ dist: xenial
+ - name: statsd
+ dist: xenial
+ - name: supervisor
+ dist: xenial
+ - name: taiga
+ dist: xenial
+ - name: telegraf
+ dist: xenial
+ - name: varnish
+ dist: xenial
+ - name: zookeeper
+ dist: xenial
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "master"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "ubuntu-{{dist}}-salt"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/deploy/init.yml b/jenkins/client/job/deploy/init.yml
new file mode 100644
index 0000000..d725c20
--- /dev/null
+++ b/jenkins/client/job/deploy/init.yml
@@ -0,0 +1,3 @@
+classes:
+ - system.jenkins.client.job.deploy.lab
+ - system.jenkins.client.job.deploy.update
diff --git a/jenkins/client/job/deploy/lab/cicd.yml b/jenkins/client/job/deploy/lab/cicd.yml
new file mode 100644
index 0000000..0aa442e
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/cicd.yml
@@ -0,0 +1,77 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ deploy_heat_cicd:
+ name: deploy-heat-{{name}}
+ jobs:
+ - name: cicd-lab-dev
+ lab: cicd_lab_dev
+ template:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy {{name}} heat stack"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: cicd-lab-pipeline.groovy
+ param:
+ # 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: "master"
+ 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'
+ description: "Delete heat stack at the end of job"
+ HEAT_STACK_REUSE:
+ type: boolean
+ default: 'false'
+ description: "Reuse existing stack and only orchestrate deployment"
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SSH_PUBLIC_KEY:
+ type: string
+ description: "User's public SSH key to be able to login when stack is deployed"
+
+ # 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"
diff --git a/jenkins/client/job/deploy/lab/demo.yml b/jenkins/client/job/deploy/lab/demo.yml
new file mode 100644
index 0000000..3ea8a40
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/demo.yml
@@ -0,0 +1,20 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy_kafka_demo:
+ type: workflow-scm
+ concurrent: false
+ display_name: "Kafka demo"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: kafka-demo.groovy
+ param:
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_URL:
+ type: string
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/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/update/saltenv.yml b/jenkins/client/job/deploy/update/saltenv.yml
new file mode 100644
index 0000000..0303aea
--- /dev/null
+++ b/jenkins/client/job/deploy/update/saltenv.yml
@@ -0,0 +1,32 @@
+#
+# 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:
+ update_salt_env:
+ name: deploy-update-{{name}}
+ jobs:
+ - 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
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ credentials: "gerrit"
+ script: Jenkinsfile
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "{{salt_url}}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "{{salt_credentials}}"
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
new file mode 100644
index 0000000..357bc8e
--- /dev/null
+++ b/jenkins/client/job/gating.yml
@@ -0,0 +1,49 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ gate-gerrit-namespace:
+ name: gate-gerrit-{{name}}
+ jobs:
+ - name: mk
+ - name: debian
+ - name: contrail
+ - name: salt-models
+ - name: salt-formulas
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: gating-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ '{{name}}\/.*':
+ compare_type: REG_EXP
+ branches:
+ - master
+ skip_vote:
+ - successful
+ - failed
+ - unstable
+ - not_built
+ event:
+ comment:
+ - added:
+ verdictCategory: 'Workflow'
+ commentAddedTriggerApprovalValue: '+1'
+ param:
+ JOBS_NAMESPACE:
+ type: string
+ default: "{{name}}"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
\ No newline at end of file
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/init.yml b/jenkins/client/job/git-mirrors/upstream/init.yml
new file mode 100644
index 0000000..e11e63c
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/init.yml
@@ -0,0 +1,48 @@
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs: []
+ jenkins:
+ client:
+ job_template:
+ git_mirror_upstream_common:
+ name: git-mirror-upstream-{{name}}
+ jobs: ${_param:jenkins_git_mirror_upstream_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:
+ gerrit:
+ project:
+ "{{downstream}}":
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/{{downstream}}"
+ TARGET_URL:
+ type: string
+ default: "{{upstream}}"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
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/centos.yml b/jenkins/client/job/image/centos.yml
new file mode 100644
index 0000000..852f695
--- /dev/null
+++ b/jenkins/client/job/image/centos.yml
@@ -0,0 +1,72 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-centos-7:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Centos 7"
+ param:
+ BUILD_OS:
+ type: string
+ default: "centos-7"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox010.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/image/debian.yml b/jenkins/client/job/image/debian.yml
new file mode 100644
index 0000000..7c996f3
--- /dev/null
+++ b/jenkins/client/job/image/debian.yml
@@ -0,0 +1,72 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-debian-8:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Debian 8 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "debian-8"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/image/ubuntu.yml b/jenkins/client/job/image/ubuntu.yml
new file mode 100644
index 0000000..504702c
--- /dev/null
+++ b/jenkins/client/job/image/ubuntu.yml
@@ -0,0 +1,145 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-ubuntu-14-04:
+ type: workflow-scm
+ concurrent: false
+ discard:
+ build:
+ keep_num: 5
+ keep_days: 5
+ artifact:
+ keep_num: 6
+ keep_days: 6
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Ubuntu 14.04 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "ubuntu-14.04"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
+ build-image-ubuntu-16-04:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Ubuntu 16.04 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "ubuntu-16.04"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/opencontrail/build/dpdk-extra.yml b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
new file mode 100644
index 0000000..0ac7b50
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
@@ -0,0 +1,75 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-opencontrail-dpdk-extra:
+ name: build-opencontrail-dpdk-extra-{{branch_name}}-{{os}}-{{dist}}
+ jobs:
+ - os: ubuntu
+ dist: trusty
+ branch_name: kilo
+ branch_real_name: kilo
+ - os: ubuntu
+ dist: trusty
+ branch_name: liberty
+ branch_real_name: liberty-multiqueue
+ - os: ubuntu
+ dist: trusty
+ branch_name: mitaka
+ branch_real_name: mitaka
+ - os: ubuntu
+ dist: xenial
+ branch_name: mitaka
+ branch_real_name: mitaka
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: build-extra-dpdk-pipeline.groovy
+ quiet_period: 120
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-dpdk-extra-packages:
+ branches:
+ - "{{branch_real_name}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/contrail-dpdk-extra-packages.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch_real_name}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{branch_name}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
new file mode 100644
index 0000000..69cb4e7
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -0,0 +1,162 @@
+parameters:
+ _param:
+ jenkins_contrail_pipeline: "${_param:jenkins_gerrit_url}/contrail/contrail-pipeline"
+ jenkins:
+ client:
+ job_template:
+ build-opencontrail:
+ name: build-opencontrail-{{buildname}}-{{os}}-{{dist}}
+ jobs:
+ - buildname: oc303
+ os: ubuntu
+ dist: trusty
+ branch: R3.0.3.x
+ ppa: mirantis/opencontrail-3.0.3
+ upload_source_package: false
+ - buildname: oc31
+ os: ubuntu
+ dist: trusty
+ branch: R3.1
+ ppa: mirantis/opencontrail-3.1
+ upload_source_package: true
+ - buildname: oc31
+ os: ubuntu
+ dist: xenial
+ branch: R3.1
+ ppa: mirantis/opencontrail-3.1
+ upload_source_package: true
+ - buildname: oc311
+ os: ubuntu
+ dist: trusty
+ branch: R3.1.1.x
+ ppa: mirantis/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
+ upload_source_package: true
+ - buildname: oc32
+ os: ubuntu
+ dist: trusty
+ branch: R3.2
+ ppa: mirantis/opencontrail-3.2
+ upload_source_package: true
+ - buildname: oc32
+ os: ubuntu
+ dist: xenial
+ branch: R3.2
+ ppa: mirantis/opencontrail-3.2
+ upload_source_package: true
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: false
+ quiet_period: 120
+ scm:
+ type: git
+ url: "${_param:jenkins_contrail_pipeline}"
+ credentials: "gerrit"
+ github:
+ url: https://github.com/Mirantis/ccp-contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-build:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-vrouter:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-third-party:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-generateDS:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-sandesh:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-packages:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-vif-driver:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-neutron-plugin:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-extensions:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-heat:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-storage:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-server-manager:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-core:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-webui-third-party:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{buildname}}"
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ KEEP_REPOS:
+ type: boolean
+ default: 'false'
+ description: "Don't cleanup on failure"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ PPA:
+ type: string
+ default: "{{ppa}}"
+ UPLOAD_SOURCE_PACKAGE:
+ type: boolean
+ default: '{{upload_source_package}}'
diff --git a/jenkins/client/job/opencontrail/build/init.yml b/jenkins/client/job/opencontrail/build/init.yml
new file mode 100644
index 0000000..759d78a
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/init.yml
@@ -0,0 +1,3 @@
+classes:
+ - system.jenkins.client.job.opencontrail.build.generic
+ - system.jenkins.client.job.opencontrail.build.dpdk-extra
diff --git a/jenkins/client/job/opencontrail/git-mirrors/2way.yml b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
new file mode 100644
index 0000000..0ecb83f
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
@@ -0,0 +1,33 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job:
+ git-mirror-2way-contrail-kubernetes:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: git-mirror-2way-pipeline.groovy
+ github:
+ url: "https://github.com/Mirantis/contrail-kubernetes"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/contrail-kubernetes.git"
+ TARGET_URL:
+ type: string
+ default: "https://github.com/Mirantis/contrail-kubernetes.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: ${_param:contrail_kubernetes_branches}
diff --git a/jenkins/client/job/opencontrail/git-mirrors/downstream.yml b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
new file mode 100644
index 0000000..0cf3a33
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
@@ -0,0 +1,93 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git-mirror:
+ name: git-mirror-{{name}}
+ jobs:
+ - name: contrail-build
+ - name: contrail-controller
+ - name: contrail-vrouter
+ - name: contrail-third-party
+ - name: contrail-generateDS
+ - name: contrail-sandesh
+ - name: contrail-packages
+ - name: contrail-nova-vif-driver
+ - name: contrail-neutron-plugin
+ - name: contrail-nova-extensions
+ - name: contrail-ceilometer-plugin
+ - name: contrail-heat
+ - name: contrail-web-storage
+ - name: contrail-web-server-manager
+ - name: contrail-web-controller
+ - name: contrail-web-core
+ - name: contrail-webui-third-party
+ - name: contrail-dpdk-extra-packages
+ - name: contrail-kubernetes
+ 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
+ github:
+ url: "https://github.com/Juniper/{{name}}"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/Juniper/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: ${_param:contrail_branches}
+ job:
+ git-mirror-ifmap-python-client:
+ 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
+ github:
+ url: "https://github.com/tcpcloud/ifmap-python-client"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/tcpcloud/ifmap-python-client.git"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/ifmap-python-client.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
diff --git a/jenkins/client/job/opencontrail/git-mirrors/init.yml b/jenkins/client/job/opencontrail/git-mirrors/init.yml
new file mode 100644
index 0000000..4a06885
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.opencontrail.git-mirrors.downstream
+ - system.jenkins.client.job.opencontrail.git-mirrors.upstream
+ - system.jenkins.client.job.opencontrail.git-mirrors.2way
diff --git a/jenkins/client/job/opencontrail/git-mirrors/upstream.yml b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
new file mode 100644
index 0000000..ece2182
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
@@ -0,0 +1,189 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins_contrail_pipeline: "${_param:jenkins_gerrit_url}/contrail/contrail-pipeline"
+ jenkins:
+ client:
+ job_template:
+ git-mirror-upstream:
+ name: git-mirror-upstream-{{name}}
+ jobs:
+ - name: contrail-build
+ branches: ${_param:contrail_branches}
+ - name: contrail-controller
+ branches: ${_param:contrail_branches}
+ - name: contrail-vrouter
+ branches: ${_param:contrail_branches}
+ - name: contrail-third-party
+ branches: ${_param:contrail_branches}
+ - name: contrail-generateDS
+ branches: ${_param:contrail_branches}
+ - name: contrail-sandesh
+ branches: ${_param:contrail_branches}
+ - name: contrail-packages
+ branches: ${_param:contrail_branches}
+ - name: contrail-nova-vif-driver
+ branches: ${_param:contrail_branches}
+ - name: contrail-neutron-plugin
+ branches: ${_param:contrail_branches}
+ - name: contrail-nova-extensions
+ branches: ${_param:contrail_branches}
+ - name: contrail-ceilometer-plugin
+ branches: ${_param:contrail_ceilometer_plugin_branches}
+ - name: contrail-heat
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-storage
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-server-manager
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-controller
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-core
+ branches: ${_param:contrail_branches}
+ - name: contrail-webui-third-party
+ branches: ${_param:contrail_branches}
+ - name: contrail-dpdk-extra-packages
+ branches: ${_param:contrail_dpdk_extra_branches}
+ 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
+ github:
+ url: "https://github.com/Mirantis/{{name}}"
+ trigger:
+ github:
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
+ job:
+ git-mirror-upstream-ifmap-python-client:
+ 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
+ github:
+ url: "https://github.com/tcpcloud/ifmap-python-client"
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/ifmap-python-client.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/ifmap-python-client.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
+ # XXX: this one ccp- prefixed is kind-of obsolete and should be
+ # removed
+ git-mirror-upstream-ccp-contrail-pipeline:
+ 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
+ github:
+ url: https://github.com/Mirantis/ccp-contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_contrail_pipeline}"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/ccp-contrail-pipeline.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: master
+ git-mirror-upstream-contrail-pipeline:
+ 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
+ github:
+ url: https://github.com/Mirantis/contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_contrail_pipeline}"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/contrail-pipeline.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: master
diff --git a/jenkins/client/job/opencontrail/init.yml b/jenkins/client/job/opencontrail/init.yml
new file mode 100644
index 0000000..72ee4fe
--- /dev/null
+++ b/jenkins/client/job/opencontrail/init.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.client.job.opencontrail.build
+ - system.jenkins.client.job.opencontrail.git-mirrors
+parameters:
+ _param:
+ contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,master"
+ contrail_kubernetes_branches: "master,release-1.2"
+ contrail_dpdk_extra_branches: "mitaka,kilo,liberty-multiqueue"
+ contrail_ceilometer_plugin_branches: "master"
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
new file mode 100644
index 0000000..207ae6b
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -0,0 +1,136 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git-mirror-2way-salt-formula:
+ name: git-mirror-2way-salt-formula-{{name}}
+ jobs:
+ - name: aodh
+ - name: apache
+ - name: aptly
+ - name: artifactory
+ - name: backupninja
+ - name: avinetworks
+ - name: billometer
+ - name: bind
+ - name: bird
+ - name: cadf
+ - name: calico
+ - name: cassandra
+ - name: ccp
+ - name: ceilometer
+ - name: ceph
+ - name: chrony
+ - name: cinder
+ - name: collectd
+ - name: dekapod
+ - name: docker
+ - name: dovecot
+ - name: elasticsearch
+ - name: etcd
+ - name: foreman
+ - name: freeipa
+ - name: galera
+ - name: gerrit
+ - name: git
+ - name: gitlab
+ - name: glance
+ - name: glusterfs
+ - name: grafana
+ - name: graphite
+ - name: haproxy
+ - name: heat
+ - name: heka
+ - name: horizon
+ - name: influxdb
+ - name: iptables
+ - name: isc-dhcp
+ - name: java
+ - name: jenkins
+ - name: kedb
+ - name: keepalived
+ - name: keystone
+ - name: kibana
+ - name: kubernetes
+ - name: letsencrypt
+ - name: libvirt
+ - name: linux
+ - name: logrotate
+ - name: maas
+ - name: magnum
+ - name: memcached
+ - name: midonet
+ - name: monasca
+ - name: mongodb
+ - name: murano
+ - name: mysql
+ - name: nagios
+ - name: network
+ - name: neutron
+ - name: nfs
+ - name: nginx
+ - name: nodejs
+ - name: nova
+ - name: ntp
+ - name: opencontrail
+ - name: openssh
+ - name: openvpn
+ - name: openvstorage
+ - name: owncloud
+ - name: postfix
+ - name: postgresql
+ - name: pritunl
+ - name: prometheus
+ - name: python
+ - name: rabbitmq
+ - name: reclass
+ - name: redis
+ - name: roundcube
+ - name: rsync
+ - name: rsyslog
+ - name: sahara
+ - name: salt
+ - name: sensu
+ - name: sentry
+ - name: sphinx
+ - name: statsd
+ - name: supervisor
+ - name: swift
+ - name: taiga
+ - name: telegraf
+ - name: varnish
+ - name: zookeeper
+ 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-2way-pipeline.groovy
+ github:
+ url: "https://github.com/salt-formulas/salt-formula-{{name}}"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:salt-formulas/salt-formula-{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: ${_param:salt_formulas_branches}
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/init.yml b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
new file mode 100644
index 0000000..9b1d77d
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
@@ -0,0 +1,5 @@
+classes:
+ - system.jenkins.client.job.salt-formulas.git-mirrors.2way
+parameters:
+ _param:
+ salt_formulas_branches: master
diff --git a/jenkins/client/job/salt-formulas/init.yml b/jenkins/client/job/salt-formulas/init.yml
new file mode 100644
index 0000000..c498032
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.salt-formulas.git-mirrors
+ - system.jenkins.client.job.salt-formulas.tests
+ - system.jenkins.client.job.salt-formulas.release
diff --git a/jenkins/client/job/salt-formulas/release.yml b/jenkins/client/job/salt-formulas/release.yml
new file mode 100644
index 0000000..c686e6e
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/release.yml
@@ -0,0 +1,26 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ release-salt-formulas:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: release-salt-formulas-pipeline.groovy
+ github:
+ url: "https://github.com/salt-formulas/salt-formulas"
+ param:
+ TAG:
+ type: string
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/salt-formulas/salt-formulas.git"
+ GERRIT_BASE:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
new file mode 100644
index 0000000..6988392
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -0,0 +1,140 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ test-salt-formula:
+ name: test-salt-formula-{{name}}-latest
+ jobs:
+ - name: aodh
+ - name: apache
+ - name: aptly
+ - name: artifactory
+ - name: backupninja
+ - name: avinetworks
+ - name: billometer
+ - name: bind
+ - name: bird
+ - name: cadf
+ - name: calico
+ - name: cassandra
+ - name: ccp
+ - name: ceilometer
+ - name: ceph
+ - name: chrony
+ - name: cinder
+ - name: collectd
+ - name: dekapod
+ - name: docker
+ - name: dovecot
+ - name: elasticsearch
+ - name: etcd
+ - name: foreman
+ - name: freeipa
+ - name: galera
+ - name: gerrit
+ - name: git
+ - name: gitlab
+ - name: glance
+ - name: glusterfs
+ - name: grafana
+ - name: graphite
+ - name: haproxy
+ - name: heat
+ - name: heka
+ - name: horizon
+ - name: influxdb
+ - name: iptables
+ - name: isc-dhcp
+ - name: java
+ - name: jenkins
+ - name: kedb
+ - name: keepalived
+ - name: keystone
+ - name: kibana
+ - name: kubernetes
+ - name: letsencrypt
+ - name: libvirt
+ - name: linux
+ - name: logrotate
+ - name: maas
+ - name: magnum
+ - name: memcached
+ - name: midonet
+ - name: monasca
+ - name: mongodb
+ - name: murano
+ - name: mysql
+ - name: nagios
+ - name: network
+ - name: neutron
+ - name: nfs
+ - name: nginx
+ - name: nodejs
+ - name: nova
+ - name: ntp
+ - name: opencontrail
+ - name: openssh
+ - name: openvpn
+ - name: openvstorage
+ - name: owncloud
+ - name: postfix
+ - name: postgresql
+ - name: pritunl
+ - name: prometheus
+ - name: python
+ - name: rabbitmq
+ - name: reclass
+ - name: redis
+ - name: roundcube
+ - name: rsync
+ - name: rsyslog
+ - name: sahara
+ - name: salt
+ - name: sensu
+ - name: sentry
+ - name: sphinx
+ - name: statsd
+ - name: supervisor
+ - name: swift
+ - name: taiga
+ - name: telegraf
+ - name: varnish
+ - name: zookeeper
+ template:
+ 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: test-salt-formulas-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ SALT_VERSION:
+ type: string
+ default: "latest"
+ SALT_OPTS:
+ type: string
+ default: "--force-color"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
diff --git a/jenkins/client/job/salt-models/git-mirrors.yml b/jenkins/client/job/salt-models/git-mirrors.yml
new file mode 100644
index 0000000..7ee7b94
--- /dev/null
+++ b/jenkins/client/job/salt-models/git-mirrors.yml
@@ -0,0 +1,53 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git_mirror_2way_salt_model:
+ name: git-mirror-2way-salt-model-{{name}}
+ param:
+ name:
+ - reclass-system
+ - slovaktelekom
+ - stacklight
+ - statens
+ template:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: git-mirror-2way-pipeline.groovy
+ github:
+ url: "https://github.com/Mirantis/{{name}}-salt-model"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-models/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/{{name}}-salt-model.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
diff --git a/jenkins/client/job/salt-models/init.yml b/jenkins/client/job/salt-models/init.yml
new file mode 100644
index 0000000..9a98130
--- /dev/null
+++ b/jenkins/client/job/salt-models/init.yml
@@ -0,0 +1,6 @@
+classes:
+ - system.jenkins.client.job.salt-models.git-mirrors
+ - system.jenkins.client.job.salt-models.tests
+parameters:
+ _param:
+ salt_formulas_branches: master
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
new file mode 100644
index 0000000..e451daf
--- /dev/null
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -0,0 +1,85 @@
+parameters:
+ _param:
+ jenkins:
+ client:
+ job_template:
+ test_salt_model:
+ name: test-salt-model-{{name}}
+ param:
+ name:
+ - mcp-baremetal-lab
+ - mcp-virtual-lab
+ - mk-ci
+ - qa
+ - stacklight
+ - training
+ template:
+ type: workflow-scm
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-salt-models-pipeline.groovy
+ concurrent: true
+ trigger:
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ SALT_OPTS:
+ type: string
+ default: "--force-color"
+ GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ RECLASS_SYSTEM_GIT_URL:
+ type: string
+ description: "Run against alternate system reclass"
+ RECLASS_SYSTEM_GIT_REF:
+ type: string
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ test_system_reclass:
+ name: test-salt-model-{{name}}
+ jobs:
+ - name: reclass-system
+ clusters: "mcp-baremetal-lab,mcp-virtual-lab,qa,stacklight,training"
+ template:
+ type: workflow-scm
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-system-reclass-pipeline.groovy
+ concurrent: true
+ trigger:
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ TEST_MODELS:
+ type: string
+ default: "{{clusters}}"
diff --git a/jenkins/client/job/test_pipelines.yml b/jenkins/client/job/test_pipelines.yml
new file mode 100644
index 0000000..3a4149c
--- /dev/null
+++ b/jenkins/client/job/test_pipelines.yml
@@ -0,0 +1,43 @@
+parameters:
+ jenkins:
+ 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
diff --git a/jenkins/master/config.yml b/jenkins/master/config.yml
index 82fa84f..adb0c7c 100644
--- a/jenkins/master/config.yml
+++ b/jenkins/master/config.yml
@@ -89,3 +89,7 @@
- staticMethod java.lang.System exit int
- method hudson.model.ItemGroup getItems
- 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
diff --git a/linux/system/repo/cassandra.yml b/linux/system/repo/cassandra.yml
new file mode 100644
index 0000000..74fb021
--- /dev/null
+++ b/linux/system/repo/cassandra.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ linux_repo_cassandra_component: 21x
+ linux:
+ system:
+ repo:
+ cassandra:
+ source: "deb http://www.apache.org/dist/cassandra/debian/ ${_param:linux_repo_cassandra_component} main"
+ architectures: amd64
+ key_url: "https://www.apache.org/dist/cassandra/KEYS"
diff --git a/neutron/control/opencontrail/cluster.yml b/neutron/control/opencontrail/cluster.yml
index 05b7e33..5baa97e 100644
--- a/neutron/control/opencontrail/cluster.yml
+++ b/neutron/control/opencontrail/cluster.yml
@@ -35,7 +35,7 @@
password: ${_param:mysql_neutron_password}
identity:
engine: keystone
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:openstack_control_address}
port: 35357
user: neutron
@@ -63,4 +63,4 @@
contrail:
version: ${_param:opencontrail_version}
-
+
diff --git a/opencontrail/control/control.yml b/opencontrail/control/control.yml
index 1726029..a3fefc3 100644
--- a/opencontrail/control/control.yml
+++ b/opencontrail/control/control.yml
@@ -41,7 +41,7 @@
identity:
engine: keystone
version: '2.0'
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:openstack_control_address}
port: 35357
user: admin
@@ -101,4 +101,4 @@
port: 9042
network:
engine: neutron
- host: ${_param:cluster_vip_address}
\ No newline at end of file
+ host: ${_param:cluster_vip_address}
diff --git a/openssh/server/team/mcp_qa.yml b/openssh/server/team/mcp_qa.yml
index 0ac1033..ff38474 100644
--- a/openssh/server/team/mcp_qa.yml
+++ b/openssh/server/team/mcp_qa.yml
@@ -26,6 +26,18 @@
sudo: true
full_name: Oleksandr Kosse
home: /home/okosse
+ yshapovalov:
+ enabled: true
+ name: yshapovalov
+ sudo: true
+ full_name: Yevgeniy Shapovalov
+ home: /home/yshapovalov
+ dderyabin:
+ enabled: true
+ name: dderyabin
+ sudo: true
+ full_name: Denis Deryabin
+ home: /home/dderyabin
group:
libvirtd:
enabled: true
@@ -54,6 +66,16 @@
public_keys:
- ${public_keys:okosse}
user: ${linux:system:user:okosse}
+ yshapovalov:
+ enabled: true
+ public_keys:
+ - ${public_keys:yshapovalov}
+ user: ${linux:system:user:yshapovalov}
+ dderyabin:
+ enabled: true
+ public_keys:
+ - ${public_keys:dderyabin}
+ user: ${linux:system:user:dderyabin}
public_keys:
ddmitriev:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuD4wJ8hzkchQ0pfgdwWukQyps1xYRfHOsjosmDu/mmgaXVud5mnpwb2q35E2YYTox2mx+ulJqyS+099gz6MPg4P8D5qdMuRbAsJqbceLaaIGQhdT8qgSo7ESrl5pwvYnfWzKLKF0z5s7nrW0nvArC40zhV9o9XpvzzzSFByepWfkwA8ReldGUYVvTKp8YXaCrqEdMZrU42adPM2nl+fYBbGF+h4/Ka247aVjPeER0blV3znFXbv2Kf38G+i/TEGaktgpBdtGGDi1tX2loMypmTJeqZRJnM0Eoly0BnynB7CSxn11eoIXBUe1mVYNqmQd1hw6uh59iymhK5j939v9J ddmitriev@dis_xcom
@@ -63,3 +85,7 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLtOIkzqNA3wdLQyQxLRaRwi4oXnRCPCsrn8oaAyxDXHhU3+ATGvXBdbkA6xU3d4hAohru5DwxGzyikzAAtrv79GWA9/ryXPcplmxBiJcN36GyfW6eX89hI1VIJMKMG3cUs0ONf2D+hENhbaO0pu4hNAb5HFcHAuqecQNOFFrJ3RqnWM8RWgJPY3iF1A9JnXwVrUgME962VPlydYvlL5mLk+h+4DgHuPipw/Qana5a2JfdErsPYeAdDwG8frCdA9wvMzVVZv78s0lA6BritQdd0SyZejbOlT9KVHhSOhqnWdCtd8+nZXzXgjV7GAiv7H9yE4Ee6QYSHUQHwJxZs3ZT tleontovich@tleontovich-pc
okosse:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmb5FWl6dgK09TmxVYuvmfLyy6G9x2ed6dvXf0kfpMaaP37CST7t0UZ2m23qGF4T0ZGYbCkIdr+6zWG+a5ozuJiqoJwE3dLun8pnCwAjkmUxRyVIi9M6f3us4z+ooBZTBGWTGe7/ryqePpzyAjlw4om23pDTt09YQq5WDirdrFBNJ9ZlTwubbEWMTtHW5XMEui7s1IiggYmHI4cVh0lg7k/neoAk/5ZD9LI9+p2sISCOpD/f7C/BkgVd/4iCFNxXsPmMwRadBVYo8diB0OOekM6qsW5rfPCczCi9oavxjy62Z2XZ6wHPZ3HgeK8MhVJaRGge6zMTnB98aYh9LWfXFv okosse@okosse-pc
+ yshapovalov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWvKNMfHlugrEUMtDDJzZb3T1UzThOp/UtvQvyFTf1rlKN/i14b1cCVmbPaSKR6W4bqZ4YLnRfb5Z66ktEACL02RdC4FkCiGa8yFDAGXLbM2WJhHyA3ksu91z3wK2QRuKJuZuvjmelds1shTK1a31LgTqa7CNPfkfE9h+CsAizZfAhHg1yVqg0/CGKP8+iV8owR5MP9t8+JXTC40G6Qkjzrf/vuA13bT1X+JSWzLoI2OefezZ+X128fLkssPkr4IS1Jg+cbRvSRmGTVjvtk4dnDo3QxF5lUl6JZAUjPslMCxaqDvRFXn86UZ74g6iJ5dZjrU0vn6X+Ov+KVYmZ5znd yshapovalov@ys-pc
+ dderyabin:
+ key: AAAAB3NzaC1yc2EAAAADAQABAAABAQCljOKDvsoOsQFOsabL68kVTlzZOObP9d13Oqc7Lafew1MJx0uaCjabpfcaSOrLrqYu42akkpnHQ0ypQbzRWDREYWKciKmE1TKzRUTXZIF1FNNoFrDT7FfjrKVP42alk4isB0Yj9mvA6AhJGFM7pAy55dVEII30Rc0wKW6XCBAX8fIq3rHDnDYq7KuaSAtxkqj6u/C9eUcGBB+JIQ0NRhTVyIZlqjNeojXoM7py8pGDnGj54bIbpFtYiLU1hbowKfVVcJgHIE+17KsNvR7HwwZZ5lbUxzrOiOnoBq1JKF15JHQ3el358aKw3Ee7rqmVrHszohEBLfxRbWbACoTUem75 denis@usvbox
diff --git a/reclass/storage/system/cicd_control_cluster.yml b/reclass/storage/system/cicd_control_cluster.yml
new file mode 100644
index 0000000..35a8d15
--- /dev/null
+++ b/reclass/storage/system/cicd_control_cluster.yml
@@ -0,0 +1,41 @@
+parameters:
+ _param:
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ reclass:
+ storage:
+ node:
+ cicd_control_node01:
+ name: ${_param:cicd_control_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.master
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node01_address}
+ keepalived_vip_priority: 103
+ cicd_database_id: 1
+ cicd_control_node02:
+ name: ${_param:cicd_control_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.slave
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node02_address}
+ keepalived_vip_priority: 102
+ cicd_database_id: 2
+ cicd_control_node03:
+ name: ${_param:cicd_control_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.slave
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node03_address}
+ keepalived_vip_priority: 101
+ cicd_database_id: 3
diff --git a/reclass/storage/system/infra_cicd_cluster.yml b/reclass/storage/system/infra_cicd_cluster.yml
deleted file mode 100644
index bc10619..0000000
--- a/reclass/storage/system/infra_cicd_cluster.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-parameters:
- _param:
- infra_cicd_node01_hostname: cid01
- infra_cicd_node02_hostname: cid02
- infra_cicd_node03_hostname: cid03
- reclass:
- storage:
- node:
- infra_cicd_node01:
- name: ${_param:infra_cicd_node01_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - cluster.${_param:cluster_name}.infra.cicd.master
- params:
- salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: xenial
- single_address: ${_param:infra_cicd_node01_address}
- keepalived_vip_priority: 103
- cicd_database_id: 1
- infra_cicd_node02:
- name: ${_param:infra_cicd_node02_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - cluster.${_param:cluster_name}.infra.cicd.slave
- params:
- salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: xenial
- single_address: ${_param:infra_cicd_node02_address}
- keepalived_vip_priority: 102
- cicd_database_id: 2
- infra_cicd_node03:
- name: ${_param:infra_cicd_node03_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - cluster.${_param:cluster_name}.infra.cicd.slave
- params:
- salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: xenial
- single_address: ${_param:infra_cicd_node03_address}
- keepalived_vip_priority: 101
- cicd_database_id: 3
diff --git a/salt/control/cluster/infra_cicd_cluster.yml b/salt/control/cluster/cicd_control_cluster.yml
similarity index 84%
rename from salt/control/cluster/infra_cicd_cluster.yml
rename to salt/control/cluster/cicd_control_cluster.yml
index 7420487..eb6a8b1 100644
--- a/salt/control/cluster/infra_cicd_cluster.yml
+++ b/salt/control/cluster/cicd_control_cluster.yml
@@ -2,7 +2,7 @@
salt:
control:
size:
- infra.cid:
+ cicd.control:
cpu: 8
ram: 32768
disk_profile: large
@@ -15,12 +15,12 @@
cid01:
provider: kvm01.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
- size: infra.cid
+ size: cicd.control
cid02:
provider: kvm02.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
- size: infra.cid
+ size: cicd.control
cid03:
provider: kvm03.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
- size: infra.cid
+ size: cicd.control
diff --git a/salt/minion/cert/pki.yml b/salt/minion/cert/pki.yml
new file mode 100644
index 0000000..6e4026b
--- /dev/null
+++ b/salt/minion/cert/pki.yml
@@ -0,0 +1,3 @@
+classes:
+- system.salt.minion.cert.wildcard
+- system.salt.minion.cert.proxy