Merge "OpenContrail 4 add restart:always for containers"
diff --git a/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml b/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml
new file mode 100644
index 0000000..6ba618b
--- /dev/null
+++ b/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml
@@ -0,0 +1,45 @@
+---
+summary: >
+  Updated the StackLight components to newer versions
+
+upgrade:
+  - |
+    Updated the following StackLight components:
+
+    - Prometheus server to version 2.0.0
+    - Alertmanager to version 0.11.0
+    - Pushgateway to version 0.4.0
+
+    .. important::
+
+       The new version of Prometheus is not backward compatible
+       with previous versions. Therefore, you must upgrade the
+       monitoring stack as described in the MCP Operations Guide.
+
+       If You want to stick to 1.7 (NOT RECOMMENDATED), update
+       reclass model:
+
+      .. code-block:: yaml
+
+         _param:
+           docker_image_alertmanager: docker-prod-virtual.docker.mirantis.net/openstack-docker/alertmanager:20171222124606
+           docker_image_pushgateway: docker-prod-virtual.docker.mirantis.net/openstack-docker/pushgateway:20171222124606
+           docker_image_prometheus: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus:20171222124606
+           docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:20171222124606
+         docker:
+           client:
+             stack:
+               monitoring:
+                 service:
+                   server:
+                     environment:
+                       PROMETHEUS_STORAGE_LOCAL_ENGINE: persisted
+                       PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: 3221225472
+                       PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: 4096
+
+         prometheus:
+           server:
+             version: 1.7
+
+
+    .. TODO: Add a link to the upgrade procedure.
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
index ce120b5..5afbf77 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
@@ -20,4 +20,4 @@
           publisher:
             component: ${_param:mirror_mirantis_openstack_xenial_cassandra_components}
             distributions:
-              - ubuntu-xenial/cassandra/${_param:apt_mk_version}/
\ No newline at end of file
+              - ubuntu-xenial/cassandra/${_param:apt_mk_version}
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/ceph.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/ceph.yml
index d58dd96..a0b1293 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/ceph.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/ceph.yml
@@ -20,4 +20,4 @@
           publisher:
             component: ${_param:mirror_mirantis_openstack_xenial_ceph_components}
             distributions:
-              - ubuntu-xenial/ceph/${_param:apt_mk_version}/
\ No newline at end of file
+              - ubuntu-xenial/ceph/${_param:apt_mk_version}
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
index 9b6fe2a..cfec221 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
@@ -3,7 +3,7 @@
     apt_mk_version: stable
     mirror_mirantis_openstack_xenial_glusterfs_source: http://apt.mirantis.com/xenial/glusterfs/
     mirror_mirantis_openstack_xenial_glusterfs_distribution: ${_param:apt_mk_version}
-    mirror_mirantis_openstack_xenial_glusterfs_components: "3.12"
+    mirror_mirantis_openstack_xenial_glusterfs_components: '"3.12"'
     mirror_mirantis_openstack_xenial_glusterfs_key_url: "http://apt.mirantis.com/public.gpg"
     mirror_mirantis_openstack_xenial_glusterfs_gpgkeys:
       - A76882D3
diff --git a/docker/swarm/stack/monitoring/init.yml b/docker/swarm/stack/monitoring/init.yml
index 6efe125..925a10a 100644
--- a/docker/swarm/stack/monitoring/init.yml
+++ b/docker/swarm/stack/monitoring/init.yml
@@ -116,8 +116,5 @@
                 PROMETHEUS_DATA_DIR: ${_param:prometheus_server_data_directory}
                 PROMETHEUS_BIND_PORT: ${prometheus:server:bind:port}
                 PROMETHEUS_BIND_ADDRESS: ${prometheus:server:bind:address}
-                PROMETHEUS_STORAGE_LOCAL_ENGINE: ${prometheus:server:storage:local:engine}
                 PROMETHEUS_STORAGE_LOCAL_RETENTION: ${prometheus:server:storage:local:retention}
-                PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: ${prometheus:server:storage:local:target_heap_size}
-                PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: ${prometheus:server:storage:local:num_fingerprint_mutexes}
                 PROMETHEUS_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15010"
diff --git a/gerrit/server/single.yml b/gerrit/server/single.yml
index 952e82e..6704f97 100644
--- a/gerrit/server/single.yml
+++ b/gerrit/server/single.yml
@@ -38,6 +38,11 @@
         hash: sha256=45786a920a929c6258de6461bcf03ddec8925577bd485905f102ceb6e5e1e47c
 #        address: https://gerrit-ci.gerritforge.com/job/Gerrit-stable-2.13/20/artifact/buck-out/gen/gerrit.war
 #        hash: md5=2e17064b8742c4622815593ec496c571
