Merge "Add ability to install panko formula"
diff --git a/.releasenotes/notes/smtp_tls-907be4451c86b669.yaml b/.releasenotes/notes/smtp_tls-907be4451c86b669.yaml
new file mode 100644
index 0000000..3e79c8f
--- /dev/null
+++ b/.releasenotes/notes/smtp_tls-907be4451c86b669.yaml
@@ -0,0 +1,18 @@
+---
+summary: >
+  Additional option for push notification service to work with SMTP server
+
+features:
+  - Earlier the push notification service considered SMTP server working only under TLS.
+    In case of custom SMPT servers which use non-TLS connection the push notification service is
+    not working properly. This patch added the explicit definition of TLS using.
+    To define this parameter you need to set 'pushkin_smtp_use_tls' variable on cluster level metadata.
+
+    Example:
+    .. code-block:: yaml
+    parameters:
+      _param:
+        pushkin_smtp_use_tls: true
+
+fixes:
+  - related US: https://mirantis.jira.com/browse/PROD-14976
diff --git a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/fluentd.yml b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/fluentd.yml
index 060e5ec..ee765d4 100644
--- a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/fluentd.yml
+++ b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/fluentd.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_trusty_fluentd_source: http://mirror.mirantis.com/${_param:apt_mk_version}/td-agent-trusty
+    mirror_mirantis_openstack_trusty_fluentd_source: http://mirror.mirantis.com/${_param:apt_mk_version}/td-agent/trusty
     mirror_mirantis_openstack_trusty_fluentd_distribution: trusty
     mirror_mirantis_openstack_trusty_fluentd_components: contrib
     mirror_mirantis_openstack_trusty_fluentd_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/fluentd.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/fluentd.yml
index e87580c..bba5d9c 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/fluentd.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/fluentd.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_fluentd_source: http://mirror.mirantis.com/${_param:apt_mk_version}/td-agent-xenial
+    mirror_mirantis_openstack_xenial_fluentd_source: http://mirror.mirantis.com/${_param:apt_mk_version}/td-agent/xenial
     mirror_mirantis_openstack_xenial_fluentd_distribution: xenial
     mirror_mirantis_openstack_xenial_fluentd_components: contrib
     mirror_mirantis_openstack_xenial_fluentd_gpgkeys:
diff --git a/docker/swarm/stack/pushkin.yml b/docker/swarm/stack/pushkin.yml
index 22a921d..55f1fd6 100644
--- a/docker/swarm/stack/pushkin.yml
+++ b/docker/swarm/stack/pushkin.yml
@@ -11,6 +11,7 @@
     pushkin_db_host: ${_param:haproxy_postgresql_bind_host}
     pushkin_smtp_host: smtp.gmail.com
     pushkin_smtp_port: 587
+    pushkin_smtp_use_tls: true
     webhook_from: your_sender@mail.com
     pushkin_email_sender_password: your_sender_password
     webhook_recipients: "recepient1@mail.com,recepient2@mail.com"
@@ -38,6 +39,7 @@
             EMAIL_SENDER_PASSWORD: ${_param:pushkin_email_sender_password}
             SMTP_HOST: ${_param:pushkin_smtp_host}
             SMTP_PORT: ${_param:pushkin_smtp_port}
+            SMTP_USE_TLS: ${_param:pushkin_smtp_use_tls}
             WEBHOOK_RECIPIENTS: ${_param:webhook_recipients}
             WEBHOOK_LOGIN_ID: ${_param:webhook_login_id}
             WEBHOOK_APPLICATION_ID: ${_param:webhook_application_id}
diff --git a/fluentd/label/default_output/elasticsearch.yml b/fluentd/label/default_output/elasticsearch.yml
index 84b2dc1..5960c49 100644
--- a/fluentd/label/default_output/elasticsearch.yml
+++ b/fluentd/label/default_output/elasticsearch.yml
@@ -22,6 +22,19 @@
                     value: ${fluentd:dollar}{if record.has_key?("context"); record["context"].delete("auth_token"); end; nil}
                   - name: _dummy_3
                     value: ${fluentd:dollar}{if record.has_key?("context"); record["context"].delete("auth_token_info"); end; nil}
+              drop_hostname_field:
+                tag: "openstack.**"
+                type: record_transformer
+                enable_ruby: true
+                remove_keys: '["hostname"]'
+              change_pid_field_value:
+                tag: "haproxy.**"
+                type: record_transformer
+                enable_ruby: true
+                record:
+                  - name: Pid
+                    value: ${fluentd:dollar}{record["pid"]}
+                remove_keys: '["pid"]'
             match:
               elasticsearch_output:
                 host: ${_param:fluentd_elasticsearch_host}
