Merge "Add params from backupninja and xtrabackup formulas"
diff --git a/defaults/init.yml b/defaults/init.yml
index 8715abd..90d5f7f 100644
--- a/defaults/init.yml
+++ b/defaults/init.yml
@@ -10,6 +10,7 @@
 - system.defaults.linux_system_file
 - system.defaults.backupninja
 - system.defaults.git
+- system.defaults.jenkins
 - system.defaults.maas
 - system.defaults.openstack
 - system.defaults.galera
diff --git a/defaults/jenkins.yml b/defaults/jenkins.yml
new file mode 100644
index 0000000..36bcbfb
--- /dev/null
+++ b/defaults/jenkins.yml
@@ -0,0 +1,5 @@
+parameters:
+  _param:
+    jenkins_master_port: 8081
+    jenkins_master_protocol: http
+    jenkins_pipelines_branch: "master"
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index 0bce371..97c1fe8 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -90,6 +90,9 @@
     ironic_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
     ironic_memcache_secret_key: ''
     ironic_console_enabled: true
+    ironic_old_version: ${_param:openstack_old_version}
+    ironic_version: ${_param:openstack_version}
+    ironic_upgrade_enabled: ${_param:openstack_upgrade_enabled}
     # Keystone
     keystone_old_version: ${_param:openstack_old_version}
     keystone_version: ${_param:openstack_version}
diff --git a/docker/swarm/stack/jenkins/master.yml b/docker/swarm/stack/jenkins/master.yml
index 6af8d3e..ab850c0 100644
--- a/docker/swarm/stack/jenkins/master.yml
+++ b/docker/swarm/stack/jenkins/master.yml
@@ -31,3 +31,8 @@
               volumes:
                 - /srv/volumes/jenkins:/var/jenkins_home
                 - /etc/ssl/certs/java/cacerts:/etc/ssl/certs/java/cacerts:ro
+  # This is required only for deployments in swarm
+  jenkins:
+    client:
+      location:
+        url: http://jenkins_master:8080
diff --git a/docker/swarm/stack/jenkins/slave01.yml b/docker/swarm/stack/jenkins/slave01.yml
index f616d89..a9643ac 100644
--- a/docker/swarm/stack/jenkins/slave01.yml
+++ b/docker/swarm/stack/jenkins/slave01.yml
@@ -1,5 +1,4 @@
 classes:
-- system.docker
 - system.docker.swarm.stack.jenkins.slave_base
 parameters:
   _param:
@@ -14,12 +13,12 @@
                 JENKINS_URL: ${_param:jenkins_master_url}
                 JENKINS_AGENT_NAME: slave01
                 JENKINS_UPDATE_SLAVE: 'true'
-                JENKINS_LOGIN: ${_param:jenkins_slave_user}
-                JENKINS_PASSWORD: ${_param:jenkins_slave_password}
-                JAVA_OPTS: ${_param:jenkins_slave_extra_opts}
+                JENKINS_LOGIN: ${_param:jenkins_client_user}
+                JENKINS_PASSWORD: ${_param:jenkins_client_password}
+                JAVA_OPTS: "-Dhttp.proxyHost=${_param:docker_http_proxy} -Dhttp.nonProxyHosts=|jenkins_master ${_param:jenkins_slave_extra_opts}"
                 https_proxy: ${_param:docker_https_proxy}
                 http_proxy: ${_param:docker_http_proxy}
-                no_proxy: ${_param:docker_no_proxy}
+                no_proxy: "jenkins_master,${_param:docker_no_proxy}"
               deploy:
                 restart_policy:
                   condition: any
diff --git a/docker/swarm/stack/jenkins/slave02.yml b/docker/swarm/stack/jenkins/slave02.yml
index cbece06..fb3e6cc 100644
--- a/docker/swarm/stack/jenkins/slave02.yml
+++ b/docker/swarm/stack/jenkins/slave02.yml
@@ -1,5 +1,4 @@
 classes:
-- system.docker
 - system.docker.swarm.stack.jenkins.slave_base
 parameters:
   _param:
@@ -14,12 +13,12 @@
                 JENKINS_URL: ${_param:jenkins_master_url}
                 JENKINS_AGENT_NAME: slave02
                 JENKINS_UPDATE_SLAVE: 'true'
