Merge "Add job parameters required for Calico upgrade"
diff --git a/defaults/docker_images.yml b/defaults/docker_images.yml
index 8d13c63..a7b4c19 100644
--- a/defaults/docker_images.yml
+++ b/defaults/docker_images.yml
@@ -17,3 +17,4 @@
     docker_image_gerrit: "${_param:mcp_docker_registry}/mirantis/cicd/gerrit:${_param:apt_mk_version}"
     # mysql:5.6
     docker_image_mysql: "${_param:mcp_docker_registry}/mirantis/cicd/mysql:${_param:apt_mk_version}"
+    docker_image_jenkins_slave: ${_param:mcp_docker_registry}/mirantis/cicd/jnlp-slave:${_param:apt_mk_version}
diff --git a/defaults/linux_system_repo.yml b/defaults/linux_system_repo.yml
index 81497c6..1194dce 100644
--- a/defaults/linux_system_repo.yml
+++ b/defaults/linux_system_repo.yml
@@ -38,3 +38,4 @@
     linux_system_repo_mcp_glusterfs_version_number: "3.8"
     linux_system_repo_mcp_saltstack_version_number: "${_param:salt_version}"
     linux_system_repo_mcp_ceph_codename: luminous
+    linux_repo_contrail_component: oc40
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index 284672a..1c864e5 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -33,6 +33,9 @@
     # Barbican
     barbican_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
     barbican_memcache_secret_key: ''
+    # Ironic
+    ironic_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
+    ironic_memcache_secret_key: ''
     # Openstack memcached server protocols
     openstack_memcached_proto_tcp_enabled: True
     openstack_memcached_proto_udp_enabled: False
diff --git a/docker/swarm/stack/jenkins/slave.yml b/docker/swarm/stack/jenkins/slave.yml
index f3cd90c..1585058 100644
--- a/docker/swarm/stack/jenkins/slave.yml
+++ b/docker/swarm/stack/jenkins/slave.yml
@@ -2,7 +2,6 @@
 - system.docker
 parameters:
   _param:
-    docker_image_jenkins_slave: mirantis/jnlp-slave
     jenkins_master_host: ${_param:control_vip_address}
     jenkins_master_port: 8081
     jenkins_secret: "7c40abc1a7df2d26dd6b2e4421af17218df75a16fcbd5e3aa6017d9f47eaeabe"
diff --git a/docker/swarm/stack/monitoring/elasticsearch_client_node.yml b/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
index d642dd2..8380377 100644
--- a/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
+++ b/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
@@ -36,7 +36,7 @@
                 xpack.monitoring.enabled: "false"
                 bootstrap.memory_lock: "false"
                 discovery.zen.minimum_master_nodes: 2
-                discovery.zen.ping.unicast.hosts: ${_param:stacklight_monitor_address}
+                discovery.zen.ping.unicast.hosts: ${_param:stacklight_log_address}
               labels:
                 com.mirantis.monitoring: "elasticsearch"
               image: ${_param:docker_image_elasticsearch}
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index a73ef44..26349eb 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -1,7 +1,8 @@
 parameters:
   _param:
-    elasticsearch_curator_indices_pattern: "^(log|notification)-.*$"
+    elasticsearch_curator_indices_pattern: "^(log|audit)-.*$"
     elasticsearch_curator_retention_period: 31
+    elasticsearch_curator_notifications_retention_period: 90
   linux:
     system:
       cron:
@@ -34,6 +35,22 @@
               unit_count: ${_param:elasticsearch_curator_retention_period}
           - action: delete_indices
             description: >-
+                Delete indices older than ${_param:elasticsearch_curator_notifications_retention_period} days (based on index creation date).
+            options:
+              ignore_empty_list: True
+              continue_if_exception: False
+              disable_action: False
+            filters:
+            - filtertype: pattern
+              kind: regex
+              value: "^notification-.*$"
+            - filtertype: age
+              source: creation_date
+              direction: older
+              unit: days
+              unit_count: ${_param:elasticsearch_curator_notifications_retention_period}
+          - action: delete_indices
+            description: >-
                 Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index creation date).
             options:
               ignore_empty_list: True
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
index fe90091..5bbf8ce 100644
--- a/ironic/api/cluster.yml
+++ b/ironic/api/cluster.yml
@@ -33,3 +33,8 @@
           cert_file: ${_param:rabbitmq_ironic_client_ssl_cert_file}
         ssl:
           enabled: ${_param:rabbitmq_ssl_enabled}