diff --git a/glusterfs/client/volume/gnocchi.yml b/glusterfs/client/volume/gnocchi.yml
new file mode 100644
index 0000000..f6c3351
--- /dev/null
+++ b/glusterfs/client/volume/gnocchi.yml
@@ -0,0 +1,32 @@
+parameters:
+  _param:
+    gnocchi_glusterfs_service_host: ${_param:glusterfs_service_host}
+    glusterfs_node01_address: ${_param:cluster_node01_address}
+    glusterfs_node02_address: ${_param:cluster_node02_address}
+    glusterfs_node03_address: ${_param:cluster_node03_address}
+  glusterfs:
+    client:
+      volumes:
+        gnocchi:
+          path: /var/lib/gnocchi/
+          server: ${_param:gnocchi_glusterfs_service_host}
+          user: gnocchi
+          group: gnocchi
+          opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
+  linux:
+    system:
+      user:
+        gnocchi:
+          enabled: true
+          name: gnocchi
+          uid: 305
+          gid: 305
+          home: /var/lib/gnocchi
+          shell: /bin/false
+          system: True
+      group:
+        gnocchi:
+          enabled: true
+          name: gnocchi
+          gid: 305
+          system: True
diff --git a/glusterfs/server/volume/gnocchi.yml b/glusterfs/server/volume/gnocchi.yml
new file mode 100644
index 0000000..f8f5b6a
--- /dev/null
+++ b/glusterfs/server/volume/gnocchi.yml
@@ -0,0 +1,18 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        gnocchi:
+          storage: /srv/glusterfs/gnocchi
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/gnocchi
+            - ${_param:cluster_node02_address}:/srv/glusterfs/gnocchi
+            - ${_param:cluster_node03_address}:/srv/glusterfs/gnocchi
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
+            cluster.favorite-child-policy: mtime
diff --git a/gnocchi/server/cluster.yml b/gnocchi/server/cluster.yml
index e5a4650..bbae551 100644
--- a/gnocchi/server/cluster.yml
+++ b/gnocchi/server/cluster.yml
@@ -4,3 +4,7 @@
 - system.apache.server.site.gnocchi
 - system.haproxy.proxy.listen.openstack.gnocchi
 - system.keepalived.cluster.instance.openstack_telemetry_vip
+parameters:
+  gnocchi:
+    server:
+      enable_proxy_headers_parsing: true
diff --git a/jenkins/client/job/deploy/lab/release/mcp11.yml b/jenkins/client/job/deploy/lab/release/mcp11.yml
index 1b62f60..789dd53 100644
--- a/jenkins/client/job/deploy/lab/release/mcp11.yml
+++ b/jenkins/client/job/deploy/lab/release/mcp11.yml
@@ -111,3 +111,9 @@
         stack_type: heat
         stack_test: ""
         job_timer: ""
+      - stack_name: virtual_mcp_pike_ovs
+        stack_env: devcloud
+        stack_install: core,openstack,ovs
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
diff --git a/linux/system/repo/mcp/apt_mirantis/fluentd.yml b/linux/system/repo/mcp/apt_mirantis/fluentd.yml
index 2bca860..58df85f 100644
--- a/linux/system/repo/mcp/apt_mirantis/fluentd.yml
+++ b/linux/system/repo/mcp/apt_mirantis/fluentd.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_fluentd:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_fluentd_version}/td-agent-${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_fluentd_version}/td-agent/${_param:linux_system_codename} ${_param:linux_system_codename} contrib"
           architectures: amd64
           key_id: 901F9177AB97ACBE
           key_server: keyserver.ubuntu.com
diff --git a/manila/control/cluster.yml b/manila/control/cluster.yml
new file mode 100644
index 0000000..0bf4c69
--- /dev/null
+++ b/manila/control/cluster.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.manila.common.cluster
+ - system.apache.server.site.manila
+ - system.haproxy.proxy.listen.openstack.manila
+parameters:
+  manila:
+    common:
+      dhss: false
+      version: ${_param:openstack_version}
+    api:
+      enabled: true
+    scheduler:
+      enabled: true
diff --git a/manila/control/single.yml b/manila/control/single.yml
new file mode 100644
index 0000000..5029c67
--- /dev/null
+++ b/manila/control/single.yml
@@ -0,0 +1,12 @@
+classes:
+ - system.manila.common.cluster
+ - system.apache.server.site.manila
+parameters:
+  manila:
+    common:
+      dhss: false
+      version: ${_param:openstack_version}
+    api:
+      enabled: true
+    scheduler:
+      enabled: true
diff --git a/reclass/storage/system/openstack_share_multi.yml b/reclass/storage/system/openstack_share_multi.yml
new file mode 100644
index 0000000..a347aec
--- /dev/null
+++ b/reclass/storage/system/openstack_share_multi.yml
@@ -0,0 +1,42 @@
+parameters:
+  _param:
+    openstack_share_node01_hostname: share01
+    openstack_share_node02_hostname: share02
+    openstack_share_node03_hostname: share03
+
+    openstack_share_node01_share_address: ${_param:single_address}
+    openstack_share_node02_share_address: ${_param:single_address}
+    openstack_share_node03_share_address: ${_param:single_address}
+  reclass:
+    storage:
+      node:
+        openstack_share_node01:
+          name: ${_param:openstack_share_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.openstack.share
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:linux_system_codename}
+            single_address: ${_param:openstack_share_node01_address}
+            share_address: ${_param:openstack_share_node01_share_address}
+        openstack_share_node02:
+          name: ${_param:openstack_share_node02_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.openstack.share
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:linux_system_codename}
+            single_address: ${_param:openstack_share_node02_address}
+            share_address: ${_param:openstack_share_node02_share_address}
+        openstack_share_node03:
+          name: ${_param:openstack_share_node03_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.openstack.share
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:linux_system_codename}
+            single_address: ${_param:openstack_share_node03_address}
+            share_address: ${_param:openstack_share_node03_share_address}
diff --git a/reclass/storage/system/openstack_share_single.yml b/reclass/storage/system/openstack_share_single.yml
new file mode 100644
index 0000000..cb33dde
--- /dev/null
+++ b/reclass/storage/system/openstack_share_single.yml
@@ -0,0 +1,16 @@
+parameters:
+  _param:
+    openstack_share_node01_hostname: share01
+  reclass:
+    storage:
+      node:
+        openstack_share_node01:
+          name: ${_param:openstack_share_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.openstack.share
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:linux_system_codename}
+            single_address: ${_param:openstack_share_node01_address}
+            share_address: ${_param:openstack_share_node01_share_address}