+      receive_timeout: 5min
+      sshd:
+        threads: 64
+        batch_threads: 16
+        max_connections_per_user: 64
       database:
         engine: postgresql
         host: localhost
@@ -45,6 +50,8 @@
         name: gerrit
         user: gerrit
         password: ${_param:postgresql_gerrit_password}
+        pool_limit: 250
+        pool_max_idle: 16
   postgresql:
     server:
       version: "9.5"
diff --git a/jenkins/client/job/deploy/lab/release/mcp11.yml b/jenkins/client/job/deploy/lab/release/mcp11.yml
index 0a3127c..8e61e8e 100644
--- a/jenkins/client/job/deploy/lab/release/mcp11.yml
+++ b/jenkins/client/job/deploy/lab/release/mcp11.yml
@@ -3,8 +3,8 @@
 parameters:
   _param:
     jenkins_deploy_jobs:
-      - stack_name: virtual_mcp11_contrail
-        stack_env: devcloud_virtual_mcp11_contrail
+      - stack_name: virtual_mcp_contrail
+        stack_env: devcloud_mcp11_contrail
         stack_install: core,openstack,contrail
         stack_type: heat
         stack_test: ""
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
index db92e3b..4e6f460 100644
--- a/jenkins/client/job/deploy/update/init.yml
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -9,6 +9,7 @@
   - system.jenkins.client.job.deploy.update.upgrade_mcp_release
   - system.jenkins.client.job.deploy.update.upgrade_ovs_gateway
   - system.jenkins.client.job.deploy.update.upgrade_opencontrail
+  - system.jenkins.client.job.deploy.update.upgrade_opencontrail4_0
   - system.jenkins.client.job.deploy.update.restore_mysql
   - system.jenkins.client.job.deploy.update.restore_cassandra
   - system.jenkins.client.job.deploy.update.restore_zookeeper
diff --git a/jenkins/client/job/deploy/update/upgrade_opencontrail4_0.yml b/jenkins/client/job/deploy/update/upgrade_opencontrail4_0.yml
new file mode 100644
index 0000000..f622371
--- /dev/null
+++ b/jenkins/client/job/deploy/update/upgrade_opencontrail4_0.yml
@@ -0,0 +1,50 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+  _param:
+    jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+  jenkins:
+    client:
+      job:
+        deploy-upgrade-opencontrail40:
+          type: workflow-scm
+          concurrent: true
+          display_name: "Deploy - upgrade Opencontrail to 4.x"
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            branch: "${_param:jenkins_pipelines_branch}"
+            credentials: "gerrit"
+            script: opencontrail40-upgrade.groovy
+          param:
+            SALT_MASTER_URL:
+              type: string
+              default: "${_param:jenkins_salt_api_url}"
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              default: "salt"
+            STAGE_CONTROLLERS_UPGRADE:
+              type: boolean
+              default: 'true'
+              description: "Run upgrade on Opencontrail controllers"
+            STAGE_COMPUTES_UPGRADE:
+              type: boolean
+              default: 'true'
+              description: "Run upgrade on Opencontrail compute nodes"
+            COMPUTE_TARGET_SERVERS:
+              type: string
+              default: "cmp*"
+              description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+            COMPUTE_TARGET_SUBSET_LIVE:
+              type: string
+              default: '1'
+              description: Number of selected nodes to live apply compute upgrade.
+            STAGE_CONTROLLERS_ROLLBACK:
+              type: boolean
+              default: 'false'
+              description: "Run rollback on Opencontrail controllers"
+            STAGE_COMPUTES_ROLLBACK:
+              type: boolean
+              default: 'false'
+              description: "Run rollback on Opencontrail compute nodes"
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index b5c596b..2e29d65 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -173,7 +173,7 @@
           name: test-salt-formulas-env
           discard:
             build:
-              keep_num: 500
+              keep_num: 1000
             artifact:
               keep_num: 10
           type: workflow-scm
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index ec35f94..879a1f1 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -173,7 +173,7 @@
           name: test-salt-model-node
           discard:
             build:
-              keep_num: 500
+              keep_num: 1000
             artifact:
               keep_num: 10
           type: workflow-scm
diff --git a/prometheus/server/init.yml b/prometheus/server/init.yml
index 99fdceb..5d115ac 100644
--- a/prometheus/server/init.yml
+++ b/prometheus/server/init.yml
@@ -4,6 +4,7 @@
     prometheus_server_data_directory: /data
   prometheus:
     server:
+      version: 2.0
       dir:
         data: /srv/volumes/local/prometheus/data
         config: /srv/volumes/local/prometheus/config