Merge "Added nzaporozhets's pubkey"
diff --git a/docker/swarm/stack/pushkin.yml b/docker/swarm/stack/pushkin.yml
index 3232301..dde8541 100644
--- a/docker/swarm/stack/pushkin.yml
+++ b/docker/swarm/stack/pushkin.yml
@@ -13,6 +13,11 @@
             POSTGRES_DB: ${_param:pushkin_db}
             PUSHKINDBHOST: ${_param:pushkin_db_host}
             PUSHKINELASTICHOST: ${_param:haproxy_elasticsearch_bind_host}
+            WEBHOOK_FROM: ${_param:webhook_from}
+            WEBHOOK_RECIPIENTS: ${_param:webhook_recipients}
+            WEBHOOK_LOGIN_ID: ${_param:webhook_login_id}
+            WEBHOOK_APPLICATION_ID: ${_param:webhook_application_id}
+            WEBHOOK_SFDC_USERNAME: ${_param:webhook_sfdc_username}
           service:
             api:
               image: ${_param:docker_image_pushkin}
diff --git a/glance/control/image_manager.yml b/glance/control/image_manager.yml
new file mode 100644
index 0000000..37b2ca0
--- /dev/null
+++ b/glance/control/image_manager.yml
@@ -0,0 +1,5 @@
+parameters:
+  glance:
+    server:
+      policy:
+        publicize_image: 'role:admin or role:image_manager'
diff --git a/heka/remote_collector/container.yml b/heka/remote_collector/container.yml
new file mode 100644
index 0000000..61b8c31
--- /dev/null
+++ b/heka/remote_collector/container.yml
@@ -0,0 +1,9 @@
+classes:
+- service.heka.remote_collector.container
+- system.heka.server
+parameters:
+  _param:
+    remote_collector_prefix_dir: /srv/volumes/local/remote_collector
+  heka:
+    remote_collector:
+      prefix_dir: ${_param:remote_collector_prefix_dir}
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
index e615408..4e1fd97 100644
--- a/jenkins/client/job/deploy/lab/mk/virtual.yml
+++ b/jenkins/client/job/deploy/lab/mk/virtual.yml
@@ -92,3 +92,15 @@
         test: k8s
         timer: "H H(0-6) * * *"
         extra_formulas: ""
+      - lab: virtual_mcp11_contrail_nfv
+        install: core,openstack,contrail
+        stack_type: heat
+        test: openstack
+        timer: "H H(0-6) * * *"
+        extra_formulas: ""
+      - lab: virtual_mcp11_ovs_dpdk
+        install: core,openstack,ovs
+        stack_type: heat
+        test: openstack
+        timer: "H H(0-6) * * *"
+        extra_formulas: ""
diff --git a/keystone/client/image_manager.yml b/keystone/client/image_manager.yml
new file mode 100644
index 0000000..5cd80ed
--- /dev/null
+++ b/keystone/client/image_manager.yml
@@ -0,0 +1,20 @@
+parameters:
+  keystone:
+    client:
+      enabled: true
+      server:
+        identity:
+          admin:
+            host: ${_param:keystone_service_host}
+            port: 35357
+            token: ${_param:keystone_service_token}
+          roles:
+          - image_manager
+          project:
+            admin:
+              user:
+                image_manager:
+                  is_admin: false
+                  password: ${_param:keystone_image_manager_password}
+                  roles:
+                  - image_manager
diff --git a/prometheus/alertmanager/notification/pushkin.yml b/prometheus/alertmanager/notification/pushkin.yml
index 3d3332d..905a292 100644
--- a/prometheus/alertmanager/notification/pushkin.yml
+++ b/prometheus/alertmanager/notification/pushkin.yml
@@ -7,24 +7,16 @@
     alertmanager:
       config:
         route:
-          group_by: ['region', 'service']
-          group_wait: 60s
-          group_interval: 5m
-          repeat_interval: 3h
-          receiver: pushkin_notification
           routes:
-            - match:
-                route: email
-              receiver: email_notification
-            - match:
-                route: salesforce
-              receiver: salesforce_notification
-        receivers:
-          - name: salesforce_notification
+            pushkin:
+              receiver: HTTP-pushkin
+              match_re:
+                - label: route
+                  value:  .+?
+        receiver:
+          HTTP-pushkin:
+            enabled: true
             webhook_configs:
