Merge "Add 'service' pdns to designate backend to fix reclass Application"
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
index 4e70a92..c33f169 100644
--- a/aptly/server/docker.yml
+++ b/aptly/server/docker.yml
@@ -8,13 +8,15 @@
     aptly_gpg_private_key: none
     aptly_server_mirror_sources: false
     aptly_server_mirror_ubuntu_sources: ${_param:aptly_server_mirror_sources}
+    docker_image_aptly:
+      base: tcpcloud/aptly
   aptly:
     server:
       enabled: true
       secure: ${_param:aptly_server_secure}
       source:
         engine: docker
-        image: tcpcloud/aptly
+        image: ${_param:docker_image_aptly:base}
       user:
         uid: 501
         gid: 501
diff --git a/aptly/server/mirror/debian/aptly.yml b/aptly/server/mirror/debian/aptly.yml
index d4e4a61..ce05ee6 100644
--- a/aptly/server/mirror/debian/aptly.yml
+++ b/aptly/server/mirror/debian/aptly.yml
@@ -3,7 +3,7 @@
     mirror_aptly_source: http://repo.aptly.info/
     mirror_aptly_distribution: squeeze
     mirror_aptly_components: main
-    mirrot_aptly_gpgkeys:
+    mirror_aptly_gpgkeys:
       - 9C7DE460
   aptly:
     server:
diff --git a/ceph/client/container.yml b/ceph/client/container.yml
index d200a1d..8c6afaf 100644
--- a/ceph/client/container.yml
+++ b/ceph/client/container.yml
@@ -3,3 +3,26 @@
 parameters:
   _param:
     ceph_client_prefix_dir: /srv/volumes/ceph
+    ceph_auth_client_required: cephx
+  ceph:
+    client:
+      config:
+        global:
+          fsid: ${_param:ceph_fsid}
+          mon_initial_members: ${_param:ceph_mon_initial_members}
+          mon_host: ${_param:ceph_mon_host}
+          auth_client_required: ${_param:ceph_auth_client_required}
+          public_network: ${_param:ceph_public_network}
+          cluster_network: ${_param:ceph_cluster_network}
+          osd_fs_mount_options_xfs: rw,noatime
+          osd_fs_type: xfs
+        osd:
+          filestore_xattr_use_omap: True
+          osd_journal_size: 7500
+        mon:
+          mon_debug_dump_transactions: False
+        client:
+          rbd_cache_size: 268435456
+          rbd_cache_max_dirty: 134217728
+          rbd_cache_max_dirty_age: 5
+          rbd_cache: True
diff --git a/devops_portal/service/rundeck.yml b/devops_portal/service/rundeck.yml
index 946e0c2..542974e 100644
--- a/devops_portal/service/rundeck.yml
+++ b/devops_portal/service/rundeck.yml
@@ -1,4 +1,8 @@
 parameters:
+  _param:
+    oss_rundeck_user: ${_param:rundeck_admin_username}
+    oss_rundeck_password: ${_param:rundeck_admin_password}
+    oss_rundeck_token: ${_param:rundeck_admin_token}
   devops_portal:
     config:
       service:
@@ -10,9 +14,9 @@
           proxy_read_timeout: 300
           send_timeout: 300
           credentials:
-            username: ${_param:rundeck_admin_username}
-            password: ${_param:rundeck_admin_password}
-            token: ${_param:rundeck_admin_token}
+            username: ${_param:oss_rundeck_user}
+            password: ${_param:oss_rundeck_password}
+            token: ${_param:oss_rundeck_token}
           endpoint:
             address: ${_param:haproxy_rundeck_bind_host}
             port: ${_param:haproxy_rundeck_bind_port}
diff --git a/devops_portal/service/security_monkey.yml b/devops_portal/service/security_monkey.yml
index 9fce180..36b79f6 100644
--- a/devops_portal/service/security_monkey.yml
+++ b/devops_portal/service/security_monkey.yml
@@ -1,4 +1,7 @@
 parameters:
+  _param:
+    oss_security_monkey_user: ${_param:security_monkey_user}
+    oss_security_monkey_password: ${_param:security_monkey_password}
   devops_portal:
     config:
       service:
