Merge "Move elasticsearch and kibana version to defaults"
diff --git a/aptly/server/single.yml b/aptly/server/single.yml
index 9f2d401..55e4b9c 100644
--- a/aptly/server/single.yml
+++ b/aptly/server/single.yml
@@ -8,6 +8,12 @@
     aptly_server_secure: true
     aptly_server_mirror_sources: false
     aptly_server_mirror_ubuntu_sources: ${_param:aptly_server_mirror_sources}
+  linux:
+    system:
+      cron:
+        user:
+          aptly:
+            enabled: true
   nginx:
     server:
       site:
diff --git a/defaults/docker_images.yml b/defaults/docker_images.yml
index fa13bdf..ed8599e 100644
--- a/defaults/docker_images.yml
+++ b/defaults/docker_images.yml
@@ -29,6 +29,7 @@
     docker_image_grafana: "${_param:mcp_docker_registry}/openstack-docker/grafana:${_param:mcp_version}"
     docker_image_prometheus: "${_param:mcp_docker_registry}/openstack-docker/prometheus:${_param:mcp_version}"
     docker_image_prometheus_gainsight: "${_param:mcp_docker_registry}/openstack-docker/gainsight:${_param:mcp_version}"
+    docker_image_prometheus_gainsight_elasticsearch: "${_param:mcp_docker_registry}/openstack-docker/gainsight_elasticsearch:${_param:mcp_version}"
     docker_image_prometheus_relay: "${_param:mcp_docker_registry}/openstack-docker/prometheus_relay:${_param:mcp_version}"
     docker_image_pushgateway: "${_param:mcp_docker_registry}/openstack-docker/pushgateway:${_param:mcp_version}"
     docker_image_remote_agent: "${_param:mcp_docker_registry}/openstack-docker/telegraf:${_param:mcp_version}"
@@ -43,6 +44,5 @@
     # aptly
     docker_image_aptly:
       base: "${_param:mcp_docker_registry}/mirantis/cicd/aptly:${_param:mcp_version}"
-      api: "${_param:mcp_docker_registry}/mirantis/cicd/aptly-api:${_param:mcp_version}"
       public: "${_param:mcp_docker_registry}/mirantis/cicd/aptly-public:${_param:mcp_version}"
       publisher: "${_param:mcp_docker_registry}/mirantis/cicd/aptly-publisher:${_param:mcp_version}"
diff --git a/docker/swarm/stack/aptly.yml b/docker/swarm/stack/aptly.yml
index d5b8362..3282641 100644
--- a/docker/swarm/stack/aptly.yml
+++ b/docker/swarm/stack/aptly.yml
@@ -16,7 +16,8 @@
               deploy:
                 restart_policy:
                   condition: any
-              image: ${_param:docker_image_aptly:api}
+              image: ${_param:docker_image_aptly:base}
+              command: 'aptly api serve -no-lock'
               ports:
                 - 18084:8080
               volumes:
diff --git a/docker/swarm/stack/monitoring/gainsight_elasticsearch.yml b/docker/swarm/stack/monitoring/gainsight_elasticsearch.yml
new file mode 100644
index 0000000..f960fdc
--- /dev/null
+++ b/docker/swarm/stack/monitoring/gainsight_elasticsearch.yml
@@ -0,0 +1,52 @@
+classes:
+- system.prometheus.gainsight.elasticsearch_container
+parameters:
+  _param:
+    gainsight_elasticsearch_enabled: 'true'
+    gainsight_elasticsearch_csv_upload_url: 'http://localhost:9999'
+    gainsight_elasticsearch_account_id: 'default'
+    gainsight_elasticsearch_environment_id: 'default'
+    gainsight_elasticsearch_app_org_id: 'default'
+    gainsight_elasticsearch_access_key: 'default'
+    gainsight_elasticsearch_job_id: 'default'
+    gainsight_elasticsearch_login: 'default'
+    gainsight_elasticsearch_elasticsearch_vip: ${_param:stacklight_log_address}
+    gainsight_elasticsearch_config_directory: '/srv/gainsight'
+    gainsight_elasticsearch_crontab_directory: '/etc/cron.d'
+    gainsight_elasticsearch_config_path: "${_param:gainsight_elasticsearch_config_directory}/config.ini"
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            gainsight_elasticsearch:
+              networks:
+                - monitoring
+              deploy:
+                replicas: 1
+                labels:
+                  com.mirantis.monitoring: "gainsight_elasticsearch"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "gainsight_elasticsearch"
+              image: ${_param:docker_image_prometheus_gainsight_elasticsearch}
+              volumes:
+                - ${prometheus:gainsight_elasticsearch:dir:config}:${_param:gainsight_elasticsearch_config_directory}
+                - ${prometheus:gainsight_elasticsearch:dir:crontab}:${_param:gainsight_elasticsearch_crontab_directory}
+              environment:
+                CSV_UPLOAD_URL: "${_param:gainsight_elasticsearch_csv_upload_url}"
+                ACCOUNT_ID: "${_param:gainsight_elasticsearch_account_id}"
+                ENVIRONMENT_ID: "${_param:gainsight_elasticsearch_environment_id}"
+                APP_ORG_ID: "${_param:gainsight_elasticsearch_app_org_id}"
+                ACCESS_KEY: "${_param:gainsight_elasticsearch_access_key}"
+                JOB_ID: "${_param:gainsight_elasticsearch_job_id}"
+                LOGIN: "${_param:gainsight_elasticsearch_login}"
+                ELASTICSEARCH_HOST: "${_param:gainsight_elasticsearch_elasticsearch_vip}"
+                CONFIG_PATH: "${_param:gainsight_elasticsearch_config_path}"
+                ENABLED: "${_param:gainsight_elasticsearch_enabled}"
diff --git a/docker/swarm/stack/monitoring/sf_notifier.yml b/docker/swarm/stack/monitoring/sf_notifier.yml
index 1fb416f..a66286a 100644
--- a/docker/swarm/stack/monitoring/sf_notifier.yml
+++ b/docker/swarm/stack/monitoring/sf_notifier.yml
@@ -4,6 +4,7 @@
   _param:
     sf_notifier_workers: 4
     sf_notifier_buffer_size: 32768
+    sf_notifier_alert_id_hash_func: sha256
   docker:
     client:
       stack:
@@ -34,6 +35,7 @@
                 SF_NOTIFIER_WORKERS: ${_param:sf_notifier_workers}
                 SF_NOTIFIER_BUFFER_SIZE: ${_param:sf_notifier_buffer_size}
                 SF_NOTIFIER_APP_PORT: ${prometheus:sf_notifier:uwsgi:bind_port}
+                SF_NOTIFIER_ALERT_ID_HASH_FUNC: ${_param:sf_notifier_alert_id_hash_func}
                 SFDC_AUTH_URL: "${_param:sf_notifier_sfdc_auth_url}"
                 SFDC_USERNAME: "${_param:sf_notifier_sfdc_username}"
                 SFDC_PASSWORD: "${_param:sf_notifier_sfdc_password}"
diff --git a/jenkins/client/job/deploy/update/cloud_update.yml b/jenkins/client/job/deploy/update/cloud_update.yml
index 4482324..aef20ce 100644
--- a/jenkins/client/job/deploy/update/cloud_update.yml
+++ b/jenkins/client/job/deploy/update/cloud_update.yml
@@ -55,36 +55,28 @@
               description: "Stop API services before update"
             TARGET_KERNEL_UPDATES:
               type: string
-              default: "cfg,ctl,prx,msg,dbs"
-              description: "Comma separated list of nodes to update kernel if newer version is available (Valid values are cfg,ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cid,cmp,kvm,osd,gtw-physical)"
+              default: "cfg,msg,dbs"
+              description: "Comma separated list of nodes to update kernel if newer version is available (Valid values are cfg,msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,cid,kvm,osd)"
             TARGET_REBOOT:
               type: string
-              default: "cfg,ctl,prx,msg,dbs"
-              description: "Comma separated list of nodes to reboot after update or physical machine rollback (Valid values are cfg,ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cid,cmp,kvm,osd,gtw-physical)"
+              default: "cfg,msg,dbs"
+              description: "Comma separated list of nodes to reboot after update or physical machine rollback (Valid values are cfg,msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,cid,kvm,osd)"
             TARGET_HIGHSTATE:
               type: string
-              default: "cfg,ctl,prx,msg,dbs"
-              description: "Comma separated list of nodes to run Salt Highstate on after update or physical machine rollback (Valid values are cfg,ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cid,cmp,kvm,osd,gtw-physical)"
+              default: "cfg,msg,dbs"
+              description: "Comma separated list of nodes to run Salt Highstate on after update or physical machine rollback (Valid values are cfg,msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,cid,kvm,osd)"
             TARGET_UPDATES:
               type: string
-              default: "cfg,ctl,prx,msg,dbs"
-              description: "Comma separated list of nodes to update (Valid values are cfg,ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cid,cmp,kvm,osd,gtw-physical)"
+              default: "cfg,msg,dbs"
+              description: "Comma separated list of nodes to update (Valid values are cfg,msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,cid,kvm,osd)"
             TARGET_ROLLBACKS:
               type: string
               default: ""