-              - url: "${_param:alertmanager_notification_pushkin_host}:${_param:alertmanager_notification_pushkin_port}/webhook?app=stacklight&route=salesforce&cluster_id=id"
-                send_resolved: true
-          - name: pushkin_notification
-            webhook_configs:
-              - url: "${_param:alertmanager_notification_pushkin_host}:${_param:alertmanager_notification_pushkin_port}/webhook?app=stacklight&route=email&cluster_id=id"
+              pushkin-vip:
+                url: "${_param:alertmanager_notification_pushkin_host}:${_param:alertmanager_notification_pushkin_port}/webhook?app=stacklight"
                 send_resolved: true
diff --git a/prometheus/exporters/jmx/init.yml b/prometheus/exporters/jmx/init.yml
new file mode 100644
index 0000000..4052201
--- /dev/null
+++ b/prometheus/exporters/jmx/init.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.exporters.jmx
diff --git a/prometheus/exporters/libvirt/init.yml b/prometheus/exporters/libvirt/init.yml
new file mode 100644
index 0000000..5686f44
--- /dev/null
+++ b/prometheus/exporters/libvirt/init.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.exporters.libvirt
diff --git a/prometheus/server/alert/labels_add/route.yml b/prometheus/server/alert/labels_add/route.yml
new file mode 100644
index 0000000..47d9eea
--- /dev/null
+++ b/prometheus/server/alert/labels_add/route.yml
@@ -0,0 +1,9 @@
+parameters:
+  _param:
+    prometheus_server_alert_label_route: mail
+  prometheus:
+    server:
+      config:
+        alert:
+          labels_add:
+            route: ${_param:prometheus_server_alert_label_route}
diff --git a/telegraf/agent/input/http_listener.yml b/telegraf/agent/input/http_listener.yml
new file mode 100644
index 0000000..89720e4
--- /dev/null
+++ b/telegraf/agent/input/http_listener.yml
@@ -0,0 +1,13 @@
+parameters:
+  _param:
+    telegraf_agent_http_listener_port: 8186
+  telegraf:
+    agent:
+      input:
+        http_listener:
+          bind:
+            address: 127.0.0.1
+            port: ${_param:telegraf_agent_http_listener_port}
+          read_timeout: 10s
+          write_timeout: 10s
+          tagexclude: ['hostname']
diff --git a/telegraf/agent/output/prometheus.yml b/telegraf/agent/output/prometheus.yml
new file mode 100644
index 0000000..952bc13
--- /dev/null
+++ b/telegraf/agent/output/prometheus.yml
@@ -0,0 +1,11 @@
+parameters:
+  _param:
+    telegraf_agent_prometheus_port: 9126
+  telegraf:
+    agent:
+      output:
+        prometheus_client:
+          bind:
+            address: 0.0.0.0
+            port: ${_param: telegraf_agent_prometheus_port}
+          engine: prometheus
diff --git a/telegraf/agent/remote.yml b/telegraf/agent/remote/init.yml
similarity index 100%
rename from telegraf/agent/remote.yml
rename to telegraf/agent/remote/init.yml
diff --git a/telegraf/agent/remote/input/http_listener.yml b/telegraf/agent/remote/input/http_listener.yml
new file mode 100644
index 0000000..d6788d2
--- /dev/null
+++ b/telegraf/agent/remote/input/http_listener.yml
@@ -0,0 +1,13 @@
+parameters:
+  _param:
+    telegraf_remote_agent_http_listener_port: 8186
+  telegraf:
+    remote_agent:
+      input:
+        http_listener:
+          bind:
+            address: 0.0.0.0
+            port: ${_param:telegraf_remote_agent_http_listener_port}
+          read_timeout: 10s
+          write_timeout: 10s
+          tagexclude: ['hostname']
diff --git a/telegraf/agent/remote/output/prometheus.yml b/telegraf/agent/remote/output/prometheus.yml
new file mode 100644
index 0000000..8aadd96
--- /dev/null
+++ b/telegraf/agent/remote/output/prometheus.yml
@@ -0,0 +1,11 @@
+parameters:
+  _param:
+    telegraf_remote_agent_prometheus_port: 9126
+  telegraf:
+    remote_agent:
+      output:
+        prometheus_client:
+          bind:
+            address: 0.0.0.0
+            port: ${_param:telegraf_remote_agent_prometheus_port}
+          engine: prometheus