Merge "Fixed sudo access for jenkins user, fixed timer definitions in virtual stacks"
diff --git a/aptly/server/mirror/ubuntu/trusty/glusterfs.yml b/aptly/server/mirror/ubuntu/trusty/glusterfs.yml
index b83c49f..4d27bf6 100644
--- a/aptly/server/mirror/ubuntu/trusty/glusterfs.yml
+++ b/aptly/server/mirror/ubuntu/trusty/glusterfs.yml
@@ -1,9 +1,11 @@
 parameters:
+  _param:
+    glusterfs_version: 3.8
   aptly:
     server:
       mirror:
         glusterfs_upstream_trusty:
-          source: http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu
+          source: http://ppa.launchpad.net/gluster/glusterfs-${_param:glusterfs_version}/ubuntu
           distribution: trusty
           components: main
           architectures: amd64
diff --git a/aptly/server/mirror/ubuntu/xenial/glusterfs.yml b/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
index da48431..f8177a0 100644
--- a/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
+++ b/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
@@ -1,9 +1,11 @@
 parameters:
+  _param:
+    glusterfs_version: 3.8
   aptly:
     server:
       mirror:
         glusterfs_upstream_xenial:
-          source: http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu
+          source: http://ppa.launchpad.net/gluster/glusterfs-${_param:glusterfs_version}/ubuntu
           distribution: xenial
           components: main
           architectures: amd64
diff --git a/docker/swarm/service/monitoring/prometheus_alertmanager.yml b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
index 5d5f237..942fa42 100644
--- a/docker/swarm/service/monitoring/prometheus_alertmanager.yml
+++ b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
@@ -1,4 +1,4 @@
-include:
+classes:
 - service.prometheus.alertmanager.container
 parameters:
   docker:
diff --git a/docker/swarm/service/monitoring/prometheus_pushgateway.yml b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
index ad159b6..850f66e 100644
--- a/docker/swarm/service/monitoring/prometheus_pushgateway.yml
+++ b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
@@ -1,3 +1,5 @@
+classes:
+- service.prometheus.pushgateway.container
 parameters:
   docker:
     client:
@@ -5,8 +7,11 @@
         prometheus_pushgateway:
           network: monitoring
           replicas: 2
+          environment:
+            bind_port: ${prometheus:pushgateway:bind:port}
+            bind_address: ${prometheus:pushgateway:bind:address}
           restart:
             condition: any
           image: ${_param:docker_image_pushgateway}
           ports:
-            - 15012:9091
+            - 15012:${prometheus:pushgateway:bind:port}
diff --git a/docker/swarm/service/monitoring/prometheus_server.yml b/docker/swarm/service/monitoring/prometheus_server.yml
index 37bb6d3..5c0a480 100644
--- a/docker/swarm/service/monitoring/prometheus_server.yml
+++ b/docker/swarm/service/monitoring/prometheus_server.yml
@@ -1,4 +1,4 @@
-include:
+classes:
 - service.prometheus.server.container
 parameters:
   docker:
diff --git a/docker/swarm/stack/monitoring.yml b/docker/swarm/stack/monitoring.yml
index 46a2845..bbc2d24 100644
--- a/docker/swarm/stack/monitoring.yml
+++ b/docker/swarm/stack/monitoring.yml
@@ -37,9 +37,12 @@
                 replicas: 2
                 restart_policy:
                   condition: any
+              environment:
+                bind_port: ${prometheus:pushgateway:bind:port}
+                bind_address: ${prometheus:pushgateway:bind:address}
               image: ${_param:docker_image_pushgateway}
               ports:
-                - 15012:9091
+                - 15012:${prometheus:pushgateway:bind:port}
             server:
               networks:
                 - monitoring
diff --git a/gerrit/client/project/ci.yml b/gerrit/client/project/ci.yml
index f1fdcd1..86ff699 100644
--- a/gerrit/client/project/ci.yml
+++ b/gerrit/client/project/ci.yml
@@ -18,3 +18,11 @@
           require_change_id: true
           require_agreement: false
           merge_content: true