-              description: "Comma separated list of nodes to rollback (Valid values are ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cmp,kvm,osd,gtw-physical)"
+              description: "Comma separated list of nodes to rollback (Valid values are msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,kvm,osd)"
             TARGET_SNAPSHOT_MERGES:
               type: string
               default: ""
-              description: "Comma separated list of nodes to merge live snapshot for (Valid values are cfg,ctl,prx,msg,dbs,log,mon,mtr,ntw,nal,gtw-virtual,cmn,rgw,cid)"
-            CTL_TARGET:
-              type: string
-              default: "ctl*"
-              description: "Salt targeted CTL nodes (ex. ctl*)"
-            PRX_TARGET:
-              type: string
-              default: "prx*"
-              description: "Salt targeted PRX nodes (ex. prx*)"
+              description: "Comma separated list of nodes to merge live snapshot for (Valid values are cfg,msg,dbs,log,mon,mtr,ntw,nal,cmn,rgw,cid)"
             MSG_TARGET:
               type: string
               default: "msg*"
@@ -125,10 +117,6 @@
               type: string
               default: "cid*"
               description: "Salt targeted CID nodes (ex. cid*)"
-            CMP_TARGET:
-              type: string
-              default: "cmp001*"
-              description: "Salt targeted physical compute nodes (ex. cmp001*)"
             KVM_TARGET:
               type: string
               default: "kvm01*"
@@ -137,10 +125,6 @@
               type: string
               default: "osd001*"
               description: "Salt targeted physical Ceph OSD nodes (ex. osd001*)"
-            GTW_TARGET:
-              type: string
-              default: "gtw01*"
-              description: "Salt targeted physical or virtual GTW nodes (ex. gtw01*)"
             ROLLBACK_PKG_VERSIONS:
               type: string
               default: ""
diff --git a/keystone/server/cluster.yml b/keystone/server/cluster.yml
index 95884e7..d64a6cb 100644
--- a/keystone/server/cluster.yml
+++ b/keystone/server/cluster.yml
@@ -34,13 +34,14 @@
       admin_password: ${_param:keystone_admin_password}
       admin_email: ${_param:admin_email}
       role: ${_param:openstack_node_role}
+      admin_region: ${_param:openstack_region}
+      region: ${_param:openstack_region}
       bind:
         address: ${_param:cluster_local_address}
         private_address: ${_param:cluster_vip_address}
         private_port: 35357
         public_address: ${_param:cluster_vip_address}
         public_port: 5000
-      region: ${_param:openstack_region}
       database:
         engine: mysql
         host: ${_param:openstack_database_address}
diff --git a/keystone/server/single.yml b/keystone/server/single.yml
index c792bf5..6996968 100644
--- a/keystone/server/single.yml
+++ b/keystone/server/single.yml
@@ -33,13 +33,14 @@
       admin_password: ${_param:keystone_admin_password}
       admin_email: ${_param:admin_email}
       role: ${_param:openstack_node_role}
+      admin_region: ${_param:openstack_region}
+      region: ${_param:openstack_region}
       bind:
         address: ${_param:single_address}
         private_address: ${_param:single_address}
         private_port: 35357
         public_address: ${_param:single_address}
         public_port: 5000
-      region: ${_param:openstack_region}
       database:
         engine: mysql
         host: ${_param:single_address}
diff --git a/prometheus/gainsight/elasticsearch_container.yml b/prometheus/gainsight/elasticsearch_container.yml
new file mode 100644
index 0000000..8a10fbf
--- /dev/null
+++ b/prometheus/gainsight/elasticsearch_container.yml
@@ -0,0 +1,3 @@
+classes:
+- service.prometheus.gainsight.elasticsearch_container
+
diff --git a/salt/minion/cert/vnc/novncproxy_server.yml b/salt/minion/cert/vnc/novncproxy_server.yml
index a9f0062..68152d4 100644
--- a/salt/minion/cert/vnc/novncproxy_server.yml
+++ b/salt/minion/cert/vnc/novncproxy_server.yml
@@ -19,7 +19,7 @@
             DNS:${_param:cluster_local_address},
             DNS:${linux:system:name},
             DNS:${_param:cluster_vip_address},
-            DNS:${linux:network:fqdn}
+            DNS:${linux:network:fqdn},
             DNS:${_param:openstack_service_host}
           key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
           key_file: ${_param:novncproxy_server_ssl_key_file}