Merge "Add test in init.yml"
diff --git a/ceph/client/single.yml b/ceph/client/single.yml
index b01458f..6ff7cd8 100644
--- a/ceph/client/single.yml
+++ b/ceph/client/single.yml
@@ -20,10 +20,18 @@
osd_journal_size: 7500
mon:
mon_debug_dump_transactions: False
+ client:
+ rbd_cache_size: 268435456
+ rbd_cache_max_dirty: 134217728
+ rbd_cache_max_dirty_age: 5
+ rbd_cache: True
+ # TODO: Configure these keys on cluster level
# keyring:
+ # images:
+ # key:
# object:
- # key:
+ # key:
# cinder:
- # key:
+ # key:
# nova:
- # key:
\ No newline at end of file
+ # key:
diff --git a/docker/swarm/network/monitoring.yml b/docker/swarm/network/monitoring.yml
new file mode 100644
index 0000000..a049aac
--- /dev/null
+++ b/docker/swarm/network/monitoring.yml
@@ -0,0 +1,8 @@
+parameters:
+ docker:
+ client:
+ network:
+ monitoring:
+ driver: overlay
+ opt:
+ encrypted: true
diff --git a/docker/swarm/service/dashboard/grafana_server.yml b/docker/swarm/service/dashboard/grafana_server.yml
new file mode 100644
index 0000000..4ed587e
--- /dev/null
+++ b/docker/swarm/service/dashboard/grafana_server.yml
@@ -0,0 +1,13 @@
+parameters:
+ docker:
+ client:
+ service:
+ grafana_server:
+ replica: 1
+ environment:
+ GF_SECURITY_ADMIN_PASSWORD: ${_param:grafana_admin_password}
+ restart:
+ condition: any
+ image: ${_param:docker_image_grafana}
+ ports:
+ - 15013:3000
diff --git a/docker/swarm/service/monitoring/prometheus_alertmanager.yml b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
new file mode 100644
index 0000000..74b20f5
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
@@ -0,0 +1,23 @@
+include:
+- service.prometheus.alertmanager.container
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_alertmanager:
+ network: monitoring
+ replica: 2
+ environment:
+ config_dir: /opt/alertmanager/config
+ bind_port: ${prometheus:alertmanager:bind:port}
+ bind_address: ${prometheus:alertmanager:bind:address}
+ restart:
+ condition: any
+ image: ${_param:docker_image_alertmanager}
+ ports:
+ - 15011:${prometheus:alertmanager:bind:port}
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/prometheus-config
+ destination: /opt/alertmanager/config
diff --git a/docker/swarm/service/monitoring/prometheus_pushgateway.yml b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
new file mode 100644
index 0000000..7ba37af
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
@@ -0,0 +1,12 @@
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_pushgateway:
+ network: monitoring
+ replica: 2
+ restart:
+ condition: any
+ image: ${_param:docker_image_pushgateway}
+ ports:
+ - 15012:9091
diff --git a/docker/swarm/service/monitoring/prometheus_server.yml b/docker/swarm/service/monitoring/prometheus_server.yml
new file mode 100644
index 0000000..24a9193
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_server.yml
@@ -0,0 +1,29 @@
+include:
+- service.prometheus.server.container
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_server:
+ network: monitoring
+ replica: 1
+ environment:
+ config_dir: /opt/prometheus/config
+ bind_port: ${prometheus:server:bind:port}
+ bind_address: ${prometheus:server:bind:address}
+ alertmanager_port: ${prometheus:alertmanager:bind:port}
+ storage_local_engine: ${prometheus:server:storage:local:engine}
+ storage_local_retention: ${prometheus:server:storage:local:retention}
+ storage_local_memory_chunks: ${prometheus:server:storage:local:memory_chunks}
+ storage_local_max_chunks_to_persist: ${prometheus:server:storage:local:max_chunks_to_persist}
+ storage_local_num_fingerprint_mutexes: ${prometheus:server:storage:local:num_fingerprint_mutexes}
+ restart:
+ condition: any
+ image: ${_param:docker_image_prometheus}
+ ports:
+ - 15010:${prometheus:server:bind:port}
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/prometheus-config
+ destination: /opt/prometheus/config
diff --git a/glusterfs/client/volume/aptly.yml b/glusterfs/client/volume/aptly.yml
index 1c252e3..86a1b40 100644
--- a/glusterfs/client/volume/aptly.yml
+++ b/glusterfs/client/volume/aptly.yml
@@ -7,4 +7,4 @@
aptly:
path: /srv/volumes/aptly
server: ${_param:aptly_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/artifactory.yml b/glusterfs/client/volume/artifactory.yml
index f9c951e..2d36961 100644
--- a/glusterfs/client/volume/artifactory.yml
+++ b/glusterfs/client/volume/artifactory.yml
@@ -7,4 +7,4 @@
artifactory:
path: /srv/volumes/artifactory
server: ${_param:artifactory_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/gerrit.yml b/glusterfs/client/volume/gerrit.yml
index 6199aa6..39e9559 100644
--- a/glusterfs/client/volume/gerrit.yml
+++ b/glusterfs/client/volume/gerrit.yml
@@ -7,6 +7,6 @@
gerrit:
path: /srv/volumes/gerrit
server: ${_param:gerrit_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/glance.yml b/glusterfs/client/volume/glance.yml
index 66a4166..25cc988 100644
--- a/glusterfs/client/volume/glance.yml
+++ b/glusterfs/client/volume/glance.yml
@@ -9,3 +9,4 @@
server: ${_param:glance_glusterfs_service_host}
user: glance
group: glance
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/jenkins.yml b/glusterfs/client/volume/jenkins.yml
index cb6cea7..8ca47e2 100644
--- a/glusterfs/client/volume/jenkins.yml
+++ b/glusterfs/client/volume/jenkins.yml
@@ -7,6 +7,6 @@
jenkins:
path: /srv/volumes/jenkins
server: ${_param:jenkins_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/keystone.yml b/glusterfs/client/volume/keystone.yml
index 188ea03..415e93f 100644
--- a/glusterfs/client/volume/keystone.yml
+++ b/glusterfs/client/volume/keystone.yml
@@ -8,4 +8,5 @@
path: /var/lib/keystone/fernet-keys
server: ${_param:keystone_glusterfs_service_host}
user: keystone
- group: keystone
\ No newline at end of file
+ group: keystone
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/mysql.yml b/glusterfs/client/volume/mysql.yml
index a6458c6..3208a71 100644
--- a/glusterfs/client/volume/mysql.yml
+++ b/glusterfs/client/volume/mysql.yml
@@ -7,4 +7,4 @@
mysql:
path: /srv/volumes/mysql
server: ${_param:mysql_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/openldap.yml b/glusterfs/client/volume/openldap.yml
index 792f15f..0de1d10 100644
--- a/glusterfs/client/volume/openldap.yml
+++ b/glusterfs/client/volume/openldap.yml
@@ -7,4 +7,4 @@
openldap:
path: /srv/volumes/openldap
server: ${_param:openldap_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/postgresql.yml b/glusterfs/client/volume/postgresql.yml
index d2337e7..087afa9 100644
--- a/glusterfs/client/volume/postgresql.yml
+++ b/glusterfs/client/volume/postgresql.yml
@@ -7,4 +7,4 @@
postgresql:
path: /srv/volumes/postgresql
server: ${_param:postgresql_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/prometheus.yml b/glusterfs/client/volume/prometheus.yml
new file mode 100644
index 0000000..f8b2f3d
--- /dev/null
+++ b/glusterfs/client/volume/prometheus.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ prometheus_glusterfs_service_host: ${_param:glusterfs_service_host}
+ glusterfs:
+ client:
+ volumes:
+ prometheus-config:
+ path: /srv/volumes/prometheus-config
+ server: ${_param:prometheus_glusterfs_service_host}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/registry.yml b/glusterfs/client/volume/registry.yml
index 875895a..2bb5019 100644
--- a/glusterfs/client/volume/registry.yml
+++ b/glusterfs/client/volume/registry.yml
@@ -7,4 +7,4 @@
registry:
path: /srv/volumes/registry
server: ${_param:registry_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/salt.yml b/glusterfs/client/volume/salt.yml
index c3a9570..7ed434a 100644
--- a/glusterfs/client/volume/salt.yml
+++ b/glusterfs/client/volume/salt.yml
@@ -7,4 +7,4 @@
saltmaster:
path: /etc/salt/pki/master
server: ${_param:salt_glusterfs_service_host}
- opts: 'defaults'
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/server/volume/prometheus.yml b/glusterfs/server/volume/prometheus.yml
new file mode 100644
index 0000000..2c4ca31
--- /dev/null
+++ b/glusterfs/server/volume/prometheus.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ prometheus-config:
+ storage: /srv/glusterfs/prometheus-config
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/prometheus-config
+ - ${_param:cluster_node02_address}:/srv/glusterfs/prometheus-config
+ - ${_param:cluster_node03_address}:/srv/glusterfs/prometheus-config
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/jenkins/client/job/deploy/init.yml b/jenkins/client/job/deploy/init.yml
index d725c20..102fe73 100644
--- a/jenkins/client/job/deploy/init.yml
+++ b/jenkins/client/job/deploy/init.yml
@@ -1,3 +1,4 @@
classes:
- system.jenkins.client.job.deploy.lab
- system.jenkins.client.job.deploy.update
+ - system.jenkins.client.job.deploy.openstack
diff --git a/jenkins/client/job/deploy/openstack.yml b/jenkins/client/job/deploy/openstack.yml
new file mode 100644
index 0000000..48de021
--- /dev/null
+++ b/jenkins/client/job/deploy/openstack.yml
@@ -0,0 +1,33 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy_openstack:
+ type: workflow-scm
+ name: deploy-openstack
+ display_name: "Deploy - OpenStack"
+ discard:
+ build:
+ keep_num: 20
+ concurrent: true
+ 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: "physical"
+ INSTALL:
+ type: string
+ default: "core,kvm,openstack,stacklight"
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ SALT_MASTER_URL:
+ type: string
+ default: ""
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
index 357bc8e..1024a1e 100644
--- a/jenkins/client/job/gating.yml
+++ b/jenkins/client/job/gating.yml
@@ -44,6 +44,9 @@
JOBS_NAMESPACE:
type: string
default: "{{name}}"
+ SKIP_TEST:
+ type: string
+ default: false
CREDENTIALS_ID:
type: string
default: "gerrit"
\ No newline at end of file
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/test_pipelines.yml b/jenkins/client/job/test_pipelines.yml
index 02a64f2..b418626 100644
--- a/jenkins/client/job/test_pipelines.yml
+++ b/jenkins/client/job/test_pipelines.yml
@@ -2,8 +2,8 @@
jenkins:
client:
job:
- test-mk-pipelines-pipeline:
- name: test-mk-pipelines
+ test-mk-mk-pipelines:
+ name: test-mk-mk-pipelines
discard:
build:
keep_num: 25
@@ -15,11 +15,11 @@
type: git
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
credentials: "gerrit"
- script: git-mirror-2way-pipeline.groovy
+ script: test-groovy-pipeline.groovy
trigger:
gerrit:
project:
- mk/mk-pipelines":
+ "mk/mk-pipelines":
branches:
- master
event:
@@ -37,7 +37,7 @@
default: "gerrit"
GRADLE_IMAGE:
type: string
- default: niaquinto/gradle
+ default: "niaquinto/gradle"
GRADLE_CMD:
type: string
- default: check
+ default: "check"
diff --git a/jenkins/slave/debian.yml b/jenkins/slave/debian.yml
new file mode 100644
index 0000000..af3c719
--- /dev/null
+++ b/jenkins/slave/debian.yml
@@ -0,0 +1,8 @@
+classes:
+ - system.jenkins.slave
+parameters:
+ linux:
+ system:
+ package:
+ devscripts:
+ version: latest
diff --git a/linux/system/repo/glusterfs.yml b/linux/system/repo/glusterfs.yml
new file mode 100644
index 0000000..da4cddf
--- /dev/null
+++ b/linux/system/repo/glusterfs.yml
@@ -0,0 +1,9 @@
+parameters:
+ linux:
+ system:
+ repo:
+ glusterfs-ppa:
+ source: "deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main"
+ architectures: amd64
+ key_id: 3FE869A9
+ key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/linux/system/repo/mcp/contrail.yml b/linux/system/repo/mcp/contrail.yml
new file mode 100644
index 0000000..9f65ee3
--- /dev/null
+++ b/linux/system/repo/mcp/contrail.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ linux_repo_contrail_component: oc311
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_opencontrail:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:openstack_version} ${_param:linux_repo_contrail_component} extra"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
diff --git a/linux/system/repo/mcp/extra.yml b/linux/system/repo/mcp/extra.yml
new file mode 100644
index 0000000..0bd9f13
--- /dev/null
+++ b/linux/system/repo/mcp/extra.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_extra:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} extra"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml
new file mode 100644
index 0000000..b463b90
--- /dev/null
+++ b/linux/system/repo/mcp/openstack.yml
@@ -0,0 +1,26 @@
+parameters:
+ _param:
+ mcp_repo_version: 1.0
+ linux:
+ system:
+ repo:
+ mirantis_openstack:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version} main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_hotfix:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-hotfix main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/{_param:mcp_repo_version/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_security:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-security main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_updates:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-updates main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_holdback:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-holdback main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
diff --git a/linux/system/repo/mcp/salt.yml b/linux/system/repo/mcp/salt.yml
new file mode 100644
index 0000000..e7240a4
--- /dev/null
+++ b/linux/system/repo/mcp/salt.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_salt:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} salt"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
diff --git a/linux/system/repo/mcp10.yml b/linux/system/repo/mcp10.yml
deleted file mode 100644
index 2581543..0000000
--- a/linux/system/repo/mcp10.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-parameters:
- linux:
- system:
- repo:
- mirantis_openstack:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_hotfix:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-hotfix main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_security:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-security main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_updates:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-updates main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_holdback:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-holdback main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
diff --git a/linux/system/repo/mcp_contrail.yml b/linux/system/repo/mcp_contrail.yml
deleted file mode 100644
index 85f0aa4..0000000
--- a/linux/system/repo/mcp_contrail.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-parameters:
- _param:
- linux_repo_contrail_component: oc311
- linux:
- system:
- repo:
- tcpcloud_opencontrail:
- source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ nightly ${_param:openstack_version} ${_param:linux_repo_contrail_component} extra"
- architectures: amd64
- key_url: "http://apt-mk.mirantis.com/public.gpg"
-
-
-
diff --git a/linux/system/repo/saltstack/trusty.yml b/linux/system/repo/saltstack/trusty.yml
new file mode 100644
index 0000000..c20d4dc
--- /dev/null
+++ b/linux/system/repo/saltstack/trusty.yml
@@ -0,0 +1,9 @@
+parameters:
+ _param:
+ salt_version: 2016.3
+ linux:
+ system:
+ repo:
+ salt:
+ source: "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version} trusty main"
+ key_url: "http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack/xenial.yml b/linux/system/repo/saltstack/xenial.yml
new file mode 100644
index 0000000..0c933b8
--- /dev/null
+++ b/linux/system/repo/saltstack/xenial.yml
@@ -0,0 +1,9 @@
+parameters:
+ _param:
+ salt_version: 2016.3
+ linux:
+ system:
+ repo:
+ salt:
+ source: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version} xenial main"
+ key_url: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack_2016_3_trusty.yml b/linux/system/repo/saltstack_2016_3_trusty.yml
index 19e4814..c7e03d7 100644
--- a/linux/system/repo/saltstack_2016_3_trusty.yml
+++ b/linux/system/repo/saltstack_2016_3_trusty.yml
@@ -1,3 +1,4 @@
+##Obsolete, please use repo/saltstack/trusty
parameters:
linux:
system:
diff --git a/linux/system/repo/saltstack_2016_3_xenial.yml b/linux/system/repo/saltstack_2016_3_xenial.yml
index 6fed4c5..413294f 100644
--- a/linux/system/repo/saltstack_2016_3_xenial.yml
+++ b/linux/system/repo/saltstack_2016_3_xenial.yml
@@ -1,3 +1,4 @@
+##Obsolete, please use repo/saltstack/xenial
parameters:
linux:
system:
diff --git a/linux/system/sudo.yml b/linux/system/sudo.yml
index d5badb8..cafd360 100644
--- a/linux/system/sudo.yml
+++ b/linux/system/sudo.yml
@@ -21,6 +21,8 @@
- /bin/su -
- /bin/su
- /usr/sbin/visudo
+ sudo_coreutils_safe:
+ - /usr/bin/less
sudo_salt_safe:
- /usr/bin/salt state*
- /usr/bin/salt service*
diff --git a/openssh/server/team/l1_support.yml b/openssh/server/team/l1_support.yml
index 206291c..d0be2ed 100644
--- a/openssh/server/team/l1_support.yml
+++ b/openssh/server/team/l1_support.yml
@@ -33,6 +33,7 @@
aliases:
command:
L1_SUPPORT_SALT: ${_param:sudo_salt_safe}
+ L1_SUPPORT_COREUTILS: ${_param:sudo_coreutils_safe}
L1_SUPPORT_SALT_TRUSTED: ${_param:sudo_salt_trusted}
L1_SUPPORT_RESTRICTED_SHELLS: ${_param:sudo_shells}
L1_SUPPORT_RESTRICTED: ${_param:sudo_restricted_su}
diff --git a/openssh/server/team/mmo_de.yml b/openssh/server/team/mmo_devops.yml
similarity index 100%
rename from openssh/server/team/mmo_de.yml
rename to openssh/server/team/mmo_devops.yml
diff --git a/prometheus/server/target/etcd.yml b/prometheus/server/target/etcd.yml
new file mode 100644
index 0000000..e343bda
--- /dev/null
+++ b/prometheus/server/target/etcd.yml
@@ -0,0 +1,6 @@
+classes:
+- service.etcd.server.cluster
+parameters:
+ server:
+ target:
+ etcd: ${etcd:server:members}
diff --git a/prometheus/server/target/kubernetes.yml b/prometheus/server/target/kubernetes.yml
new file mode 100644
index 0000000..293895b
--- /dev/null
+++ b/prometheus/server/target/kubernetes.yml
@@ -0,0 +1,10 @@
+classes:
+- service.kubernetes.master.cluster
+parameters:
+ server:
+ target:
+ kubernetes:
+ api_ip: ${kubernetes:master:apiserver:address}
+ ssl_dir: /opt/prometheus/config
+ cert_name: kubelet-client.crt
+ key_name: kubelet-client.key
diff --git a/salt/master/formula/git/monitoring.yml b/salt/master/formula/git/monitoring.yml
new file mode 100644
index 0000000..e0cf30d
--- /dev/null
+++ b/salt/master/formula/git/monitoring.yml
@@ -0,0 +1,14 @@
+parameters:
+ salt:
+ master:
+ environment:
+ dev:
+ formula:
+ prometheus:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-prometheus.git'
+ revision: ${_param:salt_master_environment_revision}
+ telegraf:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-telegraf.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/pkg/monitoring.yml b/salt/master/formula/pkg/monitoring.yml
new file mode 100644
index 0000000..375cbd8
--- /dev/null
+++ b/salt/master/formula/pkg/monitoring.yml
@@ -0,0 +1,12 @@
+parameters:
+ salt:
+ master:
+ environment:
+ prd:
+ formula:
+ prometheus:
+ source: pkg
+ name: salt-formula-prometheus
+ telegraf:
+ source: pkg
+ name: salt-formula-telegraf
diff --git a/salt/master/git.yml b/salt/master/git.yml
index bcde77c..02d0b67 100644
--- a/salt/master/git.yml
+++ b/salt/master/git.yml
@@ -6,6 +6,7 @@
- system.salt.master.formula.git.openstack
- system.salt.master.formula.git.saltstack
- system.salt.master.formula.git.stacklight
+- system.salt.master.formula.git.monitoring
parameters:
_param:
salt_master_environment_repository: "https://github.com/salt-formulas"
diff --git a/salt/master/pkg.yml b/salt/master/pkg.yml
index 7686f07..b075138 100644
--- a/salt/master/pkg.yml
+++ b/salt/master/pkg.yml
@@ -6,4 +6,5 @@
- system.salt.master.formula.pkg.openstack
- system.salt.master.formula.pkg.saltstack
- system.salt.master.formula.pkg.stacklight
-- system.linux.system.repo.tcp_salt
+- system.salt.master.formula.pkg.monitoring
+- system.linux.system.repo.mcp.salt
diff --git a/salt/minion/cert/k8s_client_prometheus.yml b/salt/minion/cert/k8s_client_prometheus.yml
new file mode 100644
index 0000000..04cd374
--- /dev/null
+++ b/salt/minion/cert/k8s_client_prometheus.yml
@@ -0,0 +1,12 @@
+parameters:
+ salt:
+ minion:
+ cert:
+ k8s_client_prometheus:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /srv/volumes/prometheus-config/kubelet-client.key
+ cert_file: /srv/volumes/prometheus-config/kubelet-client.crt
+ common_name: kubelet-client
+ signing_policy: cert_client
+ alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
diff --git a/telegraf/agent/init.yml b/telegraf/agent/init.yml
new file mode 100644
index 0000000..57a1f61
--- /dev/null
+++ b/telegraf/agent/init.yml
@@ -0,0 +1,11 @@
+paramaters:
+ telegraf:
+ agent:
+ input:
+ diskio:
+ output:
+ prometheus_client:
+ bind:
+ address: 0.0.0.0
+ port: 9126
+ engine: prometheus