@@ -14,5 +17,5 @@
             port: ${_param:security_monkey_bind_port}
             https: ${_param:security_monkey_ssl:enabled}
           credentials:
-            username: ${_param:security_monkey_user}
-            password: ${_param:security_monkey_password}
+            username: ${_param:oss_security_monkey_user}
+            password: ${_param:oss_security_monkey_password}
diff --git a/docker/client.yml b/docker/client.yml
index 4691ddb..df11493 100644
--- a/docker/client.yml
+++ b/docker/client.yml
@@ -1,10 +1,12 @@
 classes:
   - service.docker.client
 parameters:
+  _param:
+    docker_image_compose: docker/compose:1.8.0
   docker:
     client:
       enabled: true
       compose:
         source:
           engine: docker
-          image: "docker/compose:1.8.0"
+          image: ${_param:docker_image_compose}
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index 6afd67e..12a7e9f 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -99,6 +99,7 @@
         - staticMethod java.util.regex.Pattern quote java.lang.String
         - staticMethod java.util.stream.Collectors joining java.lang.CharSequence
         - staticMethod jenkins.model.Jenkins getInstance
+        - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods asBoolean java.util.regex.Matcher
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods collect java.util.Map groovy.lang.Closure
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods eachFile java.io.File groovy.io.FileType groovy.lang.Closure
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods find java.util.Collection groovy.lang.Closure
diff --git a/jenkins/client/job/custompatches.yml b/jenkins/client/job/custompatches.yml
new file mode 100644
index 0000000..e7a7eed
--- /dev/null
+++ b/jenkins/client/job/custompatches.yml
@@ -0,0 +1,43 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        custompatches:
+          concurrent: true
+          discard:
+            build:
+              keep_num: 20
+          display_name: Custom Patches - find and upload to review
+          name: custom-patches
+          param:
+            GERRIT_URI:
+              type: string
+              default: ''
+              description: "Gerrit URI to the projec"
+            GERRIT_CREDENTIALS:
+              default: mcp-ci-gerrit
+              type: string
+              description: "Name of creadentials to use when connecting to gerrit"
+            TARGET_GERRIT_URI:
+              default: ''
+              type: string
+              description: "Link to the target on gerrit, if not set GERRIT_URI is picked"
+            OLD_BRANCH:
+              default: ''
+              type: string
+              description: "Old branch on GERRIT_URI to take patches from, tupically previous release"
+            NEW_BRANCH:
+              default: ''
+              type: string
+              description: "New branch to compare with and push patches to, tupically current release"
+            DRY_RUN:
+              default: 'false'
+              type: boolean
+              description: "Do not upload custom patches on review, just log them"
+          scm:
+            script: custompatches.groovy
+            type: git
+            url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines"
+            credentials: "gerrit"
+          type: workflow-scm
+
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
index 6b0aebd..4d77c7b 100644
--- a/jenkins/client/job/deploy/update/init.yml
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -3,6 +3,7 @@
   - system.jenkins.client.job.deploy.update.config
   - system.jenkins.client.job.deploy.update.saltenv
   - system.jenkins.client.job.deploy.update.update_salt_environment
+  - system.jenkins.client.job.deploy.update.update_mirror_image
   - system.jenkins.client.job.deploy.update.upgrade
   - system.jenkins.client.job.deploy.update.upgrade_compute
   - system.jenkins.client.job.deploy.update.upgrade_ovs_gateway
diff --git a/jenkins/client/job/deploy/update/update_mirror_image.yml b/jenkins/client/job/deploy/update/update_mirror_image.yml
new file mode 100644
index 0000000..75363db
--- /dev/null
+++ b/jenkins/client/job/deploy/update/update_mirror_image.yml
@@ -0,0 +1,25 @@
+#
+# Jobs to update Salt master environment (formulas and models)
+#
+parameters:
+  _param:
+    jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+  jenkins:
+    client:
+      job:
+        deploy-update-mirror-image:
+          type: workflow-scm
+          concurrent: true
+          display_name: "Deploy - update mirror image"
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+            credentials: "gerrit"
+            script: update-mirror-image.groovy
+          param:
+            SALT_MASTER_URL:
+              type: string
+              default: "${_param:jenkins_salt_api_url}"
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              default: "salt"
\ No newline at end of file
diff --git a/jenkins/client/job/docker/build-images.yml b/jenkins/client/job/docker/build-images.yml
index 61f1e6d..a953d95 100644
--- a/jenkins/client/job/docker/build-images.yml
+++ b/jenkins/client/job/docker/build-images.yml
@@ -11,6 +11,8 @@
               repo: mk
             - name: prometheus
               repo: mcp
