Merge "Drop static passwords" into release/proposed/2019.2.0
diff --git a/defaults/docker_images.yml b/defaults/docker_images.yml
index 6f51d1f..a4f7fc2 100644
--- a/defaults/docker_images.yml
+++ b/defaults/docker_images.yml
@@ -29,7 +29,7 @@
     docker_image_alerta: "${_param:mcp_docker_registry}/mirantis/external/alerta-web:${_param:mcp_version}"
     docker_image_alertmanager: "${_param:mcp_docker_registry}/openstack-docker/alertmanager:2019.2.4"
     docker_image_grafana: "${_param:mcp_docker_registry}/openstack-docker/grafana:${_param:mcp_version}"
-    docker_image_prometheus_es_exporter: "${_param:mcp_docker_registry}/openstack-docker/prometheus-es-exporter:0.5.1-mcp0"
+    docker_image_prometheus_es_exporter: "${_param:mcp_docker_registry}/openstack-docker/prometheus-es-exporter:2019.2.4"
     docker_image_prometheus: "${_param:mcp_docker_registry}/openstack-docker/prometheus:${_param:mcp_version}"
     docker_image_prometheus_gainsight: "${_param:mcp_docker_registry}/openstack-docker/gainsight:2019.2.4"
     docker_image_prometheus_gainsight_elasticsearch: "${_param:mcp_docker_registry}/openstack-docker/gainsight_elasticsearch:${_param:mcp_version}"
@@ -38,7 +38,7 @@
     docker_image_remote_agent: "${_param:mcp_docker_registry}/openstack-docker/telegraf:2019.2.4"
     docker_image_remote_collector: "${_param:mcp_docker_registry}/openstack-docker/heka:${_param:mcp_version}"
     docker_image_remote_storage_adapter: "${_param:mcp_docker_registry}/openstack-docker/remote_storage_adapter:${_param:mcp_version}"
-    docker_image_sf_notifier: "${_param:mcp_docker_registry}/openstack-docker/sf_notifier:0.2-mcp0"
+    docker_image_sf_notifier: "${_param:mcp_docker_registry}/openstack-docker/sf_notifier:2019.2.4"
     ##
     docker_image_cockroachdb: "${_param:mcp_docker_registry}/mirantis/external/cockroach/cockroach:v2.1.1"
     # keycloak
@@ -134,13 +134,13 @@
           name: elasticsearch:${_param:mcp_version}
         - registry: ${_param:mcp_docker_registry}/openstack-docker
           target_registry: ${_param:default_local_mirrror_content:docker_client_registry_target_registry}/openstack-docker
-          name: sf_notifier:${_param:mcp_version}
+          name: sf_notifier:2019.2.4
         - registry: ${_param:mcp_docker_registry}/openstack-docker
           target_registry: ${_param:default_local_mirrror_content:docker_client_registry_target_registry}/openstack-docker
           name: gainsight_elasticsearch:${_param:mcp_version}
         - registry: ${_param:mcp_docker_registry}/mirantis/external/braedon
-          target_registry: ${_param:default_local_mirrror_content:docker_client_registry_target_registry}/mirantis/external/braedon
-          name: prometheus-es-exporter:0.5.1
+          target_registry: ${_param:default_local_mirrror_content:docker_client_registry_target_registry}/openstack-docker
+          name: prometheus-es-exporter:2019.2.4
 
         # QA\CVP tool-set's
         - registry: ${_param:mcp_docker_registry}/mirantis/oss
diff --git a/defaults/init.yml b/defaults/init.yml
index 8fae296..bcee4bf 100644
--- a/defaults/init.yml
+++ b/defaults/init.yml
@@ -13,6 +13,7 @@
 - system.defaults.glusterfs
 - system.defaults.jenkins
 - system.defaults.maas
+- system.defaults.opencontrail
 - system.defaults.openstack
 - system.defaults.galera
 - system.defaults.rabbitmq
diff --git a/defaults/opencontrail/init.yml b/defaults/opencontrail/init.yml
new file mode 100644
index 0000000..24cd68e
--- /dev/null
+++ b/defaults/opencontrail/init.yml
@@ -0,0 +1,6 @@
+parameters:
+  _param:
+    opencontrail_identity_protocol: http
+    opencontrail_identity_port: 35357
+    opencontrail_identity_version: '2.0'
+    opencontrail_admin_user: 'contrail'
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index 44b334b..cc62919 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -17,6 +17,7 @@
     openstack_upgrade_enabled: False
     openstack_telemetry_redis_db: '0'
     openstack_telemetry_redis_sentinel_mastername: 'master_1'
+    openstack_region: RegionOne
     # SSL
     ceilometer_agent_ssl_enabled: False
     openstack_mysql_x509_enabled: False
