Merge "Add Glance client metadata to create Octavia amphora image"
diff --git a/cassandra/backup/client/single.yml b/cassandra/backup/client/single.yml
index 6c91a90..90fdc5d 100644
--- a/cassandra/backup/client/single.yml
+++ b/cassandra/backup/client/single.yml
@@ -1,6 +1,8 @@
 classes:
 - system.openssh.client.root
 parameters:
+  _param:
+    cassandra_remote_backup_server: cfg01
   cassandra:
     backup:
       client:
@@ -8,6 +10,4 @@
         full_backups_to_keep: 3
         hours_before_full: 24
         target:
-          host: cfg01
-        restore_latest: 1
-        restore_from: local
+          host: ${_param:cassandra_remote_backup_server}
diff --git a/docker/swarm/stack/postgresql.yml b/docker/swarm/stack/postgresql.yml
index 7ae4052..73435fb 100644
--- a/docker/swarm/stack/postgresql.yml
+++ b/docker/swarm/stack/postgresql.yml
@@ -11,6 +11,7 @@
           environment:
             POSTGRES_USER: ${_param:postgresql_admin_user}
             POSTGRES_PASSWORD: ${_param:postgresql_admin_user_password}
+            SQLALCHEMY_POOL_RECYCLE: 14400
           service:
             db:
               image: ${_param:docker_image_postgresql}
diff --git a/docker/swarm/stack/security_monkey.yml b/docker/swarm/stack/security_monkey.yml
index 143b321..167a058 100644
--- a/docker/swarm/stack/security_monkey.yml
+++ b/docker/swarm/stack/security_monkey.yml
@@ -2,13 +2,17 @@
   _param:
     docker_security_monkey_api_replicas: 1
     docker_security_monkey_scheduler_replicas: 1
-    docker_image_security_monkey_api: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:4435
-    docker_image_security_monkey_scheduler: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:4435
+    docker_image_security_monkey_api: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:6700
+    docker_image_security_monkey_scheduler: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:6700
     security_monkey_db: secmonkey
     notification_service_url: http://${_param:haproxy_pushkin_bind_host}:${_param:haproxy_pushkin_bind_port}/post_notification_json
     security_monkey_user: devopsportal@devopsportal.local
     security_monkey_password: devopsportal
     security_monkey_role: Justify
+    security_monkey_fqdn: ${_param:haproxy_security_monkey_bind_host}
+    security_monkey_web_port: ${_param:haproxy_security_monkey_bind_port}
+    security_monkey_api_port: ${_param:haproxy_security_monkey_bind_port}
+    security_monkey_nginx_port: ${_param:haproxy_security_monkey_bind_port}
     devops_portal_sm_wtf_csrf_enabled: False
     security_monkey_openstack:
       os_account_id: mcp_cloud
@@ -28,6 +32,10 @@
             SECURITY_MONKEY_POSTGRES_PASSWORD: ${_param:secmonkey_db_user_password}
             SECURITY_MONKEY_POSTGRES_HOST: ${_param:secmonkey_db_host}
             SECURITY_MONKEY_POSTGRES_PORT: ${_param:haproxy_postgresql_bind_port}
+            SECURITY_MONKEY_FQDN: ${_param:security_monkey_fqdn}
+            WEB_PORT: ${_param:security_monkey_web_port}
+            API_PORT: ${_param:security_monkey_api_port}
+            NGINX_PORT: ${_param:security_monkey_nginx_port}
             NOTIFICATIONS_SERVICE_URL: ${_param:notification_service_url}
             DEFAULT_USER: ${_param:security_monkey_user}
             DEFAULT_PASSWORD: ${_param:security_monkey_password}
diff --git a/haproxy/proxy/listen/oss/postgresql.yml b/haproxy/proxy/listen/oss/postgresql.yml
index 1bc1f44..a356a48 100644
--- a/haproxy/proxy/listen/oss/postgresql.yml
+++ b/haproxy/proxy/listen/oss/postgresql.yml
@@ -7,6 +7,11 @@
       enabled: false
   haproxy:
     proxy:
+      timeout:
+        queue: '8h'
+        client: '8h'
+        server: '8h'
+        check: '10s'
       listen:
         postgresql:
           mode: tcp
diff --git a/jenkins/client/job/deploy/lab/mk/cloud.yml b/jenkins/client/job/deploy/lab/mk/cloud.yml
index 5b15f35..fa13051 100644
--- a/jenkins/client/job/deploy/lab/mk/cloud.yml
+++ b/jenkins/client/job/deploy/lab/mk/cloud.yml
@@ -170,7 +170,7 @@
                 default: ""
               OPENSTACK_API_VERSION:
                 type: string