+            - name: opencontrail
+              repo: mk
           template:
             discard:
               build:
diff --git a/jenkins/client/job/docker/init.yml b/jenkins/client/job/docker/init.yml
index 64dc03f..63c3f27 100644
--- a/jenkins/client/job/docker/init.yml
+++ b/jenkins/client/job/docker/init.yml
@@ -21,6 +21,7 @@
             - name: jenkins
               branch: "master"
               tags: ""
+              dockerfile: "Dockerfile"
             - name: jenkins
               branch: "2.32.3"
               tags: "2.32"
diff --git a/jenkins/client/job/k8s-test/init.yml b/jenkins/client/job/k8s-test/init.yml
index 0157bb8..0cdaa09 100644
--- a/jenkins/client/job/k8s-test/init.yml
+++ b/jenkins/client/job/k8s-test/init.yml
@@ -1,2 +1,3 @@
 classes:
-- system.jenkins.client.job.k8s-test.mcp-k8s-test-pipeline
\ No newline at end of file
+- system.jenkins.client.job.k8s-test.mcp-k8s-test-pipeline
+- system.jenkins.client.job.k8s-test.mcp-k8s-merge-pipeline
\ No newline at end of file
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml
new file mode 100644
index 0000000..f209aa2
--- /dev/null
+++ b/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml
@@ -0,0 +1,36 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        mcp_k8s_merge_pipeline:
+          type: workflow-scm
+          name: mcp-k8s-merge-pipeline
+          display_name: "Kubernetes merge pipeline"
+          discard:
+            build:
+              keep_num: 20
+          concurrent: false
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
+            credentials: "gerrit"
+            script: pipelines/mcp-k8s-test-pipeline.groovy
+          trigger:
+            gerrit:
+              project:
+                kubernetes/kubernetes:
+                  branches:
+                    - compare_type: "ANT"
+                      name: "**mcp**"
+              message:
+                build_successful: "Build successful"
+                build_unstable: "Build unstable"
+                build_failure: "Build failed"
+              event:
+                change:
+                  - merged
+          param:
+            KUBE_DOCKER_REGISTRY:
+              type: string
+              default: 'docker-dev-local.docker.mirantis.net'
+              description: 'Docker registry for binaries and images'
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
index 645b80d..c872c64 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
@@ -35,10 +35,11 @@
                 comment:
                   - addedContains:
                       commentAddedCommentContains: '(recheck|reverify)'
+              gerrit-build-unstable-verified-value: 1
           param:
             KUBE_DOCKER_REGISTRY:
               type: string
-              default: 'docker-dev-virtual.docker.mirantis.net'
+              default: 'docker-dev-local.docker.mirantis.net'
               description: 'Docker registry for binaries and images'
             CALICO_DOCKER_REGISTRY:
               type: string
@@ -46,16 +47,8 @@
               description: 'Docker registry for published Calico images'
             K8S_BASE_IMAGE:
               type: string
-              default: '{docker-prod-virtual}/mirantis/base-images/debian-base:20161223134732'
+              default: 'mirantis/base-images/debian-base:20161223134732'
               description: 'Base Docker image to build k8s'
-            DOCKER_IMAGE_UNIT:
-              type: string
-              default: '{docker-prod-virtual}/mirantis/k8s-tests-images/k8s-tests-unit:latest'
-              desription: 'Docker image for k8s unit tests'
-            DOCKER_IMAGE_INTEGRATION:
-              type: string
-              default: '{docker-prod-virtual}/mirantis/k8s-tests-images/k8s-tests-integration:latest'
-              desription: 'Docker image for k8s integration tests'
             CALICO_CNI_IMAGE_REPO:
               type: string
               default: 'calico/cni'