diff --git a/jenkins/client/job/ceph/upgrade.yml b/jenkins/client/job/ceph/upgrade.yml
index 7717761..d308845 100644
--- a/jenkins/client/job/ceph/upgrade.yml
+++ b/jenkins/client/job/ceph/upgrade.yml
@@ -73,3 +73,7 @@
               type: boolean
               default: 'true'
               description: Select to copy the disks of Ceph VMs before upgrade and backup Ceph directories on OSD nodes.
+            BACKUP_DIR:
+              type: string
+              default: '/root'
+              description: Select the target dir to backup to when BACKUP_ENABLED
diff --git a/neutron/compute/cluster.yml b/neutron/compute/cluster.yml
index c8a0922..0766df7 100644
--- a/neutron/compute/cluster.yml
+++ b/neutron/compute/cluster.yml
@@ -14,6 +14,9 @@
         python-pymysql:
           fromrepo: ${_param:openstack_version}
           version: latest
+      kernel:
+        sysctl:
+          fs.inotify.max_user_instances: 4096
   neutron:
     compute:
       dvr: ${_param:neutron_compute_dvr}
diff --git a/opencontrail/compute/cluster.yml b/opencontrail/compute/cluster.yml
index 7cdcdf6..32153df 100644
--- a/opencontrail/compute/cluster.yml
+++ b/opencontrail/compute/cluster.yml
@@ -4,6 +4,7 @@
 - opencontrail
 parameters:
   _param:
+    opencontrail_version: 3.0
     opencontrail_compute_iface_mask: 24
   opencontrail:
     common:
@@ -11,25 +12,15 @@
       identity:
         engine: keystone
         host: ${_param:openstack_control_address}
-        port: 35357
+        port: ${_param:opencontrail_identity_port}
         token: ${_param:keystone_service_token}
         password: ${_param:keystone_admin_password}
       network:
-        engine: neutron
         host: ${_param:opencontrail_control_address}
-        port: 9696
     compute:
       version: ${_param:opencontrail_version}
-      disable_flow_collection: true
-      enabled: True
+      disable_flow_collection: True
       bind:
         address: ${_param:single_address}
       discovery:
         host: ${_param:opencontrail_control_address}
-      interface:
-        address: ${_param:opencontrail_compute_address}
-        dev: ${_param:opencontrail_compute_iface}
-        gateway: ${_param:opencontrail_compute_gateway}
-        mask: ${_param:opencontrail_compute_iface_mask}
-        dns: ${_param:opencontrail_compute_dns}
-        mtu: 9000
diff --git a/opencontrail/compute/cluster4_0.yml b/opencontrail/compute/cluster4_0.yml
index 3cb1514..058463d 100644
--- a/opencontrail/compute/cluster4_0.yml
+++ b/opencontrail/compute/cluster4_0.yml
@@ -1,31 +1,24 @@
-classes:
-  - service.opencontrail.compute.cluster
 applications:
 - opencontrail
+classes:
+  - service.opencontrail.compute.cluster
 parameters:
   _param:
+    opencontrail_version: 4.1
     opencontrail_compute_iface_mask: 24
-    opencontrail_version: 4.0
-    linux_repo_contrail_component: oc40
   opencontrail:
     common:
       version: ${_param:opencontrail_version}
       identity:
         engine: keystone
         host: ${_param:openstack_control_address}
-        port: 35357
+        port: ${_param:opencontrail_identity_port}
         token: ${_param:keystone_service_token}
         password: ${_param:opencontrail_admin_password}
       network:
-        engine: neutron
         host: ${_param:openstack_control_address}
-        port: 9696
     compute:
-      version: ${_param:opencontrail_version}
-      disable_flow_collection: true
-      enabled: True
-      bind:
-        address: ${_param:single_address}
+      disable_flow_collection: True
       config:
         members:
         - host: ${_param:opencontrail_control_node01_address}
@@ -41,10 +34,3 @@
         - host: ${_param:opencontrail_control_node01_address}
         - host: ${_param:opencontrail_control_node02_address}
         - host: ${_param:opencontrail_control_node03_address}
-      interface:
-        address: ${_param:opencontrail_compute_address}
-        dev: ${_param:opencontrail_compute_iface}
-        gateway: ${_param:opencontrail_compute_gateway}
-        mask: ${_param:opencontrail_compute_iface_mask}
-        dns: ${_param:opencontrail_compute_dns}
-        mtu: 9000
diff --git a/opencontrail/compute/single.yml b/opencontrail/compute/single.yml
index 65426c8..2211a69 100644
--- a/opencontrail/compute/single.yml
+++ b/opencontrail/compute/single.yml
@@ -1,7 +1,10 @@
 applications:
 - opencontrail