-                default: "2"
+                default: "3"
               OPENSTACK_API_PROJECT_DOMAIN:
                 type: string
                 default: "default"
@@ -203,7 +203,7 @@
                 type: string
                 default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
 
-              # Openstack settings
+              # openstack settings
               TEMPEST_IMAGE:
                 type: string
                 default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
diff --git a/jenkins/client/job/docker/cis-collectors.yml b/jenkins/client/job/docker/cis-collectors.yml
index c7d580b..11d8be9 100644
--- a/jenkins/client/job/docker/cis-collectors.yml
+++ b/jenkins/client/job/docker/cis-collectors.yml
@@ -13,9 +13,9 @@
           concurrent: false
           scm:
             type: git
-            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
             credentials: "gerrit"
-            script: docker-build-to-jfrog.groovy
+            script: docker-build-image-pipeline.groovy
           trigger:
             gerrit:
               project:
diff --git a/jenkins/client/job/docker/devops-portal.yml b/jenkins/client/job/docker/devops-portal.yml
index c4db406..3b831d8 100644
--- a/jenkins/client/job/docker/devops-portal.yml
+++ b/jenkins/client/job/docker/devops-portal.yml
@@ -13,9 +13,9 @@
           concurrent: false
           scm:
             type: git
-            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
             credentials: "gerrit"
-            script: docker-build-to-jfrog.groovy
+            script: docker-build-image-pipeline.groovy
           trigger:
             gerrit:
               project:
diff --git a/jenkins/client/job/docker/rundeck.yml b/jenkins/client/job/docker/rundeck.yml
index cb1eadb..9b116fe 100644
--- a/jenkins/client/job/docker/rundeck.yml
+++ b/jenkins/client/job/docker/rundeck.yml
@@ -13,9 +13,9 @@
           concurrent: false
           scm:
             type: git
-            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
             credentials: "gerrit"
-            script: docker-build-to-jfrog.groovy
+            script: docker-build-image-pipeline.groovy
           trigger:
             gerrit:
               project:
diff --git a/jenkins/client/job/test_devops_portal.yml b/jenkins/client/job/test_devops_portal.yml
index 3200283..4007010 100644
--- a/jenkins/client/job/test_devops_portal.yml
+++ b/jenkins/client/job/test_devops_portal.yml
@@ -13,7 +13,7 @@
           concurrent: true
           scm:
             type: git
-            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
             credentials: "gerrit"
             script: test-devops-portal-pipeline.groovy
           trigger:
diff --git a/keystone/client/service/barbican.yml b/keystone/client/service/barbican.yml
new file mode 100644
index 0000000..f83e6ab
--- /dev/null
+++ b/keystone/client/service/barbican.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                barbican:
+                  is_admin: true
+                  password: ${_param:keystone_barbican_password}
+                  email: ${_param:admin_email}
+          service:
+            barbican:
+              type: key-manager
+              description: OpenStack Key-Manager Service
+              endpoints:
+              - region: ${_param:openstack_region}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
+                public_port: 9311
+                public_path: '/'
+                internal_address: ${_param:barbican_service_host}
+                internal_port: 9311
+                internal_path: '/'
+                admin_address: ${_param:barbican_service_host}
+                admin_port: 9311
+                admin_path: '/'
diff --git a/keystone/client/service/congress.yml b/keystone/client/service/congress.yml
new file mode 100644
index 0000000..529d3ee
--- /dev/null
+++ b/keystone/client/service/congress.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                congress:
+                  is_admin: true
+                  password: ${_param:keystone_congress_password}
+                  email: ${_param:admin_email}
+          service:
+            congress:
+              type: policy
+              description: Congress service
+              endpoints:
+              - region: ${_param:openstack_region}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
+                public_port: 1789
+                public_path: '/'
+                internal_address: ${_param:congress_service_host}
+                internal_port: 1789
+                internal_path: '/'
+                admin_address: ${_param:congress_service_host}
+                admin_port: 1789
+                admin_path: '/'
diff --git a/linux/system/repo/saltstack/rhel.yml b/linux/system/repo/saltstack/rhel.yml
new file mode 100644
index 0000000..b0f28f3
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel.yml
@@ -0,0 +1,14 @@
+parameters:
+  _param:
+    salt_version: 2016.3
+    rhel_releasever: 7
+    rhel_basearch: x86_64
+  linux:
+    system:
+      repo:
+        salt:
+          humanname: "SaltStack repo for RHEL/CentOS ${rhel_repo_releasever}"
+          source: "https://repo.saltstack.com/yum/redhat/${_param:rhel_releasever}/${_param:rhel_basearch}/${_param:salt_version}"
+          gpgkey: "https://repo.saltstack.com/yum/redhat/${_param:rhel_releasever}/${_param:rhel_basearch}/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
+          gpgcheck: true
+          architectures: amd64
diff --git a/linux/system/repo/saltstack/rhel6.yml b/linux/system/repo/saltstack/rhel6.yml
new file mode 100644
index 0000000..098410c
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel6.yml
@@ -0,0 +1,6 @@
+classes:
+- system.linux.system.repo.saltstack.rhel
+parameters:
+  _param:
+    salt_version: 2016.3
+    rhel_releasever: 6
diff --git a/linux/system/repo/saltstack/rhel7.yml b/linux/system/repo/saltstack/rhel7.yml
new file mode 100644
index 0000000..a216398
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel7.yml
@@ -0,0 +1,6 @@
+classes:
+- system.linux.system.repo.saltstack.rhel
+parameters:
+  _param:
+    salt_version: 2016.3
+    rhel_releasever: 7
diff --git a/openssh/server/team/presales.yml b/openssh/server/team/presales.yml
new file mode 100644
index 0000000..7efc9da
--- /dev/null
+++ b/openssh/server/team/presales.yml
@@ -0,0 +1,51 @@
+parameters:
+  linux:
+    system:
+      user:
+        ivano:
+          enabled: true
+          name: ivano
+          sudo: true
+          full_name: Ivan Ostojic
+          home: /home/ivano
+          email: ivan@mirantis.com
+        asteer:
+          enabled: true
+          name: asteer
+          sudo: true
+          full_name: Adrian Steer
+          home: /home/asteer
+          email: asteer@mirantis.com
+        sbraun:
+          enabled: true
+          name: sbraun
+          sudo: true
+          full_name: Sebastien Braun
+          home: /home/sbraun
+          email: sbraun@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        ivano:
+          enabled: true
+          public_keys:
+          - ${public_keys:ivano}
+          user: ${linux:system:user:ivano}
+        asteer:
+          enabled: true
+          public_keys:
+          - ${public_keys:asteer}
+          user: ${linux:system:user:asteer}
+        sbraun:
+          enabled: true
+          public_keys:
+          - ${public_keys:sbraun}
+          user: ${linux:system:user:sbraun}
+  public_keys:
+    ivano:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD94JXgHYTjfPoyYfWe5HgCPUgyal89VlI7ZYLr7RezAl+YQaaeO5adCXnnMDN2BiNf2l1SfbFf/A4Vi6W5eSRLqtSplpdhass7iqmmq+rDoXcELv6BZYnbOFhbFq2vegwcgk35A2uz9x9i3x3wHMLBZI/+dNCjCnW2Uikb/f0nmFqTLT5T9SJ/nmhs5oPd5vGKgFtYdRPLZW/fPxl180psPzBXmOCh50xyydxKPzncyFme+mgb0o1GjyBiJe7cXL/rXShcrFb9btMS+sXZZVQaDveaBHYUE+q+29yqR0c5uUusEzD9BWZVSoKPrFUMy/9YohGwRqbRE7Jh8XVF7Fff ivano@unicorn
+    asteer:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIXQqD5NH9glU5CBoodFtTuZMd5KgcjPDw0krOBaM0YkzbCGzEecLeqgd1oP2AbUO1nV80O9STatFhJ1NY1x1Xxv/k0n7kMIXpuxyAcVKbg6J/B5GzACsK9tKfnEypz8VvQcBB70h+4Y6G6AiOQxRpLJg4fHv/Q0fF3rl3diQyJZeTa6jjcYettikclZlYYyFh1eLQ7yzjbGL+KNX/ks/N55gl+N6BKYIGvhSUFI7Xex0p6qqpPM+XTsGJFVRBIrHnNiTtHc5SO+oN/J4u2PnO14tP8ZAeX33jF4XejbRvo8kA61KZ+i10wkSbGKFLQeYBrVnxJwo5FG+kOm8WnRF
+    sbraun:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCdvb2aPES+H5+McRueB3EYbpdG/685pIJCH6mbFmTsIHlQobcJSSYtqww7ji/m6/KuMGE/Wc5f06d5v+beslfHKLaaAKXwWBpDgO77zwO42PbFPreFXKg8sNLPmqB+WEyIX7yAaJNxz0bbQgo2Vl3Bhtv/79zZXpzo0DIXNtdi75vwzWpuiyRuhC7pNqz+VXFZAVtkA+EchogDnT7rLa8ullSwuSgk5iPC6/XsuwL5Z5/UGBx4OT9Y8+cjb3g2oE9N3hdJH8wp9ts6stvKgAZ/5EE+LuCVhtKCvQ0sbZY8DmH99HFIP7SQoNQoyD8ALKbyCxGdF4/kxsqSlnLM5bR sebbraun@gmail.com
diff --git a/salt/control/cluster/openstack_baremetal_cluster.yml b/salt/control/cluster/openstack_baremetal_cluster.yml
index 69c3a2b..609be28 100644
--- a/salt/control/cluster/openstack_baremetal_cluster.yml
+++ b/salt/control/cluster/openstack_baremetal_cluster.yml
@@ -13,14 +13,14 @@
           engine: virt
           node:
             bmt01:
-              provider: kvm01.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.baremetal
             bmt02:
-              provider: kvm02.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.baremetal
             bmt03:
-              provider: kvm03.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.baremetal
diff --git a/salt/control/cluster/openstack_gateway_cluster.yml b/salt/control/cluster/openstack_gateway_cluster.yml
index 84c44ac..efc7215 100644
--- a/salt/control/cluster/openstack_gateway_cluster.yml
+++ b/salt/control/cluster/openstack_gateway_cluster.yml
@@ -13,14 +13,14 @@
           engine: virt
           node:
             gtw01:
-              provider: kvm01.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.gateway
             gtw02:
-              provider: kvm02.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.gateway
             gtw03:
-              provider: kvm03.${_param:cluster_domain}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
               image: ${_param:salt_control_xenial_image}
               size: openstack.gateway
diff --git a/salt/master/formula/git/saltstack.yml b/salt/master/formula/git/saltstack.yml
index 55251e1..ebcf96f 100644
--- a/salt/master/formula/git/saltstack.yml
+++ b/salt/master/formula/git/saltstack.yml
@@ -51,3 +51,11 @@
               source: git
               address: '${_param:salt_master_environment_repository}/salt-formula-xtrabackup.git'
               revision: ${_param:salt_master_environment_revision}
+            zookeeper:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-zookeeper.git'
+              revision: ${_param:salt_master_environment_revision}
+            cassandra:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-cassandra.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/pkg/saltstack.yml b/salt/master/formula/pkg/saltstack.yml
index e4a4c1c..a62a272 100644
--- a/salt/master/formula/pkg/saltstack.yml
+++ b/salt/master/formula/pkg/saltstack.yml
@@ -40,3 +40,9 @@
             xtrabackup:
               source: pkg
               name: salt-formula-xtrabackup
+            zookeeper:
+              source: pkg
+              name: salt-formula-zookeeper
+            cassandra:
+              source: pkg
+              name: salt-formula-cassandra
diff --git a/telegraf/agent/init.yml b/telegraf/agent/init.yml
index 3f6133d..ca7e2b0 100644
--- a/telegraf/agent/init.yml
+++ b/telegraf/agent/init.yml
@@ -1,5 +1,6 @@
 classes:
 - service.telegraf.agent
+- system.telegraf.agent.input.http_listener
 - system.telegraf.sudo
 parameters:
   telegraf:
diff --git a/telegraf/agent/input/http_listener.yml b/telegraf/agent/input/http_listener.yml
index 89720e4..6cdcf3c 100644
--- a/telegraf/agent/input/http_listener.yml
+++ b/telegraf/agent/input/http_listener.yml
@@ -1,13 +1,2 @@
-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']
+classes:
+- service.telegraf.agent.input.http_listener
diff --git a/zookeeper/backup/client/single.yml b/zookeeper/backup/client/single.yml
index 3b0d04b..0085b79 100644
--- a/zookeeper/backup/client/single.yml
+++ b/zookeeper/backup/client/single.yml
@@ -1,6 +1,8 @@
 classes:
 - system.openssh.client.root
 parameters:
+  _param:
+    zookeeper_remote_backup_server: cfg01
   zookeeper:
     backup:
       client:
@@ -8,6 +10,4 @@
         full_backups_to_keep: 3
         hours_before_full: 24
         target:
-          host: cfg01
-        restore_latest: 1
-        restore_from: local
+          host: ${_param:zookeeper_remote_backup_server}