diff --git a/jenkins/client/job/oscore/init.yml b/jenkins/client/job/oscore/init.yml
new file mode 100644
index 0000000..171ff6e
--- /dev/null
+++ b/jenkins/client/job/oscore/init.yml
@@ -0,0 +1,10 @@
+classes:
+  - system.jenkins.client.job.oscore.tests
+parameters:
+  jenkins:
+    client:
+      view:
+        "OSCORE":
+          enabled: true
+          type: ListView
+          include_regex: "^oscore-.*"
\ No newline at end of file
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
new file mode 100644
index 0000000..4897cb0
--- /dev/null
+++ b/jenkins/client/job/oscore/tests.yml
@@ -0,0 +1,267 @@
+parameters:
+  jenkins:
+    client:
+      job_template:
+        test-openstack-component-periodic:
+          name: "{{job_prefix}}-{{milestone}}-{{model}}-{{openstack_version}}-{{formula_pkg_revision}}"
+          template:
+            discard:
+              build:
+                keep_num: 30
+              artifact:
+                keep_num: 30
+            type: workflow-scm
+            concurrent: true
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+              credentials: "mcp-gerrit"
+              branch: 'master'
+              script: test-openstack-component-pipeline.groovy
+            trigger:
+              timer:
+               spec: "0 21 * * *"
+            param:
+              # general
+              HEAT_STACK_ZONE:
+                type: string
+                description: AZ
+                default: 'mcp-oscore'
+              OPENSTACK_VERSION:
+                type: string
+                description: Version of openstack to test
+                default: "{{openstack_version}}"
+              PROJECT:
+                type: string
+                description: Project to test
+                default: "all"
+              STACK_TEST_JOB:
+                type: string
+                description: Job for environment deployment
+                default: "{{stack_test_job}}"
+              STACK_TYPE:
+                type: string
+                default: "{{stack_type}}"
+              STACK_INSTALL:
+                type: string
+                description: components to install
+                default: 'core,openstack,ovs'
+              STACK_DELETE:
+                type: boolean
+                default: 'true'
+                description: Don't enable it if you need to use the lab after
+              STACK_CLEANUP_JOB:
+                type: string
+                default: "{{stack_cleanup_job}}"
+              # salt
+              SALT_OVERRIDES:
+                type: text
+                default: ""
+                description: YAML with overrides for Salt deployment
+              FORMULA_PKG_REVISION:
+                type: string
+                description: Version of formulas for salt-master bootstrap
+                default: "{{formula_pkg_revision}}"
+              EXTRA_REPO:
+                type: string
+                description: Optional extra repository to run tests with
+                default: ''
+              EXTRA_REPO_PIN:
+                type: string
+                description: Optional extra repository pin definition
+                default: ''
+              EXTRA_REPO_PRIORITY:
+                type: string
+                description: Optional extra repository pin priority
+                default: ''
+              # openstack api
+              OPENSTACK_API_URL:
+                type: string
+                default: "https://cloud-cz.bud.mirantis.net:5000"
+              OPENSTACK_API_CREDENTIALS:
+                type: string
+                default: "openstack-devcloud-credentials"
+              OPENSTACK_API_PROJECT:
+                type: string
+                default: "mcp-oscore"
+              OPENSTACK_API_PROJECT_DOMAIN:
+                type: string
+                default: "default"
+              OPENSTACK_API_PROJECT_ID:
+                type: string
+                default: ""
+              OPENSTACK_API_USER_DOMAIN:
+                type: string
+                default: "default"
+              OPENSTACK_API_CLIENT:
+                type: string
+                default: ""
+              OPENSTACK_API_VERSION:
+                type: string
+                default: "3"
+              # test
+              TEST_MILESTONE:
+                type: string
+                description: Product milestone
+                default: "{{milestone}}"
+              TEST_TEMPEST_TARGET:
+                type: string
+                description: Node to run tests
+                default: "{{tempest_target}}"
+              TEST_TEMPEST_PATTERN:
+                type: string
+                description: Run tests matched to pattern only
+                default: "tempest"
+              TEST_MODEL:
+                type: string
+                description: Environment salt model
+                default: "{{model}}"
+              TEST_PASS_THRESHOLD:
+                type: string
+                description: Tests pass rate to consider build successful
+                default: "{{test_threshold}}"
+              FAIL_ON_TESTS:
+                type: boolean
+                default: 'true'
+                description: Whether to fail build on test results
+        test-runner-template:
+          name: "{{job_prefix}}-{{test_type}}-runner"
+          template:
+            discard:
+              build:
+                keep_num: 30
+              artifact:
+                keep_num: 30
+            type: workflow-scm
+            concurrent: true
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+              credentials: "mcp-gerrit"
+              branch: 'master'
+              script: run-openstack-tests.groovy
+            param:
+              # general
+              FAIL_ON_TESTS:
+                type: boolean
+                default: 'true'
+                description: Whether to fail build on test results
+              TEST_MILESTONE:
+                type: string
+                description: Product milestone
+              OPENSTACK_VERSION:
+                type: string
+                description: Version of openstack to test
+              PROJECT:
+                type: string
+                description: Name of project being tested
+              PROC_RESULTS_JOB:
+                type: string
+                description: Job for results processing
+                default: "{{proc_results_job}}"
+              # salt
+              SALT_MASTER_CREDENTIALS:
+                type: string
+                default: "salt-qa-credentials"
+              SALT_MASTER_URL:
+                type: string
+                default: ""
+              # test
+              TESTRAIL:
+                type: boolean
+                default: 'false'
+                description: Upload results to testrail or not
+              TEST_TEMPEST_TARGET:
+                type: string
+                description: Salt target to run tests
+              TEST_TEMPEST_IMAGE:
+                type: string
+                description: Node to run tests
+                default: 'docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest'
+              TEST_TEMPEST_PATTERN:
+                type: string
+                description: Run tests matched to pattern only
+              TEST_MODEL:
+                type: string
+                description: Environment salt model
+              TEST_DOCKER_INSTALL:
+                type: boolean
+                default: 'true'
+                description: Whether to install docker for tempest
+              TEST_PASS_THRESHOLD:
+                type: string
+                description: Tests pass rate to consider build successful
+                default: "90"
+        results-checker-template:
+          name: "{{job_prefix}}-{{test_type}}-results-checker"
+          template:
+            discard:
+              build:
+                keep_num: 30
+              artifact:
+                keep_num: 30
+            type: workflow-scm
+            concurrent: true
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+              credentials: "mcp-gerrit"
+              branch: 'master'
+              script: process-openstack-test-results.groovy
+            param:
+              # general
+              FAIL_ON_TESTS:
+                type: boolean
+                default: 'false'
+                description: Whether to fail build on test results
+              OPENSTACK_VERSION:
+                type: string
+                description: Version of openstack to test
+              TARGET_JOB:
+                type: string
+                description: Job to analyse results from
+              TARGET_BUILD_NUMBER:
+                type: string
+                description: Build number to analyse results from
+              # test
+              TESTRAIL:
+                type: boolean
+                default: 'false'
+                description: Whether to upload results to testrail or not
+              TESTRAIL_QA_CREDENTIALS:
+                type: string
+                default: "{{testrail_credentials}}"
+                description: Credentials for results upload to testrail
+              TEST_TEMPEST_TARGET:
+                type: string
+                description: Node to run tests
+              TEST_MILESTONE:
+                type: string
+                description: Product milestone
+              TEST_SUITE:
+                type: string
+                description: Testrail test suite
+                default: >-
+                  'Tempest 16.0.0 with designate tests'
+              TEST_PLAN:
+                type: string
+                description: Testrail test plan
+                default: ''
+              TEST_GROUP:
+                type: string
+                description: Testrail test group
+                default: ''
+              TEST_REPORTER_IMAGE:
+                type: string
+                description: Docker image of testrail reporter tool
+                default: "{{test_reporter_image}}"
+              TEST_MODEL:
+                type: string
+                description: Environment salt model
+              TEST_DATE:
+                type: string
+                description: "TEST run date"
+              TEST_PASS_THRESHOLD:
+                type: string
+                description: Tests pass rate to consider build successful
+                default: "90"
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index 0544f80..88b0435 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -32,56 +32,85 @@
             SALT_MASTER_CREDENTIALS:
               type: string
               default: "salt"