-                JENKINS_LOGIN: ${_param:jenkins_slave_user}
-                JENKINS_PASSWORD: ${_param:jenkins_slave_password}
-                JAVA_OPTS: ${_param:jenkins_slave_extra_opts}
+                JENKINS_LOGIN: ${_param:jenkins_client_user}
+                JENKINS_PASSWORD: ${_param:jenkins_client_password}
+                JAVA_OPTS: "-Dhttp.proxyHost=${_param:docker_http_proxy} -Dhttp.nonProxyHosts=|jenkins_master ${_param:jenkins_slave_extra_opts}"
                 https_proxy: ${_param:docker_https_proxy}
                 http_proxy: ${_param:docker_http_proxy}
-                no_proxy: ${_param:docker_no_proxy}
+                no_proxy: "jenkins_master,${_param:docker_no_proxy}"
               deploy:
                 restart_policy:
                   condition: any
diff --git a/docker/swarm/stack/jenkins/slave03.yml b/docker/swarm/stack/jenkins/slave03.yml
index 6ff900c..b10dc66 100644
--- a/docker/swarm/stack/jenkins/slave03.yml
+++ b/docker/swarm/stack/jenkins/slave03.yml
@@ -1,5 +1,4 @@
 classes:
-- system.docker
 - system.docker.swarm.stack.jenkins.slave_base
 parameters:
   _param:
@@ -14,12 +13,12 @@
                 JENKINS_URL: ${_param:jenkins_master_url}
                 JENKINS_AGENT_NAME: slave03
                 JENKINS_UPDATE_SLAVE: 'true'
-                JENKINS_LOGIN: ${_param:jenkins_slave_user}
-                JENKINS_PASSWORD: ${_param:jenkins_slave_password}
-                JAVA_OPTS: ${_param:jenkins_slave_extra_opts}
+                JENKINS_LOGIN: ${_param:jenkins_client_user}
+                JENKINS_PASSWORD: ${_param:jenkins_client_password}
+                JAVA_OPTS: "-Dhttp.proxyHost=${_param:docker_http_proxy} -Dhttp.nonProxyHosts=|jenkins_master ${_param:jenkins_slave_extra_opts}"
                 https_proxy: ${_param:docker_https_proxy}
                 http_proxy: ${_param:docker_http_proxy}
-                no_proxy: ${_param:docker_no_proxy}
+                no_proxy: "jenkins_master,${_param:docker_no_proxy}"
               deploy:
                 restart_policy:
                   condition: any
diff --git a/docker/swarm/stack/jenkins/slave_base.yml b/docker/swarm/stack/jenkins/slave_base.yml
index 3af4cc3..3de4765 100644
--- a/docker/swarm/stack/jenkins/slave_base.yml
+++ b/docker/swarm/stack/jenkins/slave_base.yml
@@ -1,10 +1,7 @@
 classes:
+- system.docker
 - system.docker.client.images.jenkins_slave
 parameters:
   _param:
-    jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
-    jenkins_master_url: http://${_param:jenkins_master_host}:${_param:jenkins_master_port}
-    jenkins_slave_user: ${_param:jenkins_client_user}
-    jenkins_slave_password: ${_param:jenkins_client_password}
+    jenkins_master_url: http://jenkins_master:8080
     jenkins_slave_extra_opts: ""
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
index aa45ec2..d343e28 100644
--- a/ironic/api/cluster.yml
+++ b/ironic/api/cluster.yml
@@ -2,6 +2,7 @@
 - system.salt.minion.cert.mysql.clients.openstack.ironic
 - system.salt.minion.cert.rabbitmq.clients.openstack.ironic
 - service.ironic.api.cluster
+- system.ironic.upgrade
 parameters:
   linux:
     system:
@@ -40,3 +41,4 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
index 5eb290b..0e5d61e 100644
--- a/ironic/api/single.yml
+++ b/ironic/api/single.yml
@@ -2,6 +2,7 @@
 - system.salt.minion.cert.mysql.clients.openstack.ironic
 - system.salt.minion.cert.rabbitmq.clients.openstack.ironic
 - service.ironic.api.single
+- system.ironic.upgrade
 parameters:
   linux:
     system:
@@ -38,3 +39,4 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/ironic/conductor/cluster.yml b/ironic/conductor/cluster.yml
index 2394a29..b733a87 100644
--- a/ironic/conductor/cluster.yml
+++ b/ironic/conductor/cluster.yml
@@ -2,7 +2,10 @@
 - system.salt.minion.cert.mysql.clients.openstack.ironic
 - system.salt.minion.cert.rabbitmq.clients.openstack.ironic
 - service.ironic.conductor.cluster
+- system.ironic.upgrade
 parameters:
+  _param:
+    ironic_conductor_api_url_protocol: 'http'
   linux:
     system:
       package:
@@ -11,7 +14,7 @@
           version: latest
   ironic:
     conductor:
-      api_url: 'http://${_param:cluster_baremetal_vip_address}:6385'
+      api_url: '${_param:ironic_conductor_api_url_protocol}://${_param:cluster_baremetal_vip_address}:6385'
       database:
         x509:
           enabled: ${_param:openstack_mysql_x509_enabled}
@@ -36,6 +39,7 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
       automated_clean: true
       erase_devices_priority: 0
       erase_devices_metadata_priority: 1
@@ -45,3 +49,4 @@
         - ipmitool-shellinabox
         - ipmitool-socat
         - no-console
+      pxe_append_params: 'nofb nomodeset vga=normal ipa-insecure=1'
diff --git a/ironic/conductor/single.yml b/ironic/conductor/single.yml
index e5005da..752f1cf 100644
--- a/ironic/conductor/single.yml
+++ b/ironic/conductor/single.yml
@@ -2,6 +2,7 @@
 - system.salt.minion.cert.mysql.clients.openstack.ironic
 - system.salt.minion.cert.rabbitmq.clients.openstack.ironic
 - service.ironic.conductor.single
+- system.ironic.upgrade
 parameters:
   linux:
     system:
@@ -37,6 +38,7 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
       automated_clean: true
       erase_devices_priority: 0
       erase_devices_metadata_priority: 1
@@ -46,3 +48,4 @@
         - ipmitool-shellinabox
         - ipmitool-socat
         - no-console
+      pxe_append_params: 'nofb nomodeset vga=normal ipa-insecure=1'
diff --git a/ironic/upgrade/init.yml b/ironic/upgrade/init.yml
new file mode 100644
index 0000000..ebd9bfd
--- /dev/null
+++ b/ironic/upgrade/init.yml
@@ -0,0 +1,6 @@
+parameters:
+  ironic:
+    upgrade:
+      enabled: ${_param:ironic_upgrade_enabled}
+      old_release: ${_param:ironic_old_version}
+      new_release: ${_param:ironic_version}
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index 4f0b3f4..d5b7875 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -8,9 +8,7 @@
     jenkins_client_user: none
     jenkins_client_password: none
     jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
     jenkins_aptly_storages: "local"
-    jenkins_pipelines_branch: "master"
   jenkins:
     client:
       master:
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index 1ee9fbc..0f0bbf8 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -465,3 +465,76 @@
               type: text
               default: "---"
               description: YAML context with additional parameters