+      cache:
+        security:
+          enabled: ${_param:ironic_memcache_security_enabled}
+          strategy: ${_param:openstack_memcache_security_strategy}
+          secret_key: ${_param:ironic_memcache_secret_key}
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
index 1ca654b..cdd6b58 100644
--- a/ironic/api/single.yml
+++ b/ironic/api/single.yml
@@ -31,3 +31,8 @@
           cert_file: ${_param:rabbitmq_ironic_client_ssl_cert_file}
         ssl:
           enabled: ${_param:rabbitmq_ssl_enabled}
+      cache:
+        security:
+          enabled: ${_param:ironic_memcache_security_enabled}
+          strategy: ${_param:openstack_memcache_security_strategy}
+          secret_key: ${_param:ironic_memcache_secret_key}
diff --git a/ironic/conductor/cluster.yml b/ironic/conductor/cluster.yml
index a839f5d..7038095 100644
--- a/ironic/conductor/cluster.yml
+++ b/ironic/conductor/cluster.yml
@@ -29,3 +29,8 @@
           cert_file: ${_param:rabbitmq_ironic_client_ssl_cert_file}
         ssl:
           enabled: ${_param:rabbitmq_ssl_enabled}
+      cache:
+        security:
+          enabled: ${_param:ironic_memcache_security_enabled}
+          strategy: ${_param:openstack_memcache_security_strategy}
+          secret_key: ${_param:ironic_memcache_secret_key}
diff --git a/ironic/conductor/single.yml b/ironic/conductor/single.yml
index b08239e..f2855cc 100644
--- a/ironic/conductor/single.yml
+++ b/ironic/conductor/single.yml
@@ -30,3 +30,8 @@
           cert_file: ${_param:rabbitmq_ironic_client_ssl_cert_file}
         ssl:
           enabled: ${_param:rabbitmq_ssl_enabled}
+      cache:
+        security:
+          enabled: ${_param:ironic_memcache_security_enabled}
+          strategy: ${_param:openstack_memcache_security_strategy}
+          secret_key: ${_param:ironic_memcache_secret_key}
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index 03082ac..a73b8ad 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -203,7 +203,7 @@
               description: Enable if you need to keep container after the test and debug
             IMAGE:
               type: string
-              default: 'cvp-sanity-checks'
+              default: "${_param:mcp_docker_registry}/mirantis/cvp/cvp-sanity-checks:${_param:apt_mk_version}"
               description: Docker image with tests and all pip dependecies to use for testing
             SALT_MASTER_URL:
               type: string
@@ -222,7 +222,7 @@
               description: e.g. skipped_nodes=nal01.local.com,ntw01.local.com
             TESTS_SET:
               type: string
-              default: "cvp-sanity-checks/cvp_checks/tests/"
+              default: "cvp_checks/tests/"
               description: "Leave as is for full run or add a filename, e.g. _default_path_/test_mtu.py"
             PROXY:
               type: string
@@ -241,6 +241,7 @@
           scm:
             type: git
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            branch: "${_param:jenkins_pipelines_branch}"
             credentials: "gerrit"
             script: cvp-func.groovy
           param:
@@ -304,6 +305,7 @@
           scm:
             type: git
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            branch: "${_param:jenkins_pipelines_branch}"
             credentials: "gerrit"
             script: cvp-ha.groovy
           param:
@@ -372,6 +374,7 @@
           scm:
             type: git
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            branch: "${_param:jenkins_pipelines_branch}"
             credentials: "gerrit"
             script: cvp-perf.groovy
           param:
@@ -446,7 +449,7 @@
             PROXY:
               type: string
               default: ""
-              description: "Proxy address to use to access the Internet. For offline mode, use \"offline\" value."
+              description: "Proxy address to use to access the Internet."
         cvp-spt:
           type: workflow-scm
           name: cvp-spt
@@ -470,7 +473,7 @@
               description: Enable if you need to keep container after the test and debug
             IMAGE:
               type: string
-              default: 'cvp-spt'
+              default: "${_param:mcp_docker_registry}/mirantis/cvp/cvp-spt:${_param:apt_mk_version}"
               description: Docker image with tests and all pip dependecies to use for testing
             SALT_MASTER_URL:
               type: string