+        mk/decapod-pipelines:
+          enabled: true
+          description: Decapod jenkins pipelines
+          upstream: https://github.com/mateuszlos/decapod-pipelines
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
diff --git a/haproxy/proxy/listen/radosgw.yml b/haproxy/proxy/listen/radosgw.yml
new file mode 100644
index 0000000..369306b
--- /dev/null
+++ b/haproxy/proxy/listen/radosgw.yml
@@ -0,0 +1,26 @@
+parameters:
+  _param:
+    haproxy_radosgw_bind_port: 8080
+    haproxy_radosgw_source_port: 8080
+  haproxy:
+    proxy:
+      listen:
+        radosgw:
+          mode: tcp
+          balance: source
+          binds:
+            - address: ${_param:cluster_vip_address}
+              port: ${_param:haproxy_radosgw_bind_port}
+          servers:
+            - name: ${_param:cluster_node01_hostname}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_radosgw_source_port}
+              params: check
+            - name: ${_param:cluster_node02_hostname}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_radosgw_source_port}
+              params: backup check
+            - name: ${_param:cluster_node03_hostname}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_radosgw_source_port}
+              params: backup check
diff --git a/jenkins/client/job/decapod/cluster.yml b/jenkins/client/job/decapod/cluster.yml
new file mode 100644
index 0000000..cb353a6
--- /dev/null
+++ b/jenkins/client/job/decapod/cluster.yml
@@ -0,0 +1,30 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        deploy_decapod:
+          type: workflow-scm
+          name: deploy-decapod
+          display_name: "Deploy - Decapod"
+          discard:
+            build:
+              keep_num: 20
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/decapod-pipelines"
+            credentials: "gerrit"
+            script: decapod-pipeline.groovy
+          param:
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              default: "salt"
+            SALT_MASTER_IP:
+              type: string
+              default: "${_param:infra_config_address}"
+            SALT_MASTER_PORT:
+              type: string
+              default: "${_param:salt_master_api_port}"
+            ASK_ON_ERROR:
+                type: boolean
+                default: 'false'
diff --git a/linux/system/repo/glusterfs.yml b/linux/system/repo/glusterfs.yml
index 3dfa9f9..fb331f0 100644
--- a/linux/system/repo/glusterfs.yml
+++ b/linux/system/repo/glusterfs.yml
@@ -1,9 +1,11 @@
 parameters:
+  _param:
+    glusterfs_version: 3.8
   linux:
     system:
       repo:
         glusterfs-ppa:
-          source: "deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu ${_param:linux_system_codename} main"
+          source: "deb http://ppa.launchpad.net/gluster/glusterfs-${_param:glusterfs_version}/ubuntu ${_param:linux_system_codename} main"
           architectures: amd64
           key_id: 3FE869A9
-          key_server: keyserver.ubuntu.com
\ No newline at end of file
+          key_server: keyserver.ubuntu.com
diff --git a/openssh/server/team/stacklight.yml b/openssh/server/team/stacklight.yml
index 118a16e..ba54781 100644
--- a/openssh/server/team/stacklight.yml
+++ b/openssh/server/team/stacklight.yml
@@ -65,6 +65,13 @@
           full_name: Martin Polreich
           home: /home/mpolreich
           email: mpolreich@mirantis.com
+        ityaptin:
+          enabled: true
+          name: ityaptin
+          sudo: true
+          full_name: Ilya Tyaptin
+          home: /home/ityaptin
+          email: ityaptin@mirantis.com
   openssh:
     client:
       enabled: true
@@ -116,6 +123,11 @@
           public_keys:
           - ${public_keys:mpolreich}
           user: ${linux:system:user:mpolreich}
+        ityaptin:
+          enable: true
+          public_keys:
+          - ${public_keys:ityaptin}
+          user: ${linux:system:user:ityaptin}
   public_keys:
     newt:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3odU+3V2uDA2ptAFL9hrJRPNEEdAyztWOZFQ5Oyd9oerTGOU3p4xmrgWWjfKFKbYGhiiIUcYAol5PkTfKukGEkkjCHYA1t023soCaaAj85wCZCnw2zQNAziwxTYmAzTqgxiSvtZNMMrtJvFHRIRDzJ3M1lV0prWNWkMM1/3FAd4W49y6VT3fkMCo8uqG7CfGdgR2DgBCxf9KaNPfW5eDEPOgmE5lK8tVSEI6T+Cg7hbcTf4lFYnlFBnlQgp/0JstsM4Vbwb4B34LOpOsf2S8rrWk2xQMjwaMHXkc2s/E8iW3F5nVFuyEXYISFQIiAHw8dzC6CHgLcyHUVWwznKawZ newt@newt-dev1