+        cvp-shaker:
+          type: workflow-scm
+          name: cvp-shaker
+          display_name: "CVP - Shaker network tests"
+          discard:
+            build:
+              keep_num: 20
+            artifact:
+              keep_num: 20
+          concurrent: false
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            branch: "${_param:jenkins_pipelines_branch}"
+            credentials: "gerrit"
+            script: cvp-shaker.groovy
+          param:
+            IMAGE:
+              type: string
+              default: "${_param:mcp_docker_registry}/mirantis/cvp/cvp-shaker:${_param:mcp_version}"
+              description: Docker image to use for running Shaker.
+            SALT_MASTER_URL:
+              type: string
+              default: "${_param:jenkins_salt_api_url}"
+              description: Full Salt API address [e.g. https://10.10.10.2:6969].
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              default: "salt"
+              description: Credentials to the Salt API.
+            SHAKER_PARAMS:
+              type: text
+              default:  |
+                ---
+                  SHAKER_SERVER_ENDPOINT: '10.13.0.15:5999'
+                  SHAKER_SCENARIOS: 'scenarios/essential'
+                  SKIP_LIST: ''
+                  image_builder:
+                  #  - SHAKER_FLAVOR_DISK=4
+                  #  - SHAKER_FLAVOR_RAM=512
+                  #  - SHAKER_FLAVOR_VCPUS=1
+                  #  - SHAKER_IMAGE_BUILDER_MODE='dib'
+                  shaker:
+                  #  - SHAKER_AGENT_JOIN_TIMEOUT=300
+                  #  - SHAKER_AGENT_LOSS_TIMEOUT=120
+                  #  - SCENARIO_AVAILABILITY_ZONE='nova,internal'
+                  #  - SCENARIO_COMPUTE_NODES=2
+                  #  - SHAKER_EXTERNAL_NET='public'
+              description: |
+                  YAML context with parameters for running Shaker tests, where
+                  "SHAKER_SERVER_ENDPOINT" - Address for Shaker server connections (host:port). Should be accessible
+                  from tenant's VM network (usually equals to public address of cicd node)
+                  "SHAKER_SCENARIOS" - Path to shaker scenarios in the cvp-shaker docker image
+                  (can be directory or specific file). Main categories are
+                    scenarios/essential/l2
+                    scenarios/essential/l3
+                    scenarios/additional/cross_az
+                    scenarios/additional/external
+                    scenarios/additional/qos
+                  "SKIP_LIST" - Comma-separated list of Shaker scenarios to skip, directories or files inside scenarios/
+                  of cvp-shaker, e.g. "dense_l2.yaml,full_l2.yaml,l3"
+                  "image_builder" - shaker-image-builder env variables
+                    SHAKER_FLAVOR_DISK=4
+                    SHAKER_FLAVOR_RAM=512
+                    SHAKER_FLAVOR_VCPUS=1
+                    SHAKER_IMAGE_BUILDER_MODE='dib'
+                  "shaker" - main shaker runner env variables
+                    SHAKER_AGENT_JOIN_TIMEOUT=300
+                    SHAKER_AGENT_LOSS_TIMEOUT=120
+                    SCENARIO_AVAILABILITY_ZONE='nova,internal'
+                    SCENARIO_COMPUTE_NODES=2
+                    SHAKER_EXTERNAL_NET='public'
+                  For the more detailed description of the last two categories please refer to the shaker documentation
+                  https://pyshaker.readthedocs.io/en/latest/tools.html
diff --git a/jenkins/slave/init.yml b/jenkins/slave/init.yml
index c445c14..693464e 100644
--- a/jenkins/slave/init.yml
+++ b/jenkins/slave/init.yml
@@ -6,11 +6,7 @@
   _param:
     java_environment_version: "8"
     java_environment_platform: openjdk
-    jenkins_slave_user: none
-    jenkins_slave_password: none
     jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
-    jenkins_master_protocol: http
   java:
     environment:
       headless: true
@@ -25,8 +21,8 @@
         port: ${_param:jenkins_master_port}
         protocol: ${_param:jenkins_master_protocol}
       user:
-        name: ${_param:jenkins_slave_user}
-        password: ${_param:jenkins_slave_password}
+        name: ${_param:jenkins_client_user}
+        password: ${_param:jenkins_client_password}
   linux:
     system:
       user:
diff --git a/linux/system/single/mcp.yml b/linux/system/single/mcp.yml
index a77459d..e8ca938 100644
--- a/linux/system/single/mcp.yml
+++ b/linux/system/single/mcp.yml
@@ -13,6 +13,8 @@
           net.ipv4.tcp_keepalive_probes: 8
           fs.file-max: 124165
           net.core.somaxconn: 4096
+          net.core.netdev_budget: 600
+          net.core.netdev_budget_usecs: 5000
           vm.swappiness: 10
           net.nf_conntrack_max: 1048576
           net.ipv4.tcp_retries2: 5
diff --git a/neutron/client/service/contrail_public.yml b/neutron/client/service/contrail_public.yml
new file mode 100644
index 0000000..211582e
--- /dev/null
+++ b/neutron/client/service/contrail_public.yml
@@ -0,0 +1,22 @@
+classes:
+- service.neutron.client
+parameters:
+  neutron:
+    client:
+      server:
+        admin_identity:
+          endpoint_type: internalURL
+          network:
+            public:
+              tenant: admin
+              shared: False
+              router_external: True
+              admin_state_up: True
+              subnet:
+                public-subnet:
+                  cidr: ${_param:openstack_public_neutron_subnet_cidr}
+                  allocation_pools:
+                    - start: ${_param:openstack_public_neutron_subnet_allocation_start}
+                      end: ${_param:openstack_public_neutron_subnet_allocation_end}
+                  gateway_ip: ${_param:openstack_public_neutron_subnet_gateway}
+                  enable_dhcp: False
diff --git a/neutron/client/service/contrail_public_v2.yml b/neutron/client/service/contrail_public_v2.yml
new file mode 100644
index 0000000..b94bb98
--- /dev/null
+++ b/neutron/client/service/contrail_public_v2.yml
@@ -0,0 +1,21 @@
+classes:
+- service.neutron.client
+parameters:
+  neutron:
+    client:
+      resources:
+        v2:
+          admin_identity:
+            network:
+              public:
+                shared: False
+                router_external: True
+                subnet:
+                  public-subnet:
+                    cidr: ${_param:openstack_public_neutron_subnet_cidr}
+                    gateway_ip: ${_param:openstack_public_neutron_subnet_gateway}
+                    allocation_pools:
+                      - start: ${_param:openstack_public_neutron_subnet_allocation_start}
+                        end: ${_param:openstack_public_neutron_subnet_allocation_end}
+                    enable_dhcp: False
+                    ip_version: 4
diff --git a/neutron/gateway/cluster.yml b/neutron/gateway/cluster.yml
index a159a6d..2a4f4f4 100644
--- a/neutron/gateway/cluster.yml
+++ b/neutron/gateway/cluster.yml
@@ -11,18 +11,6 @@
       kernel:
         sysctl:
           fs.inotify.max_user_instances: 4096
-# Old keepalived version has been pinned due to
-# workaround for PROD-26273 and should be removed
-# once keepalived deb package is available higher
-# 1.3.9 version
-      repo:
-        ubuntu:
-          pinning:
-            10:
-              enabled: true
-              pin: 'version 1:1.2.19-1'
-              priority: 1100
-              package: 'keepalived'
   neutron:
     gateway:
       dvr: ${_param:neutron_gateway_dvr}
diff --git a/nginx/server/proxy/openstack_web.yml b/nginx/server/proxy/openstack_web.yml
index 2de6606..db4453a 100644
--- a/nginx/server/proxy/openstack_web.yml
+++ b/nginx/server/proxy/openstack_web.yml
@@ -5,12 +5,14 @@
     nginx_proxy_openstack_web_buffer_size:
       number: 4
       size: 256
+    # starting from 2019.2.0 horizon is running under haproxy in HA mode.
+    nginx_server_site_nginx_proxy_openstack_web_enabled: False
   nginx:
     server:
       enabled: true
       site:
         nginx_proxy_openstack_web:
-          enabled: true
+          enabled: ${_param:nginx_server_site_nginx_proxy_openstack_web_enabled}
           type: nginx_proxy
           name: openstack_web
           proxy:
@@ -30,7 +32,7 @@
             protocol: ${_param:horizon_public_protocol}
           ssl: ${_param:nginx_proxy_ssl}
         nginx_ssl_redirect_openstack_web:
-          enabled: true
+          enabled: ${_param:nginx_server_site_nginx_proxy_openstack_web_enabled}
           type: nginx_redirect
           name: openstack_web_redirect
           host:
diff --git a/octavia/api/cluster.yml b/octavia/api/cluster.yml
index 66622e3..31989b0 100644
--- a/octavia/api/cluster.yml
+++ b/octavia/api/cluster.yml
@@ -24,6 +24,7 @@
         protocol: ${_param:cluster_internal_protocol}
       message_queue:
         host: ${_param:openstack_message_queue_address}
+        port: ${_param:openstack_rabbitmq_port}
         x509:
           enabled: ${_param:openstack_rabbitmq_x509_enabled}
           ca_file: ${_param:rabbitmq_octavia_ssl_ca_file}
diff --git a/octavia/api/single.yml b/octavia/api/single.yml
index 54e0abb..c42009d 100644
--- a/octavia/api/single.yml
+++ b/octavia/api/single.yml
@@ -23,6 +23,7 @@
         protocol: ${_param:cluster_internal_protocol}
       message_queue:
         host: ${_param:openstack_message_queue_address}
+        port: ${_param:openstack_rabbitmq_port}
         x509:
           enabled: ${_param:openstack_rabbitmq_x509_enabled}
           ca_file: ${_param:rabbitmq_octavia_ssl_ca_file}
diff --git a/octavia/manager/cluster.yml b/octavia/manager/cluster.yml
index 0e71b5c..f86dd80 100644
--- a/octavia/manager/cluster.yml
+++ b/octavia/manager/cluster.yml
@@ -25,6 +25,7 @@
         protocol: ${_param:cluster_internal_protocol}
       message_queue:
         host: ${_param:openstack_message_queue_address}
+        port: ${_param:openstack_rabbitmq_port}
         x509:
           enabled: ${_param:openstack_rabbitmq_x509_enabled}
           ca_file: ${_param:rabbitmq_octavia_ssl_ca_file}
diff --git a/octavia/manager/single.yml b/octavia/manager/single.yml
index 73c2ffe..e1e356b 100644
--- a/octavia/manager/single.yml
+++ b/octavia/manager/single.yml
@@ -30,6 +30,7 @@
         protocol: ${_param:cluster_internal_protocol}
       message_queue:
         host: ${_param:openstack_message_queue_address}
+        port: ${_param:openstack_rabbitmq_port}
         x509:
           enabled: ${_param:openstack_rabbitmq_x509_enabled}
           ca_file: ${_param:rabbitmq_octavia_ssl_ca_file}
diff --git a/opencontrail/control/cluster4_0.yml b/opencontrail/control/cluster4_0.yml
index 12a344e..95b0d90 100644
--- a/opencontrail/control/cluster4_0.yml
+++ b/opencontrail/control/cluster4_0.yml
@@ -27,7 +27,7 @@
     opencontrail_controller_container_name: opencontrail_controller_1
     opencontrail_analytics_container_name: opencontrail_analytics_1
     opencontrail_analyticsdb_container_name: opencontrail_analyticsdb_1
-    opencontrail_api_workers_count: 1
+    opencontrail_api_workers_count: 6
     analytics_vip_address: ${_param:opencontrail_analytics_address}
 # Temprorary fix for MOS9 packages to pin old version of kafka
   linux:
diff --git a/opencontrail/control/cluster4_0_k8s.yml b/opencontrail/control/cluster4_0_k8s.yml
index 6e24ac3..cf9a8e7 100644
--- a/opencontrail/control/cluster4_0_k8s.yml
+++ b/opencontrail/control/cluster4_0_k8s.yml
@@ -21,7 +21,7 @@
     opencontrail_controller_container_name: opencontrail_controller_1
     opencontrail_analytics_container_name: opencontrail_analytics_1
     opencontrail_analyticsdb_container_name: opencontrail_analyticsdb_1
-    opencontrail_api_workers_count: 1
+    opencontrail_api_workers_count: 6
     analytics_vip_address: ${_param:opencontrail_analytics_address}
 # Temprorary fix for MOS9 packages to pin old version of kafka
   linux:
diff --git a/opencontrail/control/control4_0.yml b/opencontrail/control/control4_0.yml
index fb751ca..ba47959 100644
--- a/opencontrail/control/control4_0.yml
+++ b/opencontrail/control/control4_0.yml
@@ -17,7 +17,7 @@
     opencontrail_message_queue_password: guest
     opencontrail_controller_image: ${_param:mcp_docker_registry}/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller:${_param:opencontrail_image_tag}
     opencontrail_controller_container_name: opencontrail_controller_1
-    opencontrail_api_workers_count: 1
+    opencontrail_api_workers_count: 6
     analytics_vip_address: ${_param:opencontrail_analytics_address}
   opencontrail:
     common:
diff --git a/openssh/server/team/members/vdrok.yml b/openssh/server/team/members/vdrok.yml
index 6f6cbba..22576de 100644
--- a/openssh/server/team/members/vdrok.yml
+++ b/openssh/server/team/members/vdrok.yml
@@ -16,4 +16,5 @@
           enabled: true
           public_keys:
           - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpnn6IyistbIGnzeV3DOWR+u/QLl1cuQspwuvcl1FxeZljkdIgLXcNVzFaFHSX+rOgrOLpcFf3X+dwnB55EoUDj85IOwKz1tVoD5Df42xZMnmjnvOaAScVTStrdcWxzpB6bWt/+GWpt1br3pLpTjqZxa1YipT7tz6bs7cNKplvQuBaoYeG/x9ycRhLIhYXFYOtHD/lxwTRqHnvpwdNKRYPtfakR/kaeZEaYQoJlVcAq0AKzws8l87InoWnjGo/NrBJTvgiLQPYw6uJ9mf17p2GVv1JGCbEpPKnRLyIitdwCFjYEwAKoSsisf2TdH9iY1DWwJEuPzsvjM2ZCPcc7baV vlad@carbon
+          - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2yUGXlJ5Zvlyw5s4KRqnYE2GwwuoXLraBJ1MubRSRpgthNPBOvo/nGrniUE7QrtivGgGEJYz2ZmLYwfD3b03oQWMatwz2eUmJh7Oe7N7NKLem6cdtQrZ1n/4+Ji6MF/2Lblhm0I3l9ExiKDfqBP0TTfqft30tUKxkso2xxhu4YyKj59P4kqzKZEcFgS7r+HClFM20yQbEVIzw/pz7Yz6xGSAy9uUhrUeqEaSHo/JVck6A6X1vCrRqKHoLXcVXVd6r1vy1V6VRVx1mamXhnEEnc2DUIYo5Ry8qucHgdLp2oEIQkM2DVKFmPG8/HIfiKrAstUK1M5rGaKnmnS/h6CpX vlad@vlad-ThinkPad-W541
           user: ${linux:system:user:vdrok}
diff --git a/salt/control/sizes/cicd/minimal.yml b/salt/control/sizes/cicd/minimal.yml
index f420bb9..baf480f 100644
--- a/salt/control/sizes/cicd/minimal.yml
+++ b/salt/control/sizes/cicd/minimal.yml
@@ -1,8 +1,8 @@
 parameters:
   _param:
-    salt_control_size_cpu_cicd_control: 8
-    salt_control_size_ram_cicd_control: 8192
-    salt_control_size_disk_profile_cicd_control: small
+    salt_control_size_cpu_cicd_control: 2
+    salt_control_size_ram_cicd_control: 4096
+    salt_control_size_disk_profile_cicd_control: minimal_xsmall
     salt_control_size_net_profile_cicd_control: default
   salt:
     control:
diff --git a/salt/control/sizes/opencontrail/minimal.yml b/salt/control/sizes/opencontrail/minimal.yml
index de7fa6d..4fd93a1 100644
--- a/salt/control/sizes/opencontrail/minimal.yml
+++ b/salt/control/sizes/opencontrail/minimal.yml
@@ -1,12 +1,12 @@
 parameters:
   _param:
-    salt_control_size_cpu_opencontrail_control: 8
-    salt_control_size_ram_opencontrail_control: 12288
-    salt_control_size_disk_profile_opencontrail_control: small
+    salt_control_size_cpu_opencontrail_control: 2
+    salt_control_size_ram_opencontrail_control: 4096
+    salt_control_size_disk_profile_opencontrail_control: minimal_xsmall
     salt_control_size_net_profile_opencontrail_control: default
-    salt_control_size_cpu_opencontrail_analytics: 12
+    salt_control_size_cpu_opencontrail_analytics: 4
     salt_control_size_ram_opencontrail_analytics: 8192
-    salt_control_size_disk_profile_opencontrail_analytics: medium
+    salt_control_size_disk_profile_opencontrail_analytics: large
     salt_control_size_net_profile_opencontrail_analytics: default
   salt:
     control:
diff --git a/salt/control/sizes/openstack/minimal.yml b/salt/control/sizes/openstack/minimal.yml
index b3b2a85..ac07075 100644
--- a/salt/control/sizes/openstack/minimal.yml
+++ b/salt/control/sizes/openstack/minimal.yml
@@ -1,44 +1,44 @@
 parameters:
   _param:
-    salt_control_size_cpu_openstack_control: 8
-    salt_control_size_ram_openstack_control: 12288
-    salt_control_size_disk_profile_openstack_control: small
+    salt_control_size_cpu_openstack_control: 6
+    salt_control_size_ram_openstack_control: 16384
+    salt_control_size_disk_profile_openstack_control: minimal_xsmall
     salt_control_size_net_profile_openstack_control: default
-    salt_control_size_cpu_openstack_database: 6
-    salt_control_size_ram_openstack_database: 8192
-    salt_control_size_disk_profile_openstack_database: medium
+    salt_control_size_cpu_openstack_database: 1
+    salt_control_size_ram_openstack_database: 6144
+    salt_control_size_disk_profile_openstack_database: minimal_xxsmall
     salt_control_size_net_profile_openstack_database: default
-    salt_control_size_cpu_openstack_message_queue: 6
-    salt_control_size_ram_openstack_message_queue: 8192
-    salt_control_size_disk_profile_openstack_message_queue: small
+    salt_control_size_cpu_openstack_message_queue: 1
+    salt_control_size_ram_openstack_message_queue: 2048
+    salt_control_size_disk_profile_openstack_message_queue: xxxsmall
     salt_control_size_net_profile_openstack_message_queue: default
-    salt_control_size_cpu_openstack_proxy: 4
-    salt_control_size_ram_openstack_proxy: 6144
-    salt_control_size_disk_profile_openstack_proxy: small
+    salt_control_size_cpu_openstack_proxy: 1
+    salt_control_size_ram_openstack_proxy: 2048
+    salt_control_size_disk_profile_openstack_proxy: xxxsmall
     salt_control_size_net_profile_openstack_proxy: default
     salt_control_size_cpu_openstack_upgrade: 8
     salt_control_size_ram_openstack_upgrade: 16384
-    salt_control_size_disk_profile_openstack_upgrade: medium
+    salt_control_size_disk_profile_openstack_upgrade: minimal_xsmall
     salt_control_size_net_profile_openstack_upgrade: default
     salt_control_size_cpu_openstack_share: 1
     salt_control_size_ram_openstack_share: 2048
-    salt_control_size_disk_profile_openstack_share: large
+    salt_control_size_disk_profile_openstack_share: minimal_xsmall
     salt_control_size_net_profile_openstack_share: default
-    salt_control_size_cpu_openstack_dns: 2
-    salt_control_size_ram_openstack_dns: 4096
-    salt_control_size_disk_profile_openstack_dns: small
+    salt_control_size_cpu_openstack_dns: 1
+    salt_control_size_ram_openstack_dns: 2048
+    salt_control_size_disk_profile_openstack_dns: xxxsmall
     salt_control_size_net_profile_openstack_dns: default
-    salt_control_size_cpu_openstack_telemetry: 4
-    salt_control_size_ram_openstack_telemetry: 6144
-    salt_control_size_disk_profile_openstack_telemetry: small
+    salt_control_size_cpu_openstack_telemetry: 2
+    salt_control_size_ram_openstack_telemetry: 4096
+    salt_control_size_disk_profile_openstack_telemetry: minimal_medium
     salt_control_size_net_profile_openstack_telemetry: default
     salt_control_size_cpu_openstack_barbican: 4
-    salt_control_size_ram_openstack_barbican: 6144
-    salt_control_size_disk_profile_openstack_barbican: small
+    salt_control_size_ram_openstack_barbican: 8192
+    salt_control_size_disk_profile_openstack_barbican: xxxsmall
     salt_control_size_net_profile_openstack_barbican: default
-    salt_control_size_cpu_openstack_baremetal: 4
-    salt_control_size_ram_openstack_baremetal: 4096
-    salt_control_size_disk_profile_openstack_baremetal: small
+    salt_control_size_cpu_openstack_baremetal: 8
+    salt_control_size_ram_openstack_baremetal: 8192
+    salt_control_size_disk_profile_openstack_baremetal: xxxsmall
     salt_control_size_net_profile_openstack_baremetal: default
   salt:
     control:
diff --git a/salt/control/sizes/ovs/minimal.yml b/salt/control/sizes/ovs/minimal.yml
index 0b822b4..37cef97 100644
--- a/salt/control/sizes/ovs/minimal.yml
+++ b/salt/control/sizes/ovs/minimal.yml
@@ -1,8 +1,8 @@
 parameters:
   _param:
-    salt_control_size_cpu_openstack_gateway: 4
-    salt_control_size_ram_openstack_gateway: 16384
-    salt_control_size_disk_profile_openstack_gateway: small
+    salt_control_size_cpu_openstack_gateway: 1
+    salt_control_size_ram_openstack_gateway: 2048
+    salt_control_size_disk_profile_openstack_gateway: minimal_xsmall
     salt_control_size_net_profile_openstack_gateway: default
   salt:
     control:
diff --git a/salt/control/sizes/stacklight/minimal.yml b/salt/control/sizes/stacklight/minimal.yml
index d6256cf..48cfa1c 100644
--- a/salt/control/sizes/stacklight/minimal.yml
+++ b/salt/control/sizes/stacklight/minimal.yml
@@ -1,16 +1,16 @@
 parameters:
   _param:
-    salt_control_size_cpu_stacklight_log: 4
+    salt_control_size_cpu_stacklight_log: 2
     salt_control_size_ram_stacklight_log: 4096
-    salt_control_size_disk_profile_stacklight_log: medium
+    salt_control_size_disk_profile_stacklight_log: minimal_xsmall
     salt_control_size_net_profile_stacklight_log: default
-    salt_control_size_cpu_stacklight_server: 4
-    salt_control_size_ram_stacklight_server: 6144
+    salt_control_size_cpu_stacklight_server: 2
+    salt_control_size_ram_stacklight_server: 4096
     salt_control_size_disk_profile_stacklight_server: small
     salt_control_size_net_profile_stacklight_server: default
-    salt_control_size_cpu_stacklight_telemetry: 4
-    salt_control_size_ram_stacklight_telemetry: 4096
-    salt_control_size_disk_profile_stacklight_telemetry: medium
+    salt_control_size_cpu_stacklight_telemetry: 2
+    salt_control_size_ram_stacklight_telemetry: 6144
+    salt_control_size_disk_profile_stacklight_telemetry: minimal_xsmall
     salt_control_size_net_profile_stacklight_telemetry: default
   salt:
     control:
diff --git a/salt/control/virt.yml b/salt/control/virt.yml
index 05bf23d..08c1bca 100644
--- a/salt/control/virt.yml
+++ b/salt/control/virt.yml
@@ -21,12 +21,24 @@
       xxxsmall:
         - system:
             size: 8000
+      minimal_xxsmall:
+        - system:
+            size: 10000
       xxsmall:
         - system:
             size: 15000
+      minimal_xsmall:
+        - system:
+            size: 20000
       xsmall:
         - system:
             size: 30000
+      minimal_small:
+        - system:
+            size: 35000
+      minimal_medium:
+        - system:
+            size: 40000
       small:
         - system:
             size: 50000