+classes:
+  - service.opencontrail.compute.single
 parameters:
   _param:
+    opencontrail_version: 3.0
     opencontrail_compute_iface_mask: 24
   opencontrail:
     common:
@@ -9,7 +12,7 @@
       identity:
         engine: keystone
         host: ${_param:control_address}
-        port: 35357
+        port: ${_param:opencontrail_identity_port}
         token: ${_param:keystone_service_token}
         password: ${_param:keystone_admin_password}
       network:
@@ -17,17 +20,8 @@
         host: ${_param:control_address}
         port: 9696
     compute:
-      version: ${_param:opencontrail_version}
-      enabled: True
       discovery:
         host: ${_param:control_address}
-      interface:
-        address: ${_param:opencontrail_compute_address}
-        dev: ${_param:opencontrail_compute_iface}
-        gateway: ${_param:opencontrail_compute_gateway}
-        mask: ${_param:opencontrail_compute_iface_mask}
-        dns: ${_param:opencontrail_compute_dns}
-        mtu: 9000
   nova:
     compute:
       network:
diff --git a/opencontrail/compute/single4_0.yml b/opencontrail/compute/single4_0.yml
index b98522d..952827f 100644
--- a/opencontrail/compute/single4_0.yml
+++ b/opencontrail/compute/single4_0.yml
@@ -1,9 +1,11 @@
 applications:
 - opencontrail
+classes:
+  - service.opencontrail.compute.single
 parameters:
   _param:
+    opencontrail_version: 4.1
     opencontrail_compute_iface_mask: 24
-    opencontrail_version: 4.0
     linux_repo_contrail_component: oc40
   opencontrail:
     common:
@@ -11,7 +13,7 @@
       identity:
         engine: keystone
         host: ${_param:control_address}
-        port: 35357
+        port: ${_param:opencontrail_identity_port}
         token: ${_param:keystone_service_token}
         password: ${_param:opencontrail_admin_password}
       network:
@@ -19,8 +21,6 @@
         host: ${_param:control_address}
         port: 9696
     compute:
-      version: ${_param:opencontrail_version}
-      enabled: True
       config:
         members:
         - host: ${_param:opencontrail_control_node01_address}
@@ -31,11 +31,3 @@
         - host: ${_param:opencontrail_analytics_node01_address}
         - host: ${_param:opencontrail_analytics_node02_address}
         - host: ${_param:opencontrail_analytics_node03_address}
-      interface:
-        address: ${_param:opencontrail_compute_address}
-        dev: ${_param:opencontrail_compute_iface}
-        gateway: ${_param:opencontrail_compute_gateway}
-        mask: ${_param:opencontrail_compute_iface_mask}
-        dns: ${_param:opencontrail_compute_dns}
-        mtu: 9000
-
diff --git a/opencontrail/control/analytics4_0.yml b/opencontrail/control/analytics4_0.yml
index 18c5a5f..19fefcc 100644
--- a/opencontrail/control/analytics4_0.yml
+++ b/opencontrail/control/analytics4_0.yml
@@ -91,6 +91,7 @@
               volumes:
                 - /etc/contrail:/etc/contrail
                 - /etc/redis/redis.conf:/etc/redis/redis.conf
+                - /var/crashes:/var/crashes
                 - /var/log/contrail:/var/log/contrail
                 - /var/log/journal/contrail-analytics:/var/log/journal
               env_file:
diff --git a/prometheus/elasticsearch_exporter/queries/compute.yml b/prometheus/elasticsearch_exporter/queries/compute.yml
index a17cb7f..d4bd84f 100644
--- a/prometheus/elasticsearch_exporter/queries/compute.yml
+++ b/prometheus/elasticsearch_exporter/queries/compute.yml
@@ -7,30 +7,16 @@
           #   - compute_instance_event_doc_count{event="example"}
           #   - compute_instance_event_sum_other_doc_count
           #   - compute_instance_event_doc_count_error_upper_bound