@@ -135,3 +147,5 @@
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrCyaZjs8hiwx38LfpeQ2z9n9ptwQ7gFrhq2z5sK9q/LQMCubbnp5xhyF0SMY1jmQUewBOKXhnq3QSX+DmtNsnhitnZBw2BE5PBXllCBWMMiWULfAYvB0of728Q3EEjrtyfHkt7o2E+CvreVJcVI4kBwjKh5WpVBZ8mmkW/sexLGMuYu0bUWjCddu6ZlhUa+y14VZKOKp44auemza1VL/UzqOVZkBAfR2gPV2pBG3Im+SlnOlDRxKPEXQbsn3u/sNeZq0wSY++khY86AU7jAKfL2NiNsoA7CyB0jTEKwYO3vOWOhECifZuHwY/TNWyRFWM2ImW3mT9aO7nE4w4jXXJ vgusev@vgusev
     mpolreich:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0N+ds8BGTR+ZQo9NSRGRbjv3T8AbPmtSw2nClXxetRdmHpM/mU7/5iD7qfkCXtNptKeCG/Qk44wlijnAtjztJK1qfvyphHe3etZxLnqhYMm73Yy++yKPE/ywFPFb+7kd0BDy2iZqohZpX3gUi5iDnvXUInHNqqtTv3xFe2kmn3lq5bSRuUMtr61nZ7z/fkX8kNfoGxKrm7bhSo5zq4sjTrj3lk1LKZc1HYji3RwrzBM0z4eyed1BaJyDNtG+eFN4nOnvVn59452AR8SmKJXRErk37rEoQn80xszypzybooFPN5dpdB6u9b4xquFCOD83usb8kEjKY9VIYGuXxEEts1KIF20J+xd8UnZU8d4JL50G8JY8zdNgurR3ZyMD2okuord4cpHF8SVecsAyRV6nuhDxVtF2Xn/RriY02jrLoRPsS+3nIrKt9H8vpQZMYJ+jgEpekZhhVfz4AP3pATzOrWENzNXj5G1bLJs1C9aTtwE27EnKW73XekX/GLsehCwsQ21JvDX8PMxJwLVfqvkRlrc5GILEIVgjZ82Cj6Eens1QobymRAEWuEpZxkPx6u0kGO62ri8zFx8+NYwYDz3mwhHDRT34T/Rvzy/9V9xVjkUQOj9cZ3eYBnC1MffJjx8heHDmSQmUd+99zKa9Hzr74z3AvR3AIgFqmu7kx5fIMew== ubuntu@thinkpad-x1
+    ityaptin:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDLTkl8X9HIJxruAHkmGNQTovy7DCr256pH68xh2DHWinPKUW4ccsCBbqJeF56aEA41OKJlEVOYzD3gQJkDAAbDdy9BlI14oEtzmk3yAtgBwwUzUNMq7oCPrbt4xNg5U26JSb26j69r5vQ4vXA2hf0bCQ68vb3VDqMMaMbneI3rP3qSaq7dauR8sEjx1XAtNen5SygLE46k0pCObJmahGkg39HisoJ/gkjoi/xvQn1JzrYSxWObrBfUbtQN3JbCRozSp/0Env0hMbXj7cS3J/uY68zAWc7GAEFKSmPAol4d/93sRknFUSQKqZjsDaLfiGLte/7oFwLquaz6AJw+mwP ityaptin@ityaptin.local
diff --git a/prometheus/server/target/dns.yml b/prometheus/server/target/dns.yml
index fd56d1d..14d5da3 100644
--- a/prometheus/server/target/dns.yml
+++ b/prometheus/server/target/dns.yml
@@ -1,3 +1,7 @@
+classes:
+- service.prometheus.server.container
+- service.prometheus.alertmanager.container
+- service.prometheus.pushgateway.container
 parameters:
   prometheus:
     server:
@@ -9,9 +13,14 @@
               domain:
               - 'tasks.monitoring_pushgateway'
               type: A
-              port: 9091
+              port: ${prometheus:pushgateway:bind:port}
             - name: 'prometheus'
               domain:
               - 'tasks.monitoring_server'
               type: A
-              port: 9090
+              port: ${prometheus:server:bind:port}
+            - name: 'alertmanager'
+              domain:
+              - 'tasks.monitoring_alertmanager'
+              type: A
+              port: ${prometheus:alertmanager:bind:port}
diff --git a/salt/master/formula/pkg/foundation.yml b/salt/master/formula/pkg/foundation.yml
index ebb2b00..3eed5e9 100644
--- a/salt/master/formula/pkg/foundation.yml
+++ b/salt/master/formula/pkg/foundation.yml
@@ -28,3 +28,6 @@
             openldap:
               source: pkg
               name: salt-formula-openldap
+            lldp:
+              source: pkg
+              name: salt-formula-lldp