@@ -486,10 +489,10 @@
             TESTS_SETTINGS:
               type: string
               default: ""
-              description: "Additional environment variables to export"
+              description: "Additional environment variables to export, e.g. image_name, networks, HW_NODES"
             TESTS_SET:
               type: string
-              default: "cvp-spt/cvp_spt/tests/"
+              default: "cvp_spt/tests/"
               description: "Leave as is for full run or add a filename, e.g. _default_path_/test_glance.py"
             PROXY:
               type: string
diff --git a/keystone/client/v3/service/octavia.yml b/keystone/client/v3/service/octavia.yml
index 56de95b..c02a6b8 100644
--- a/keystone/client/v3/service/octavia.yml
+++ b/keystone/client/v3/service/octavia.yml
@@ -8,18 +8,8 @@
     octavia_service_protocol: http
   keystone:
     client:
-      server:
-        identity:
-          octavia:
-            api_version: 3
-        octavia_identity:
-          admin:
-            api_version: ''
-            user_domain_name: 'Default'
-            project_domain_name: 'Default'
       resources:
         v3:
-          cloud_name: 'octavia_identity'
           roles:
             global_load_balancer_member:
               name: load-balancer_member
diff --git a/kubernetes/common/init.yml b/kubernetes/common/init.yml
index b0ebf53..b4cf429 100644
--- a/kubernetes/common/init.yml
+++ b/kubernetes/common/init.yml
@@ -8,6 +8,7 @@
     kubernetes_hyperkube_repo: ${_param:mcp_binary_registry}/mirantis/kubernetes/hyperkube-binaries
     kubernetes_contrail_cni_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes
     kubernetes_contrail_network_controller_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes/contrail-integration
+    kubernetes_contrail_registry: ${_param:mcp_docker_registry}/opencontrail-${_param:linux_repo_contrail_component}
     kubernetes_netchecker_agent_repo: mirantis
     kubernetes_netchecker_server_repo: mirantis
     kubernetes_virtlet_repo: mirantis
@@ -72,6 +73,11 @@
     kubernetes_calico_cni_image: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico/cni:v3.1.3
     kubernetes_calico_calicoctl_image: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico/ctl:v3.1.3
 
+    kubernetes_opencontrail_controller_image: ${_param:kubernetes_contrail_registry}/opencontrail-controller:${_param:apt_mk_version}
+    kubernetes_opencontrail_analyticsdb_image: ${_param:kubernetes_contrail_registry}/opencontrail-analyticsdb:${_param:apt_mk_version}
+    kubernetes_opencontrail_analytics_image: ${_param:kubernetes_contrail_registry}/opencontrail-analytics:${_param:apt_mk_version}
+    kubernetes_opencontrail_kube_manager_image: ${_param:kubernetes_contrail_registry}/opencontrail-kube-manager:${_param:apt_mk_version}
+
     kubelet_fail_on_swap: true
     kubernetes_dashboard_enabled: true
     kubernetes_kubedns_enabled: false
@@ -159,6 +165,15 @@
         contrail_network_controller:
           enabled: ${_param:kubernetes_contrail_network_controller_enabled}
           image: ${_param:kubernetes_contrail_network_controller_image}
+        opencontrail:
+          controller:
+            image: ${_param:kubernetes_opencontrail_controller_image}
+          analyticsdb:
+            image: ${_param:kubernetes_opencontrail_analyticsdb_image}
+          analytics:
+            image: ${_param:kubernetes_opencontrail_analytics_image}
+          kube_manager:
+            image: ${_param:kubernetes_opencontrail_kube_manager_image}
         flannel:
           image: ${_param:kubernetes_flannel_image}
         telegraf:
diff --git a/opencontrail/control/analytics.yml b/opencontrail/control/analytics.yml
index 36781c2..7471997 100644
--- a/opencontrail/control/analytics.yml
+++ b/opencontrail/control/analytics.yml
@@ -36,6 +36,8 @@
       role: ${_param:opencontrail_node_role}
       discovery:
         host: ${_param:opencontrail_control_address}
+      identity:
+        host: ${_param:openstack_control_address}
     database:
       discovery:
         host: ${_param:opencontrail_control_address}