+              description: Credentials to the Salt API
             TEST_IMAGE:
               type: string
               default: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/qa-tools"
+              description: Docker image to setup testing environment
             TARGET_NODE:
               type: string
               default: ""
+              description: Target node where this job will be executed from
             RUN_RALLY_TESTS:
               type: boolean
               default: 'true'
+              description: If chosen then Rally tests will be executed
             RUN_TEMPEST_TESTS:
               type: boolean
               default: 'true'
+              description: If chosen then Tempest tests will be executed
             RUN_K8S_TESTS:
               type: boolean
               default: 'true'
+              description: If chosen then K8S tests will be executed
             TEMPEST_TEST_SET:
               type: choice
               choices:
                 - smoke
                 - full
+              description: Set of Tempest tests to run
+            TEST_K8S_NODE:
+              type: string
+              default: ""
+              description: Kubernetes node to run tests from
             TEST_K8S_API_SERVER:
               type: string
               default: "http://127.0.0.1:8080"
+              description: API server parameter for K8S tests
             TEST_K8S_CONFORMANCE_IMAGE:
               type: string
               default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.7.5-2_1504192939316"
+              description: Docker image to run K8S tests
             RUN_SPT_TESTS:
               type: boolean
               default: 'true'
+              description: If chosen then SPT tests will be executed
             SPT_SSH_USER:
               type: string
               default: "root"