-          #   - compute_instance_event_host_doc_count{host="example01",event="example"}
-          #   - compute_instance_event_host_sum_other_doc_count{event="example"}
-          #   - compute_instance_event_host_doc_count_error_upper_bound{event="example"}
           #
           indices: '<notification-{now/d}>'
           interval: 600
           json: |
             {
               "size": 0,
-              "query": {
-                "match_all": {}
-              },
               "aggs": {
                 "event": {
                   "terms": {
                     "field": "event_type.keyword"
-                  },
-                  "aggs": {
-                    "host": {
-                      "terms": {
-                        "field": "Hostname.keyword",
-                        "min_doc_count": 0
-                      }
-                    }
                   }
                 }
               }
@@ -38,9 +24,9 @@
 
         compute_instance_create_start:
           # Produces metrics:
-          #   - compute_instance_create_start_host_doc_count{host="example01"}
-          #   - compute_instance_create_start_host_event_sum_other_doc_count
-          #   - compute_instance_create_start_host_doc_count_error_upper_bound
+          #   - compute_instance_create_start_event_doc_count
+          #   - compute_instance_create_start_event_sum_other_doc_count
+          #   - compute_instance_create_start_event_doc_count_error_upper_bound
           #   - compute_instance_create_start_hits
           #   - compute_instance_create_start_took_milliseconds
           #
@@ -49,16 +35,12 @@
           json: |
             {
               "size": 0,
-              "query": {
-                "term": {
-                  "event_type": "compute.instance.create.start"
-                }
-              },
               "aggs": {
-                "host": {
-                  "terms": {
-                    "field": "Hostname.keyword",
-                    "min_doc_count": 0
+                "event": {
+                  "filter": {
+                    "term": {
+                      "event_type.keyword": "compute.instance.create.start"
+                    }
                   }
                 }
               }
@@ -66,9 +48,9 @@
 
         compute_instance_create_end:
           # Produces metrics:
-          #   - compute_instance_create_end_host_doc_count{host="example01"}
-          #   - compute_instance_create_end_host_event_sum_other_doc_count
-          #   - compute_instance_create_end_host_doc_count_error_upper_bound
+          #   - compute_instance_create_end_event_doc_count
+          #   - compute_instance_create_end_event_sum_other_doc_count
+          #   - compute_instance_create_end_event_doc_count_error_upper_bound
           #   - compute_instance_create_end_hits
           #   - compute_instance_create_end_took_milliseconds
           #
@@ -77,16 +59,12 @@
           json: |
             {
               "size": 0,
-              "query": {
-                "term": {
-                  "event_type": "compute.instance.create.end"
-                }
-              },
               "aggs": {
-                "host": {
-                  "terms": {
-                    "field": "Hostname.keyword",
-                    "min_doc_count": 0
+                "event": {
+                  "filter": {
+                    "term": {
+                      "event_type.keyword": "compute.instance.create.end"
+                    }
                   }
                 }
               }
@@ -94,9 +72,9 @@
 
         compute_instance_create_error:
           # Produces metrics:
-          #   - compute_instance_create_error_host_doc_count{host="example01"}
-          #   - compute_instance_create_error_host_event_sum_other_doc_count
-          #   - compute_instance_create_error_host_doc_count_error_upper_bound
+          #   - compute_instance_create_error_event_doc_count
+          #   - compute_instance_create_error_event_sum_other_doc_count
+          #   - compute_instance_create_error_event_doc_count_error_upper_bound
           #   - compute_instance_create_error_hits
           #   - compute_instance_create_error_took_milliseconds
           #
@@ -105,18 +83,13 @@
           json: |
             {
               "size": 0,
-              "query": {
-                "term": {
-                  "event_type": "compute.instance.create.error"
-                }
-              },
               "aggs": {
-                "host": {
-                  "terms": {
-                    "field": "Hostname.keyword",
-                    "min_doc_count": 0
+                "event": {
+                  "filter": {
+                    "term": {
+                      "event_type.keyword": "compute.instance.create.error"
+                    }
                   }
                 }
               }
             }
-
diff --git a/prometheus/gainsight/query/openstack.yml b/prometheus/gainsight/query/openstack.yml
index b443712..0e7aab6 100644
--- a/prometheus/gainsight/query/openstack.yml
+++ b/prometheus/gainsight/query/openstack.yml
@@ -19,7 +19,7 @@
         nova_vm_all: "'Total VM number','avg_over_time(total:openstack_nova_instance_all[1d])'"
         nova_vm_failed: "'Failed VM number','avg_over_time(total:openstack_nova_instance_failed[1d])'"
         kpi_downtime: "'KPI Downtime','1 - avg_over_time(total:openstack_nova_instance_failed[1d]) / avg_over_time(total:openstack_nova_instance_all[1d])'"
-        compute_instance_create_start: "'VM creation start','sum(compute_instance_create_start_host_doc_count)'"
-        compute_instance_create_end: "'VM creation end','sum(compute_instance_create_end_host_doc_count)'"
-        compute_instance_create_error: "'VM creation error','sum(compute_instance_create_error_host_doc_count)'"
+        compute_instance_create_start: "'VM creation start','sum(compute_instance_create_start_event_doc_count)'"
+        compute_instance_create_end: "'VM creation end','sum(compute_instance_create_end_event_doc_count)'"
+        compute_instance_create_error: "'VM creation error','sum(compute_instance_create_error_event_doc_count)'"