+              description: Username that is used to ssh between cluster nodes
             FLOATING_NETWORK:
               type: string
               default: ""
+              description: External(floating) network name (used in both SPT and Rally)
             SPT_IMAGE:
               type: string
               default: ""
+              description: Image that is used for network-VM-to-VM-iperf-tests tests
             SPT_IMAGE_USER:
               type: string
               default: ""
+              description: Username that is used to ssh to SPT_IMAGE
             SPT_FLAVOR:
               type: string
               default: ""
-            AVAILABILITY_ZONE:
-              type: string
-              default: "nova"
+              description: Flavor name for SPT_IMAGE (make sure you have required flavor created)
             RALLY_IMAGE:
               type: string
               default: "cirros"
             RALLY_FLAVOR:
               type: string
               default: "m1.tiny"
+              description: Flavor name for Rally scenarios
+            AVAILABILITY_ZONE:
+              type: string
+              default: "nova"
+              description: Name of availability zone
+            GENERATE_REPORT:
+              type: boolean
+              default: 'true'
+              description: If chosen then at the end of the test run HTML report will be generated
+            ACCUMULATE_RESULTS:
+              type: boolean
+              default: 'true'
+              description: If chosen then previous build results will be used in the current build
diff --git a/linux/system/single/init.yml b/linux/system/single/init.yml
index 1e68380..8de2dda 100644
--- a/linux/system/single/init.yml
+++ b/linux/system/single/init.yml
@@ -17,7 +17,7 @@
       package:
         cloud-init:
           version: purged
-        unattended-updates:
+        unattended-upgrades:
           version: purged
         mcelog:
           version: latest
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index 4d07a3e..5d0e6a1 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -93,3 +93,4 @@
       user:
         public_key: ${_param:nova_compute_ssh_public}
         private_key: ${_param:nova_compute_ssh_private}
+      my_ip: ${_param:single_address}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index f50b937..b915145 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -89,3 +89,4 @@
       user:
         public_key: ${_param:nova_compute_ssh_public}
         private_key: ${_param:nova_compute_ssh_private}
+      my_ip: ${_param:single_address}
diff --git a/openssh/server/team/members/listomin.yml b/openssh/server/team/members/listomin.yml
new file mode 100644
index 0000000..4a22a23
--- /dev/null
+++ b/openssh/server/team/members/listomin.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        listomin:
+          enabled: true
+          name: listomin
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Leontii Istomin
+          home: /home/listomin
+          email: listomin@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        listomin:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkiHTkB53cYMFqNsKjEa1W+O3KpSRk26zCQtNsJO4KrNTSuROcpSjSGLUL55YgjBzVUUo88WNFJgu5e3oJNmXpWcfyRa2LoQyhAws6LxsGb5hH0YWB34w4uzvcHIpO5QNGmHIMaczdS721cgGMygBla32putV13gZE/y2ucFh4oza5lRuY5GZm2i1iTaDV5QqamDeYC3venjTtnXXuZbsW0Mkyn8mPXe5d3/FYSKLBGGCELnxpyopfpuCBsQEPSuYIz7EWsLCCjKgUrYZ4Uu5Sg5Ifs+Z0lSQR7/wbraDoGSyrubBHP3ub57lJvQ5kvNyKnT+BwGpoF8V+oMuoqR4l listomin@listomin-laptop
+          user: ${linux:system:user:listomin}
\ No newline at end of file
diff --git a/openssh/server/team/members/obasov.yml b/openssh/server/team/members/obasov.yml
new file mode 100644
index 0000000..8f58212
--- /dev/null
+++ b/openssh/server/team/members/obasov.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        obasov:
+          enabled: true
+          name: obasov
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Oleg Basov
+          home: /home/obasov
+          email: obasov@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        obasov:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkbt+z214gkpRTA1Fso0ltxDq37Cu0l75stLO9eIPh9Gd38MliXB5NpJsGk3b521y/a2fdIKMfzwlt3WpC/cgx16l2PesEt4b/ASHYiHNtoGPxbcDRfgcamAsUyUyPtKjbBJJJ2aPfYRRhnEDOZwA3P6ITvpfzj4I24Y46j1H+qmi8gKzFTZpj0EobaPTi/sRztuVLspTy3MntcIwGBJMZCaz0jifYLEEFdEQRHdaZy5L2/2jv7GVECBRd0ucHr+zSM1uV4LQbQVCuGquTn05GZBpwgtMyfwhm7ySMsewZpssVReDha+0WVpNiftKcyBAjXdUsLAgZqeaAz4exey1r olegeech@ns1.sytkovo.su
+          user: ${linux:system:user:obasov}
\ No newline at end of file
diff --git a/openssh/server/team/members/sgalkin.yml b/openssh/server/team/members/sgalkin.yml
new file mode 100644
index 0000000..1388ebc
--- /dev/null
+++ b/openssh/server/team/members/sgalkin.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        sgalkin:
+          enabled: true
+          name: sgalkin
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Sergey Galkin
+          home: /home/sgalkin
+          email: sgalkin@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        sgalkin:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyaEWaI1tkQiWHIB/pHZ6jrZyN7fQDxYodhT54rtbFcwnxGM0L1PuL1WcHGB9GJgWwOe7FE+9/kGxAuabjiFjg/NagdtAOfBp2b9+9sYCc8luJxIicTXHI5fY/tVW28OL8s51cw3Gr2m0atRDxKpb8Zv78qfYSSaENB9vq02IYu4Cr1CLEB6Zawm9iRq9ahMwWfslwIii4wKFuWcgjT6spMiHNkUwIYwxdFlCUh3gEhJYfwhe3LpoAvHmBESW0hdEj0S9YgTByBRgKkKrh98irf6B4DVOLWQLudLjAl59lb9Gz2s6fKUBYbz++I6bejHQ6I83VzT0DDKnbiQRXLh4/Q== gals@gals
+          user: ${linux:system:user:sgalkin}
\ No newline at end of file
diff --git a/openssh/server/team/qa_scale.yml b/openssh/server/team/qa_scale.yml
index a3f4a91..98c5540 100644
--- a/openssh/server/team/qa_scale.yml
+++ b/openssh/server/team/qa_scale.yml
@@ -1,25 +1,8 @@
+classes:
+- system.openssh.server.team.members.listomin
+- system.openssh.server.team.members.sgalkin
+- system.openssh.server.team.members.obasov
+
 parameters:
   _param:
     linux_system_user_sudo: true
-  linux:
-    system:
-      user:
-        dburnazyan:
-          enabled: true
-          name: dburnazyan
-          sudo: true
-          full_name: David Burnazyan
-          home: /home/dburnazyan
-          email: dburnazyan@mirantis.com
-  openssh:
-    server:
-      enabled: true
-      user:
-        dburnazyan:
-          enabled: true
-          public_keys:
-          - ${public_keys:dburnazyan}
-          user: ${linux:system:user:dburnazyan}
-  public_keys:
-    dburnazyan:
-      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4xJvnHle7Omjhnv8AsqfXlp1Sg4Ixq/p0Dpcj5SlGN5YTnIs+eRXwy7WHICCgWC1OA+o4omzWQI486u0C4qMkdv+nvuAsvJQVRGNiGVp4gi48x3KqMxlEzeCScMH5oj+W5LJLcb2czHulBPXRluKlITOlF4i5+z3GbFwb8Dg5hBnnbxhhRyh6XyUOh8WQvBqXAk2EqY8vqYAZxV9DXI8OSIYsvpM9jQo/26YrSoTWZ4caCNmL6zVVH7eXaqEzVwDHxpXHLvzSP4bIl85dKygJI1DyN9mZ1B77z1lNZnk7Fu8yQP05Guln5Hzg+VqycAZxOk6ysjRXiYNu56DVZuc3 dburnazyan@dburnazyan-pc.msk.mirantis.net
diff --git a/openssh/server/team/support.yml b/openssh/server/team/support.yml
index f78ceac..1b09ef0 100644
--- a/openssh/server/team/support.yml
+++ b/openssh/server/team/support.yml
@@ -86,8 +86,6 @@
             - ${linux:system:user:nkabanova:name}
             - ${linux:system:user:rsoto:name}
             - ${linux:system:user:rsafonov:name}
-            - ${linux:system:user:smachtmes:name}
-            - ${linux:system:user:zkhurasani:name}
             # L2OPS
             - ${linux:system:user:aepifanov:name}
             - ${linux:system:user:apetrenko:name}
@@ -104,12 +102,9 @@
             - ${linux:system:user:oliemieshko:name}
             - ${linux:system:user:sovsianikov:name}
             - ${linux:system:user:pmichalec:name}
-            - ${linux:system:user:pmathews:name}
             - ${linux:system:user:pcizinsky:name}
             - ${linux:system:user:osmola:name}
-            - ${linux:system:user:cade:name}
             - ${linux:system:user:jmosher:name}
-            - ${linux:system:user:ecantwell:name}
             - ${linux:system:user:lmercl:name}
       sudo:
         enabled: true
diff --git a/salt/control/cluster/stacklight_log_cluster.yml b/salt/control/cluster/stacklight_log_cluster.yml
index 330e301..e4c08b6 100644
--- a/salt/control/cluster/stacklight_log_cluster.yml
+++ b/salt/control/cluster/stacklight_log_cluster.yml
@@ -5,7 +5,7 @@
         stacklight.log:
           cpu: 32
           ram: 65536
-          disk_profile: small
+          disk_profile: xxxxlarge
           net_profile: default
       cluster:
         internal:
diff --git a/salt/control/cluster/stacklight_server_cluster.yml b/salt/control/cluster/stacklight_server_cluster.yml
index 0055d20..6e7da61 100644
--- a/salt/control/cluster/stacklight_server_cluster.yml
+++ b/salt/control/cluster/stacklight_server_cluster.yml
@@ -5,7 +5,7 @@
         stacklight.server:
           cpu: 32
           ram: 65536
-          disk_profile: small
+          disk_profile: xxlarge
           net_profile: default
       cluster:
         internal:
diff --git a/salt/control/cluster/stacklight_telemetry_cluster.yml b/salt/control/cluster/stacklight_telemetry_cluster.yml
index bfd14b0..1b39b61 100644
--- a/salt/control/cluster/stacklight_telemetry_cluster.yml
+++ b/salt/control/cluster/stacklight_telemetry_cluster.yml
@@ -5,7 +5,7 @@
         stacklight.telemetry:
           cpu: 32
           ram: 65536
-          disk_profile: small
+          disk_profile: xxxlarge
           net_profile: default
       cluster:
         internal: