Merge "add salt-override"
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
index 72c20cb..2278543 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
@@ -6,6 +6,7 @@
     mirror_mirantis_openstack_xenial_aptly_components: main
     mirror_mirantis_openstack_xenial_aptly_gpgkeys:
       - 9C7DE460
+      - ED75B5A4483DA07C
   aptly:
     server:
       mirror:
diff --git a/docker/swarm/stack/hce.yml b/docker/swarm/stack/hce.yml
index f059602..7a25ce4 100644
--- a/docker/swarm/stack/hce.yml
+++ b/docker/swarm/stack/hce.yml
@@ -4,8 +4,7 @@
     docker_image_hce: docker-prod-local.artifactory.mirantis.com/mirantis/oss/hce
     hce_bind_host: hce-api
     hce_bind_port: ${_param:haproxy_hce_bind_port}
-    hce_elasticsearch_host: elastic-endpoint-ip
-    hce_elasticsearch_port: elastic-endpoint-port
+    hce_prometheus_protocol: http
     hce_prometheus_host: prometheus-endpoint-ip
     hce_prometheus_port: prometheus-endpoint-port
     hce_ssl:
@@ -15,8 +14,7 @@
       stack:
         hce:
           environment:
-            HCEELASTICHOST: ${_param:hce_elasticsearch_host}
-            HCEELASTICPORT: ${_param:hce_elasticsearch_port}
+            HCEPROMETHEUSPROTOCOL: ${_param:hce_prometheus_protocol}
             HCEPROMETHEUSHOST: ${_param:hce_prometheus_host}
             HCEPROMETHEUSPORT: ${_param:hce_prometheus_port}
           service:
diff --git a/gerrit/client/project/vnf_onboarding.yml b/gerrit/client/project/vnf_onboarding.yml
deleted file mode 100644
index 1e7d238..0000000
--- a/gerrit/client/project/vnf_onboarding.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-parameters:
-  gerrit:
-    client:
-      project:
-        vnf-onboarding/avi-loadbalancer:
-          enabled: true
-          description: AVI VNF
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/avi-loadbalancer
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
-        vnf-onboarding/metaswitch-vsbc:
-          enabled: true
-          description: Metaswitch vSBC VNF
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/metaswitch-vsbc
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
-        vnf-onboarding/nfv-platform:
-          enabled: true
-          description: Onboarding platform blueprints and tools
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/nfv-platform
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
-        vnf-onboarding/nginx-vnf:
-          enabled: true
-          description: NGINX VNF
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/nginx-vnf
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
-        vnf-onboarding/pipelines:
-          enabled: true
-          description: VNF onboarding pipelines
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/pipelines
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
-        vnf-onboarding/platform-tests:
-          enabled: true
-          description: VNF onboarding platform tests
-          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/platform-tests
-          access: ${gerrit:client:default_access}
-          require_change_id: true
-          require_agreement: false
-          merge_content: true
diff --git a/gerrit/client/project/vnf_onboarding/avi_loadbalancer.yml b/gerrit/client/project/vnf_onboarding/avi_loadbalancer.yml
new file mode 100644
index 0000000..1bb17b6
--- /dev/null
+++ b/gerrit/client/project/vnf_onboarding/avi_loadbalancer.yml
@@ -0,0 +1,12 @@
+parameters:
+  gerrit:
+    client:
+      project:
+        vnf-onboarding/avi-loadbalancer:
+          enabled: true
+          description: AVI VNF
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/avi-loadbalancer
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
\ No newline at end of file
diff --git a/gerrit/client/project/vnf_onboarding/init.yml b/gerrit/client/project/vnf_onboarding/init.yml
new file mode 100644
index 0000000..a1e616e
--- /dev/null
+++ b/gerrit/client/project/vnf_onboarding/init.yml
@@ -0,0 +1,20 @@
+parameters:
+  gerrit:
+    client:
+      project:
+        vnf-onboarding/nfv-platform:
+          enabled: true
+          description: Onboarding platform blueprints and tools
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/nfv-platform
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
+        vnf-onboarding/pipelines:
+          enabled: true
+          description: VNF onboarding pipelines
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/pipelines
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
diff --git a/gerrit/client/project/vnf_onboarding/metaswitch_vsbc.yml b/gerrit/client/project/vnf_onboarding/metaswitch_vsbc.yml
new file mode 100644
index 0000000..9bbd891
--- /dev/null
+++ b/gerrit/client/project/vnf_onboarding/metaswitch_vsbc.yml
@@ -0,0 +1,20 @@
+parameters:
+  gerrit:
+    client:
+      project:
+        vnf-onboarding/metaswitch-vsbc:
+          enabled: true
+          description: Metaswitch vSBC VNF
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/metaswitch-vsbc
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
+        vnf-onboarding/platform-tests:
+          enabled: true
+          description: VNF onboarding platform tests
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/platform-tests
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
diff --git a/gerrit/client/project/vnf_onboarding/nginx_vnf.yml b/gerrit/client/project/vnf_onboarding/nginx_vnf.yml
new file mode 100644
index 0000000..3549fe7
--- /dev/null
+++ b/gerrit/client/project/vnf_onboarding/nginx_vnf.yml
@@ -0,0 +1,12 @@
+parameters:
+  gerrit:
+    client:
+      project:
+        vnf-onboarding/nginx-vnf:
+          enabled: true
+          description: NGINX VNF
+          upstream: https://gerrit.mcp.mirantis.net/vnf-onboarding/nginx-vnf
+          access: ${gerrit:client:default_access}
+          require_change_id: true
+          require_agreement: false
+          merge_content: true
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
index ebf3b21..c908e5c 100644
--- a/jenkins/client/job/debian/packages/horizon/modules.yml
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -114,6 +114,18 @@
               os_version: ocata
               branch: stable/ocata
             # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: pike
+              branch: stable/pike
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: pike
+              branch: stable/pike
+            # Trusty
             - name: horizon-jenkins-dashboard
               os: ubuntu
               dist: trusty
diff --git a/jenkins/client/job/deploy/kqueen.yml b/jenkins/client/job/deploy/kqueen.yml
index 9a08e91..9fc5394 100644
--- a/jenkins/client/job/deploy/kqueen.yml
+++ b/jenkins/client/job/deploy/kqueen.yml
@@ -53,10 +53,10 @@
             # aws api
             AWS_STACK_REGION:
               type: string
-              default: "eu-central-1"
+              default: "us-west-2"
             AWS_API_CREDENTIALS:
               type: string
-              default: "aws-credentials"
+              default: "kqueen-aws"
             AWS_SSH_KEY:
               type: string
               default: "jenkins-mk"
diff --git a/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/avi_loadbalancer.yml b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/avi_loadbalancer.yml
new file mode 100644
index 0000000..c74bda3
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/avi_loadbalancer.yml
@@ -0,0 +1,10 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    gerrit_vnf_onboaring_avi_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/avi-loadbalancer"
+    jenkins_git_mirror_downstream_jobs:
+      - name: avi-loadbalancer
+        downstream: vnf-onboarding/avi-loadbalancer
+        upstream: ${_param:gerrit_vnf_onboaring_avi_repo}
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/init.yml b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/init.yml
new file mode 100644
index 0000000..83d11c0
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/init.yml
@@ -0,0 +1,15 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    gerrit_vnf_onboaring_pipelines_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/pipelines"
+    gerrit_vnf_onboaring_nfv_platform_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/nfv-platform"
+    jenkins_git_mirror_downstream_jobs:
+      - name: vnf-pipelines
+        downstream: vnf-onboarding/pipelines
+        upstream: ${_param:gerrit_vnf_onboaring_pipelines_repo}
+        branches: master
+      - name: nfv-platform
+        downstream: vnf-onboarding/nfv-platform
+        upstream: ${_param:gerrit_vnf_onboaring_nfv_platform_repo}
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/metaswitch_vsbc.yml b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/metaswitch_vsbc.yml
new file mode 100644
index 0000000..0a0c300
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/metaswitch_vsbc.yml
@@ -0,0 +1,15 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    gerrit_vnf_onboaring_metaswitch_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/metaswitch-vsbc"
+    gerrit_vnf_onboaring_platform_tests_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/platform-tests"
+    jenkins_git_mirror_downstream_jobs:
+      - name: metaswitch-vsbc
+        downstream: vnf-onboarding/metaswitch-vsbc
+        upstream: ${_param:gerrit_vnf_onboaring_metaswitch_repo}
+        branches: master
+      - name: platform-tests
+        downstream: vnf-onboarding/platform-tests
+        upstream: ${_param:gerrit_vnf_onboaring_platform_tests_repo}
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/nginx_vnf.yml b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/nginx_vnf.yml
new file mode 100644
index 0000000..6aff50c
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/vnf_onboarding/nginx_vnf.yml
@@ -0,0 +1,10 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    gerrit_vnf_onboaring_nginx_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/nginx-vnf"
+    jenkins_git_mirror_downstream_jobs:
+      - name: nginx-vnf
+        downstream: vnf-onboarding/nginx-vnf
+        upstream: ${_param:gerrit_vnf_onboaring_nginx_repo}
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/vnf_ondoarding.yml b/jenkins/client/job/git-mirrors/downstream/vnf_ondoarding.yml
deleted file mode 100644
index bb53937..0000000
--- a/jenkins/client/job/git-mirrors/downstream/vnf_ondoarding.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-classes:
-  - system.jenkins.client.job.git-mirrors.downstream
-parameters:
-  _param:
-    gerrit_vnf_onboaring_pipelines_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/pipelines"
-    gerrit_vnf_onboaring_nginx_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/nginx-vnf"
-    gerrit_vnf_onboaring_avi_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/avi-loadbalancer"
-    gerrit_vnf_onboaring_metaswitch_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/metaswitch-vsbc"
-    gerrit_vnf_onboaring_platform_tests_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/platform-tests"
-    gerrit_vnf_onboaring_nfv_platform_repo: "https://gerrit.mcp.mirantis.net/vnf-onboarding/nfv-platform"
-    jenkins_git_mirror_downstream_jobs:
-      - name: vnf-pipelines
-        downstream: vnf-onboarding/pipelines
-        upstream: ${_param:gerrit_vnf_onboaring_pipelines_repo}
-        branches: master
-      - name: nginx-vnf
-        downstream: vnf-onboarding/nginx-vnf
-        upstream: ${_param:gerrit_vnf_onboaring_nginx_repo}
-        branches: master
-      - name: avi-loadbalancer
-        downstream: vnf-onboarding/avi-loadbalancer
-        upstream: ${_param:gerrit_vnf_onboaring_avi_repo}
-        branches: master
-      - name: metaswitch-vsbc
-        downstream: vnf-onboarding/metaswitch-vsbc
-        upstream: ${_param:gerrit_vnf_onboaring_metaswitch_repo}
-        branches: master
-      - name: platform-tests
-        downstream: vnf-onboarding/platform-tests
-        upstream: ${_param:gerrit_vnf_onboaring_platform_tests_repo}
-        branches: master
-      - name: nfv-platform
-        downstream: vnf-onboarding/nfv-platform
-        upstream: ${_param:gerrit_vnf_onboaring_nfv_platform_repo}
-        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/upstream/models.yml b/jenkins/client/job/git-mirrors/upstream/models.yml
index 9a16673..d64c2e4 100644
--- a/jenkins/client/job/git-mirrors/upstream/models.yml
+++ b/jenkins/client/job/git-mirrors/upstream/models.yml
@@ -4,9 +4,9 @@
   _param:
     jenkins_git_mirror_upstream_jobs:
       - name: kubernetes-aws-model
-        downstream: mk/kubernetes-aws-model
+        downstream: kubernetes/kubernetes-aws-model
         upstream: "git@github.com:Mirantis/kubernetes-aws-model"
-        branches: master
+        branches: allinone,master
       - name: ceph-ha-model
         downstream: ceph/ceph-ha-model
         upstream: "git@github.com:Mirantis/ceph-ha-model"
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 36e1dc0..0fdbbfe 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
@@ -9,7 +9,7 @@
           discard:
             build:
               keep_num: 50
-          concurrent: false
+          concurrent: true
           scm:
             type: git
             url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
index d9be124..1506326 100644
--- a/jenkins/client/job/opencontrail/build/generic.yml
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -111,6 +111,14 @@
               upload_source_package: true
               dpdk: contrail_dpdk_17_02
               build_trigger: "H H(20-23) */7 * *"
+            - buildname: oc50
+              os: ubuntu
+              dist: xenial
+              branch: R5.0
+              ppa: mirantis-opencontrail/opencontrail-5.0
+              upload_source_package: true
+              dpdk: contrail_dpdk_17_02
+              build_trigger: "H H(20-23) */7 * *"
             - buildname: oc666
               os: ubuntu
               dist: trusty
diff --git a/jenkins/client/job/opencontrail/init.yml b/jenkins/client/job/opencontrail/init.yml
index d2ecdb6..c6d1ca6 100644
--- a/jenkins/client/job/opencontrail/init.yml
+++ b/jenkins/client/job/opencontrail/init.yml
@@ -3,7 +3,7 @@
   - system.jenkins.client.job.opencontrail.git-mirrors
 parameters:
   _param:
-    contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,R4.1,master"
+    contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,R4.1,R5.0,master"
     contrail_kubernetes_branches: "master,release-1.2"
     contrail_dpdk_extra_branches: "mitaka,mitaka_dpdk_17_02,mitaka_dpdk_17_05,kilo,liberty-multiqueue,newton,ocata"
     contrail_ceilometer_plugin_branches: "master,R4.0,R4.1"
@@ -34,5 +34,7 @@
               naming_rule: "R4.0"
             - group_regex: "build-opencontrail-oc41-.*"
               naming_rule: "R4.1"
+            - group_regex: "build-opencontrail-oc50-.*"
+              naming_rule: "R5.0"
             - group_regex: "build-opencontrail-oc666-.*"
               naming_rule: "oc-666"
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
index a2a3dec..7a73f01 100644
--- a/jenkins/client/job/oscore/tests.yml
+++ b/jenkins/client/job/oscore/tests.yml
@@ -217,18 +217,6 @@
                 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
@@ -801,6 +789,7 @@
                     compare_type: 'REG_EXP'
                     branches:
                       - master
+                      - stable/queens
                       - stable/pike
                       - stable/ocata
                       - stable/newton
diff --git a/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
new file mode 100644
index 0000000..234178e
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
@@ -0,0 +1,63 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        deploy_cloudify:
+          type: workflow-scm
+          name: deploy-cloudify
+          display_name: "Deploy Cloudify"
+          discard:
+            build:
+              keep_num: 20
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+            credentials: "${_param:vnf_gerrit_credentials}"
+            script: deploy_cloudify.groovy
+          param:
+            OPENSTACK_API_URL:
+              type: string
+              default: "${_param:vnf_openstack_api_url}"
+            OPENSTACK_API_CREDENTIALS:
+              type: string
+              default: "${_param:vnf_openstack_api_admin_credentials}"
+            OPENSTACK_API_TENANT:
+              type: string
+              default: "test-cloudify"
+            NFV_PLATFORM_REPO:
+              type: string
+              description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
+              default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+            NFV_PLATFORM_REPO_BRANCH:
+              type: string
+              default: "master"
+            NFV_PLATFORM_REPO_CREDENTIALS:
+              type: string
+              default: "${_param:vnf_gerrit_credentials}"
+            CFM_IMAGE:
+              type: string
+              default: "cloudify-enterprise"
+            CFM_FLAVOR:
+              type: string
+              default: "large"
+            CFM_DISK_SIZE:
+              type: string
+              default: "80"
+            CFM_NET_NAME:
+              type: string
+              default: "cfm-net-shared"
+            SHARE_CFM_NET:
+              type: boolean
+              default: true
+            CFM_SUBNET_CIDR:
+              type: string
+              default: "10.10.1.1/24"
+            CFM_SUBNET_DNS:
+              type: string
+              default: "${_param:dns_server01}"
+            CFM_SSH_KEY_ID:
+              type: string
+              default: "openstack_key"
+            EXTERNAL_NET:
+              type: string
+              default: "public"
\ No newline at end of file
diff --git a/jenkins/client/job/vnf-onboarding/init.yml b/jenkins/client/job/vnf-onboarding/init.yml
index 0e0a847..69b4f4d 100644
--- a/jenkins/client/job/vnf-onboarding/init.yml
+++ b/jenkins/client/job/vnf-onboarding/init.yml
@@ -1,7 +1,5 @@
 classes:
-  - system.jenkins.client.job.vnf-onboarding.test_avi_loadbalancer
-  - system.jenkins.client.job.vnf-onboarding.test_nginx_vnf
-  - system.jenkins.client.job.vnf-onboarding.test_platform
+  - system.jenkins.client.job.vnf-onboarding.deploy_cloudify
 
 parameters:
   _param:
@@ -9,6 +7,8 @@
     vnf_gerrit_credentials: "gerrit"
     vnf_openstack_api_url: "${_param:cluster_public_protocol}://${_param:cluster_public_host}:5000/v2.0"
     vnf_openstack_api_credentials: "test-openstack"
+    vnf_openstack_api_admin_credentials: "admin-openstack"
+    vnf_openstack_ssh_key_credentials: "openstack_key"
     vnf_elastic_url: "${_param:stacklight_log_address}:${_param:cluster_elasticsearch_port}"
     vnf_docker_registry_path: "docker-dev-local.docker.mirantis.net/mirantis/vnf-onboarding"
     vnf_artifactory_url: "https://artifactory.mcp.mirantis.net/artifactory/vnf-onboarding-sandbox"
diff --git a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
index 2bc206b..7caf52c 100644
--- a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
+++ b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
@@ -79,9 +79,28 @@
             CONTRAIL_API_URL:
               type: string
               default: "${_param:contrail_api_url}"
-            CI_OPTIONS:
+            SETUP_OWN_CLOUDIFY:
+              type: boolean
+              description: "Use temporary private Cloudify instance"
+              default: false
+            CLOUDIFY_MANAGER_IP:
               type: string
-              default: "CFY_AGENT_NET=cfm-net CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_IMAGE=ubuntu1 CFY_AGENT_USER=cfyuser CFY_SG=cfm-sg CFY_SSH_KEY_ID=openstack_key"
+              description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
+              default: "auto"
+            CFM_SSH_KEY_ID:
+              type: string
+              description: "Credentials ID of ssh key for connection to Cloudify"
+              default: "${_param:vnf_openstack_ssh_key_credentials}"
+            CFY_AGENT_NET:
+              type: string
+              description: "Network for Cloudify agents that has access to Cloudify Manager"
+              default: "cfm-net-shared"
+            CFY_AGENT_FLAVOR:
+              type: string
+              default: "cfy.agent"
+            CFY_AGENT_IMAGE:
+              type: string
+              default: "ubuntu-xenial"
             VNF_ARTIFACTORY_URL:
               type: string
               default: "${_param:vnf_artifactory_url}"
@@ -110,3 +129,7 @@
             VNF_DOCKER_CLI_PLATFORM:
               type: string
               default: "ubuntu"
+            CLOUDIFY_DEPLOYMENT_TIMEOUT:
+              type: string
+              description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+              default: 1800
diff --git a/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
new file mode 100644
index 0000000..e27cc1b
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
@@ -0,0 +1,226 @@
+parameters:
+  jenkins:
+    client:
+      plugin:
+        gerrit-trigger: {}
+      job:
+        test_metaswitch_vnf:
+            type: workflow-scm
+            name: test_metaswitch_vnf
+            display_name: "Onboarding tests for Metaswitch vSBC VNF"
+            discard:
+              build:
+                keep_num: 20
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+              credentials:  "${_param:vnf_gerrit_credentials}"
+              script: test_vnf_onboarding.groovy
+            trigger:
+              gerrit:
+                project:
+                  "vnf-onboarding/metaswitch-vsbc":
+                    branches:
+                      - compare_type: "ANT"
+                        name: "**"
+                event:
+                  patchset:
+                    - created:
+                        excludeDrafts: false
+                        excludeTrivialRebase: false
+                        excludeNoCodeChange: false
+                  change:
+                    - merged
+                  comment:
+                    - addedContains:
+                        commentAddedCommentContains: '(retest|recheck|reverify)'
+            param:
+              DEFAULT_GIT_URL:
+                type: string
+                description: "Run against alternate system reclass"
+                default: "${_param:jenkins_gerrit_url}/vnf-onboarding/metaswitch-vsbc"
+              DEFAULT_GIT_REF:
+                type: string
+                default: master
+              OPENSTACK_API_URL:
+                type: string
+                default: ${_param:vnf_openstack_api_url}"
+              OPENSTACK_API_CREDENTIALS:
+                type: string
+                default: "${_param:vnf_openstack_api_credentials}"
+              OPENSTACK_API_TENANT:
+                type: string
+                default: "test"
+              GERRIT_CREDENTIALS:
+                type: string
+                default: "${_param:vnf_gerrit_credentials}"
+              ELASTIC_URL:
+                type: string
+                default: "${_param:vnf_elastic_url}"
+              DEBUG_OPTIONS:
+                type: string
+                default: "skip_inspection=1"
+                description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
+              NFV_PLATFORM_REPO:
+                type: string
+                description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
+                default: "ssh://mcp-gerrit@gerrit.mcp.mirantis.net:29418/vnf-onboarding/nfv-platform"
+              NFV_PLATFORM_REPO_BRANCH:
+                type: string
+                default: "master"
+              NFV_PLATFORM_REPO_CREDENTIALS:
+                type: string
+                default: "${_param:vnf_gerrit_credentials}"
+              CONTRAIL_ENABLED:
+                type: boolean
+                default: false
+              CONTRAIL_API_URL:
+                type: string
+                default: "${_param:contrail_api_url}"
+              SETUP_OWN_CLOUDIFY:
+                type: boolean
+                description: "Use temporary private Cloudify instance"
+                default: false
+              CLOUDIFY_MANAGER_IP:
+                type: string
+                description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
+                default: "auto"
+              CFM_SSH_KEY_ID:
+                type: string
+                description: "Credentials ID of ssh key for connection to Cloudify"
+                default: "${_param:vnf_openstack_ssh_key_credentials}"
+              CFY_AGENT_NET:
+                type: string
+                description: "Network for Cloudify agents that has access to Cloudify Manager"
+                default: "cfm-net-shared"
+              CFY_AGENT_FLAVOR:
+                type: string
+                default: "cfy.agent"
+              CFY_AGENT_IMAGE:
+                type: string
+                default: "ubuntu-xenial"
+              VNF_ARTIFACTORY_URL:
+                type: string
+                default: "${_param:vnf_artifactory_url}"
+              VNF_ARTIFACTORY_PLUGINS_DIR:
+                type: string
+                default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
+              VNF_DOCKER_REGISTRY_PATH:
+                type: string
+                default: "${_param:vnf_docker_registry_path}"
+              VNF_DOCKER_CLI_TAG:
+                type: string
+                default: "latest"
+              VNF_DOCKER_SCRUN_TAG:
+                type: string
+                description: "Not in use for this job"
+                default: "latest"
+              VNF_PLUGINS:
+                type: string
+                description: "Plugins to fetch from artifactory and install during build package step"
+                default: "vnf_onboarding_tools-0.1-py27-none-linux_x86_64_Ubuntu_xenial"
+              VNF_OPTIONS:
+                type: string
+                default: ""
+              VNF_DOCKER_CLI_PLATFORM:
+                type: string
+                default: "ubuntu"
+              CLOUDIFY_DEPLOYMENT_TIMEOUT:
+                type: string
+                description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+                default: 7200
+
+
+        platform_validation_pipeline:
+          type: workflow-scm
+          name: platform_validation_pipeline
+          display_name: "Validate OpenStack platform before deploy of VNF"
+          discard:
+            build:
+              keep_num: 20
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+            credentials: "${_param:vnf_gerrit_credentials}"
+            script: test_platform.groovy
+          param:
+            OPENSTACK_API_CREDENTIALS:
+              type: string
+              description: "OpenStack admin user credentials for running tests"
+              default: "${_param:vnf_openstack_api_credentials}"
+            OS_PROJECT_NAME:
+              type: string
+              description: "OpenStack project name for running tests"
+              default: "platform-test"
+            OS_AUTH_URL:
+              type: string
+              description: "OpenStack auth url"
+              default: "http://${_param:openstack_control_address}:35357/v3"
+            IMAGE_ID:
+              type: string
+              description: "Specify image id to execute tests against custom images"
+              default: ""
+            FLAVOR_ID:
+              type: string
+              description: "Specify flavor id to execute tests against custom images"
+              default: ""
+            MIN_COMPUTE_NODES:
+              type: string
+              description: "Specify number of compute nodes of environment"
+              default: '2'
+            FIXED_SHARED_NETWORK_NAME:
+              type: string
+              description: "Shared network that will be used in tests."
+              default: "test-shared"
+            COMPUTE_NODE_HOST_NAME:
+              type: string
+              description: "To run CPU pinning/NUMA topology tests against specific node"
+              default: ''
+            COMPUTE_AVAILABILITY_ZONE:
+              type: string
+              description: "To run CPU pinning/NUMA topology tests against specific node"
+              default: 'nova'
+            COMPUTE_NUMA_NODE_COUNT:
+              type: string
+              description: "Number of NUMA node for NUMA topology testing."
+              default: '2'
+            IMAGE_SSH_USER:
+              type: string
+              description: "Specify user name to login in test OpenStack VMs"
+              default: "cirros"
+            VNF_PLATFORM_TESTS_REPO:
+              type: string
+              description: "Repository with testing framework"
+              default: "${_param:jenkins_gerrit_url}vnf-onboarding/platform-tests"
+            VNF_PLATFORM_TESTS_BRANCH:
+              type: string
+              default: "master"
+            VNF_PLATFORM_TESTS_REPO_CREDENTIALS:
+              type: string
+              default: "${_param:vnf_gerrit_credentials}"
+            TEMPEST_IMAGE_DOCKER_REGISTRY_PATH:
+              type: string
+              description: "Path for docker image with testing tool.  If empty, image will be build using VNF_PLATFORM_TESTS_* parameters."
+              default: ${_param:vnf_docker_registry_path}
+            TEMPEST_IMAGE_NAME:
+              type: string
+              description: "Name of docker image with testing tool"
+              default: "platform_tests:latest"
+            ELASTIC_URL:
+              type: string
+              description: "URL to elastic search API"
+              default: "${_param:vnf_elastic_url}"
+            ELASTIC_TRANSFER_REPO:
+              type: string
+              description: "Repository with scripts for transfering test results to elastic search"
+              default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+            ELASTIC_TRANSFER_REPO_CREDENTIALS:
+              type: string
+              default: "${_param:vnf_gerrit_credentials}"
+            ELASTIC_TRANSFER_REPO_BRANCH:
+              type: string
+              default: "master"
+            DOCKER_TEMPEST_PARAMS:
+              type: string
+              description: "Pass custom parameters for tempest container"
+              default: ""
diff --git a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
index 2dc1a31..f5ca331 100644
--- a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
+++ b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
@@ -80,9 +80,28 @@
             CONTRAIL_API_URL:
               type: string
               default: "${_param:contrail_api_url}"
-            CI_OPTIONS:
+            SETUP_OWN_CLOUDIFY:
+              type: boolean
+              description: "Use temporary private Cloudify instance"
+              default: false
+            CLOUDIFY_MANAGER_IP:
               type: string
-              default: "CFY_AGENT_NET=cfm-net CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_IMAGE=ubuntu1 CFY_AGENT_USER=cfyuser CFY_SG=cfm-sg CFY_SSH_KEY_ID=openstack_key"
+              description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
+              default: "auto"
+            CFM_SSH_KEY_ID:
+              type: string
+              description: "Credentials ID of ssh key for connection to Cloudify"
+              default: "${_param:vnf_openstack_ssh_key_credentials}"
+            CFY_AGENT_NET:
+              type: string
+              description: "Network for Cloudify agents that has access to Cloudify Manager"
+              default: "cfm-net-shared"
+            CFY_AGENT_FLAVOR:
+              type: string
+              default: "cfy.agent"
+            CFY_AGENT_IMAGE:
+              type: string
+              default: "ubuntu-xenial"
             VNF_ARTIFACTORY_URL:
               type: string
               default: "${_param:vnf_artifactory_url}"
@@ -108,3 +127,7 @@
             VNF_DOCKER_CLI_PLATFORM:
               type: string
               default: "ubuntu"
+            CLOUDIFY_DEPLOYMENT_TIMEOUT:
+              type: string
+              description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+              default: 900
diff --git a/jenkins/client/job/vnf-onboarding/test_platform.yml b/jenkins/client/job/vnf-onboarding/test_platform.yml
deleted file mode 100644
index 1dd0051..0000000
--- a/jenkins/client/job/vnf-onboarding/test_platform.yml
+++ /dev/null
@@ -1,99 +0,0 @@
-parameters:
-  jenkins:
-    client:
-      plugin:
-        gerrit-trigger: {}
-      job:
-        platform_validation_pipeline:
-          type: workflow-scm
-          name: platform_validation_pipeline
-          display_name: "Validate OpenStack platform before deploy of VNF"
-          discard:
-            build:
-              keep_num: 20
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
-            credentials: "${_param:vnf_gerrit_credentials}"
-            script: test_platform.groovy
-          param:
-            OPENSTACK_API_CREDENTIALS:
-              type: string
-              description: "OpenStack admin user credentials for running tests"
-              default: "${_param:vnf_openstack_api_credentials}"
-            OS_PROJECT_NAME:
-              type: string
-              description: "OpenStack project name for running tests"
-              default: "platform-test"
-            OS_AUTH_URL:
-              type: string
-              description: "OpenStack auth url"
-              default: "http://${_param:openstack_control_address}:35357/v3"
-            IMAGE_ID:
-              type: string
-              description: "Specify image id to execute tests against custom images"
-              default: ""
-            FLAVOR_ID:
-              type: string
-              description: "Specify flavor id to execute tests against custom images"
-              default: ""
-            MIN_COMPUTE_NODES:
-              type: string
-              description: "Specify number of compute nodes of environment"
-              default: '2'
-            FIXED_SHARED_NETWORK_NAME:
-              type: string
-              description: "Shared network that will be used in tests."
-              default: "test-shared"
-            COMPUTE_NODE_HOST_NAME:
-              type: string
-              description: "To run CPU pinning/NUMA topology tests against specific node"
-              default: ''
-            COMPUTE_AVAILABILITY_ZONE:
-              type: string
-              description: "To run CPU pinning/NUMA topology tests against specific node"
-              default: 'nova'
-            COMPUTE_NUMA_NODE_COUNT:
-              type: string
-              description: "Number of NUMA node for NUMA topology testing."
-              default: '2'
-            IMAGE_SSH_USER:
-              type: string
-              description: "Specify user name to login in test OpenStack VMs"
-              default: "cirros"
-            VNF_PLATFORM_TESTS_REPO:
-              type: string
-              description: "Repository with testing framework"
-              default: "${_param:jenkins_gerrit_url}vnf-onboarding/platform-tests"
-            VNF_PLATFORM_TESTS_BRANCH:
-              type: string
-              default: "master"
-            VNF_PLATFORM_TESTS_REPO_CREDENTIALS:
-              type: string
-              default: "${_param:vnf_gerrit_credentials}"
-            TEMPEST_IMAGE_DOCKER_REGISTRY_PATH:
-              type: string
-              description: "Path for docker image with testing tool.  If empty, image will be build using VNF_PLATFORM_TESTS_* parameters."
-              default: ${_param:vnf_docker_registry_path}
-            TEMPEST_IMAGE_NAME:
-              type: string
-              description: "Name of docker image with testing tool"
-              default: "platform_tests:latest"
-            ELASTIC_URL:
-              type: string
-              description: "URL to elastic search API"
-              default: "${_param:vnf_elastic_url}"
-            ELASTIC_TRANSFER_REPO:
-              type: string
-              description: "Repository with scripts for transfering test results to elastic search"
-              default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
-            ELASTIC_TRANSFER_REPO_CREDENTIALS:
-              type: string
-              default: "${_param:vnf_gerrit_credentials}"
-            ELASTIC_TRANSFER_REPO_BRANCH:
-              type: string
-              default: "master"
-            DOCKER_TEMPEST_PARAMS:
-              type: string
-              description: "Pass custom parameters for tempest container"
-              default: ""
diff --git a/keepalived/cluster/instance/default_keepalived_check.yml b/keepalived/cluster/instance/default_keepalived_check.yml
new file mode 100644
index 0000000..e088dd6
--- /dev/null
+++ b/keepalived/cluster/instance/default_keepalived_check.yml
@@ -0,0 +1,21 @@
+# This instance is needed for the example case, where on control node the GlusterFS is deployed with keepalived and
+# a `remote_agent` from `Stacklight` sends its queries to the control's VIP to gather the GlusterFS data.
+# In case of `glusterd` process failure, the VIP should be moved to another node, to prevent `remote_agent` from failing.
+# In addition, check for haproxy process too, as on its failure VIP should be also moved to another node.
+classes:
+- service.keepalived.support
+parameters:
+  _param:
+    keepalived_vip_vrrp_check_script_content: "pidof glusterd && pidof haproxy"
+  keepalived:
+    cluster:
+      vrrp_scripts:
+        vrrp_check:
+          content: ${_param:keepalived_vip_vrrp_check_script_content}
+          interval: 10
+          rise: 1
+          fall: 1
+      enabled: true
+      instance:
+        VIP:
+          track_script: vrrp_check
diff --git a/keystone/client/os_client_config/admin_identity.yml b/keystone/client/os_client_config/admin_identity.yml
index 35cdf19..d31db49 100644
--- a/keystone/client/os_client_config/admin_identity.yml
+++ b/keystone/client/os_client_config/admin_identity.yml
@@ -10,6 +10,7 @@
                 admin_identity:
                   region_name: ${_param:openstack_region}
                   identity_api_version: '3'
+                  interface: 'internal'
                   auth:
                     username: 'admin'
                     password: ${_param:keystone_admin_password}
diff --git a/keystone/client/service/aodh.yml b/keystone/client/service/aodh.yml
index e7b0dbb..7ed3772 100644
--- a/keystone/client/service/aodh.yml
+++ b/keystone/client/service/aodh.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.aodh
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/barbican.yml b/keystone/client/service/barbican.yml
index d222fb6..aeb7035 100644
--- a/keystone/client/service/barbican.yml
+++ b/keystone/client/service/barbican.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.barbican
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/billometer.yml b/keystone/client/service/billometer.yml
index 6100dc9..282848e 100644
--- a/keystone/client/service/billometer.yml
+++ b/keystone/client/service/billometer.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.billometer
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/ceilometer.yml b/keystone/client/service/ceilometer.yml
index 40f4ebf..ba4d66e 100644
--- a/keystone/client/service/ceilometer.yml
+++ b/keystone/client/service/ceilometer.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.ceilometer
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/cinder.yml b/keystone/client/service/cinder.yml
index 64705e3..958fae1 100644
--- a/keystone/client/service/cinder.yml
+++ b/keystone/client/service/cinder.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.cinder
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/cinder2.yml b/keystone/client/service/cinder2.yml
index cb289e1..a7e8e49 100644
--- a/keystone/client/service/cinder2.yml
+++ b/keystone/client/service/cinder2.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.cinder2
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/cinder3.yml b/keystone/client/service/cinder3.yml
index d5e0ae1..5c6b6d0 100644
--- a/keystone/client/service/cinder3.yml
+++ b/keystone/client/service/cinder3.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.cinder3
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/congress.yml b/keystone/client/service/congress.yml
index 49e8337..a6599d5 100644
--- a/keystone/client/service/congress.yml
+++ b/keystone/client/service/congress.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.congress
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/designate.yml b/keystone/client/service/designate.yml
index 75a588e..b1828cc 100644
--- a/keystone/client/service/designate.yml
+++ b/keystone/client/service/designate.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.designate
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/glance.yml b/keystone/client/service/glance.yml
index 3c0db9c..ac4394f 100644
--- a/keystone/client/service/glance.yml
+++ b/keystone/client/service/glance.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.glance
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/gnocchi.yml b/keystone/client/service/gnocchi.yml
index 6707764..27d38b0 100644
--- a/keystone/client/service/gnocchi.yml
+++ b/keystone/client/service/gnocchi.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.gnocchi
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/heat-cfn.yml b/keystone/client/service/heat-cfn.yml
index 1a2486a..2ccafc9 100644
--- a/keystone/client/service/heat-cfn.yml
+++ b/keystone/client/service/heat-cfn.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.heat-cfn
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/heat.yml b/keystone/client/service/heat.yml
index c8882dd..28aa582 100644
--- a/keystone/client/service/heat.yml
+++ b/keystone/client/service/heat.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.heat
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/ironic.yml b/keystone/client/service/ironic.yml
index e4c384c..c1b00d0 100644
--- a/keystone/client/service/ironic.yml
+++ b/keystone/client/service/ironic.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.ironic
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/keystone.yml b/keystone/client/service/keystone.yml
index ba116f8..0cfa963 100644
--- a/keystone/client/service/keystone.yml
+++ b/keystone/client/service/keystone.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.keystone
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/manila.yml b/keystone/client/service/manila.yml
index 07e88b2..d230892 100644
--- a/keystone/client/service/manila.yml
+++ b/keystone/client/service/manila.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.manila
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/manila2.yml b/keystone/client/service/manila2.yml
index 1a3a125..ae9a02f 100644
--- a/keystone/client/service/manila2.yml
+++ b/keystone/client/service/manila2.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.manila2
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/neutron.yml b/keystone/client/service/neutron.yml
index 8bec7f2..06690ce 100644
--- a/keystone/client/service/neutron.yml
+++ b/keystone/client/service/neutron.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.neutron
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/nova-placement.yml b/keystone/client/service/nova-placement.yml
index 3ed0654..3ab8e95 100644
--- a/keystone/client/service/nova-placement.yml
+++ b/keystone/client/service/nova-placement.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.nova-placement
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/nova.yml b/keystone/client/service/nova.yml
index ca20106..147d0f7 100644
--- a/keystone/client/service/nova.yml
+++ b/keystone/client/service/nova.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.nova
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/nova21.yml b/keystone/client/service/nova21.yml
index 2782ec2..33ebda5 100644
--- a/keystone/client/service/nova21.yml
+++ b/keystone/client/service/nova21.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.nova21
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/octavia.yml b/keystone/client/service/octavia.yml
index c08312e..304d70f 100644
--- a/keystone/client/service/octavia.yml
+++ b/keystone/client/service/octavia.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.octavia
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/panko.yml b/keystone/client/service/panko.yml
index 6f86b36..6c6a036 100644
--- a/keystone/client/service/panko.yml
+++ b/keystone/client/service/panko.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.panko
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/radosgw-s3.yml b/keystone/client/service/radosgw-s3.yml
index c97c812..e53d9fc 100644
--- a/keystone/client/service/radosgw-s3.yml
+++ b/keystone/client/service/radosgw-s3.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.radosgw-s3
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/service/radosgw-swift.yml b/keystone/client/service/radosgw-swift.yml
index 14a24af..a643433 100644
--- a/keystone/client/service/radosgw-swift.yml
+++ b/keystone/client/service/radosgw-swift.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.v3.service.radosgw-swift
 parameters:
   _param:
     cluster_public_protocol: https
diff --git a/keystone/client/v3/service/aodh.yml b/keystone/client/v3/service/aodh.yml
new file mode 100644
index 0000000..de85fb0
--- /dev/null
+++ b/keystone/client/v3/service/aodh.yml
@@ -0,0 +1,35 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    aodh_service_protocol: http
+    aodh_public_host: ${_param:cluster_public_host}
+  keystone:
+    client:
+      resources:
+        v3:
+          cloud_name: 'admin_identity'
+          users:
+            aodh:
+              password: ${_param:keystone_aodh_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            aodh:
+              type: alarming
+              description: OpenStack Alarming Service
+              endpoints:
+                aodh_public:
+                  interface: 'public'
+                  region: ${_param:openstack_region}
+                  url: ${_param:cluster_public_protocol}://${_param:aodh_public_host}:8042/
+                aodh_internal:
+                  interface: 'internal'
+                  region: ${_param:openstack_region}
+                  url: ${_param:aodh_service_protocol}://${_param:aodh_service_host}:8042/
+                aodh_admin:
+                  interface: 'admin'
+                  region: ${_param:openstack_region}
+                  url: ${_param:aodh_service_protocol}://${_param:aodh_service_host}:8042/
diff --git a/keystone/client/v3/service/barbican.yml b/keystone/client/v3/service/barbican.yml
new file mode 100644
index 0000000..4262ffd
--- /dev/null
+++ b/keystone/client/v3/service/barbican.yml
@@ -0,0 +1,46 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    barbican_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          roles:
+            global_creator:
+              name: creator
+              enabled: true
+            global_key_manager_admin:
+              name: key-manager:service-admin
+              enabled: true
+          users:
+            barbican:
+              password: ${_param:keystone_barbican_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+                global_creator:
+                  name: creator
+                  project_id: service
+                global_key_manager_admin:
+                  name: key-manager:service-admin
+                  project_id: service
+          services:
+            barbican:
+              type: key-manager
+              description: OpenStack Key-Manager Service
+              endpoints:
+                barbican_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9311/
+                  region: ${_param:openstack_region}
+                barbican_internal:
+                  interface: 'internal'
+                  url: ${_param:barbican_service_protocol}://${_param:barbican_service_host}:9311/
+                  region: ${_param:openstack_region}
+                barbican_admin:
+                  interface: 'admin'
+                  url: ${_param:barbican_service_protocol}://${_param:barbican_service_host}:9311/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/billometer.yml b/keystone/client/v3/service/billometer.yml
new file mode 100644
index 0000000..17cc28a
--- /dev/null
+++ b/keystone/client/v3/service/billometer.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    billometer_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          user:
+            billometer:
+              password: ${_param:keystone_billometer_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            billometer:
+              type: billing
+              description: OpenStack Billing Service
+              endpoints:
+                billometer_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9753/v1
+                  region: ${_param:openstack_region}
+                billometer_internal:
+                  interface: 'internal'
+                  url: ${_param:billometer_service_protocol}://${_param:billometer_service_host}:9753/v1
+                  region: ${_param:openstack_region}
+                billometer_admin:
+                  interface: 'admin'
+                  url: ${_param:billometer_service_protocol}://${_param:billometer_service_host}:9753/v1
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/ceilometer.yml b/keystone/client/v3/service/ceilometer.yml
new file mode 100644
index 0000000..e52a5c0
--- /dev/null
+++ b/keystone/client/v3/service/ceilometer.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    ceilometer_service_protocol: http
+    ceilometer_public_host: ${_param:cluster_public_host}
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            ceilometer:
+              password: ${_param:keystone_ceilometer_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            ceilometer:
+              type: metering
+              description: OpenStack Telemetry Service
+              endpoints:
+                ceilometer_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:ceilometer_public_host}:8777/
+                  region: ${_param:openstack_region}
+                ceilometer_internal:
+                  interface: 'internal'
+                  url: ${_param:ceilometer_service_protocol}://${_param:ceilometer_service_host}:8777/
+                  region: ${_param:openstack_region}
+                ceilometer_admin:
+                  interface: 'admin'
+                  url: ${_param:ceilometer_service_protocol}://${_param:ceilometer_service_host}:8777/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/cinder.yml b/keystone/client/v3/service/cinder.yml
new file mode 100644
index 0000000..bfb0e70
--- /dev/null
+++ b/keystone/client/v3/service/cinder.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    cinder_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            cinder:
+              password: ${_param:keystone_cinder_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            cinder:
+              type: volume
+              description: OpenStack Volume Service
+              endpoints:
+                cinder_public_v1:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8776/v1/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_internal_v1:
+                  interface: 'internal'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v1/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_admin_v1:
+                  interface: 'admin'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v1/$(project_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/cinder2.yml b/keystone/client/v3/service/cinder2.yml
new file mode 100644
index 0000000..c1ccec6
--- /dev/null
+++ b/keystone/client/v3/service/cinder2.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    cinder_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            cinder:
+              password: ${_param:keystone_cinder_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            cinderv2:
+              type: volumev2
+              description: OpenStack Volume Service V2
+              endpoints:
+                cinder_public_v2:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8776/v2/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_internal_v2:
+                  interface: 'internal'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v2/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_admin_v2:
+                  interface: 'admin'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v2/$(project_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/cinder3.yml b/keystone/client/v3/service/cinder3.yml
new file mode 100644
index 0000000..2184c4c
--- /dev/null
+++ b/keystone/client/v3/service/cinder3.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    cinder_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            cinder:
+              password: ${_param:keystone_cinder_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            cinderv3:
+              type: volumev3
+              description: OpenStack Volume Service V3
+              endpoints:
+                cinder_public_v3:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8776/v3/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_internal_v3:
+                  interface: 'internal'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v3/$(project_id)s
+                  region: ${_param:openstack_region}
+                cinder_admin_v3:
+                  interface: 'admin'
+                  url: ${_param:cinder_service_protocol}://${_param:cinder_service_host}:8776/v3/$(project_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/congress.yml b/keystone/client/v3/service/congress.yml
new file mode 100644
index 0000000..db0085b
--- /dev/null
+++ b/keystone/client/v3/service/congress.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    congress_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            congress:
+              password: ${_param:keystone_congress_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                    name: admin
+                    project_id: service
+          services:
+            congress:
+              type: policy
+              description: Congress service
+              endpoints:
+                congress_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:1789/
+                  region: ${_param:openstack_region}
+                congress_internal:
+                  interface: 'internal'
+                  url: ${_param:congress_service_protocol}://${_param:congress_service_host}:1789/
+                  region: ${_param:openstack_region}
+                congress_admin:
+                  interface: 'admin'
+                  url: ${_param:congress_service_protocol}://${_param:congress_service_host}:1789/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/designate.yml b/keystone/client/v3/service/designate.yml
new file mode 100644
index 0000000..59b2e6b
--- /dev/null
+++ b/keystone/client/v3/service/designate.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    designate_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            designate:
+              password: ${_param:keystone_designate_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            designate:
+                type: dns
+                description: OpenStack DNS service
+                endpoints:
+                  designate_public:
+                    interface: 'public'
+                    url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9001/
+                    region: ${_param:openstack_region}
+                  designate_internal:
+                    interface: 'internal'
+                    url: ${_param:designate_service_protocol}://${_param:designate_service_host}:9001/
+                    region: ${_param:openstack_region}
+                  designate_admin:
+                    interface: 'admin'
+                    url: ${_param:designate_service_protocol}://${_param:designate_service_host}:9001/
+                    region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/glance.yml b/keystone/client/v3/service/glance.yml
new file mode 100644
index 0000000..dd86545
--- /dev/null
+++ b/keystone/client/v3/service/glance.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    glance_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            glance:
+              password: ${_param:keystone_glance_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            glance:
+              type: image
+              description: OpenStack Image Service
+              endpoints:
+                glance_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9292
+                  region: ${_param:openstack_region}
+                glance_internal:
+                  interface: 'internal'
+                  url: ${_param:glance_service_protocol}://${_param:glance_service_host}:9292
+                  region: ${_param:openstack_region}
+                glance_admin:
+                  interface: 'admin'
+                  url: ${_param:glance_service_protocol}://${_param:glance_service_host}:9292
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/gnocchi.yml b/keystone/client/v3/service/gnocchi.yml
new file mode 100644
index 0000000..82c796a
--- /dev/null
+++ b/keystone/client/v3/service/gnocchi.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    gnocchi_service_protocol: http
+    gnocchi_public_host: ${_param:cluster_public_host}
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            gnocchi:
+              password: ${_param:keystone_gnocchi_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            gnocchi:
+              type: metric
+              description: OpenStack Metric Service
+              endpoints:
+                gnocchi_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:gnocchi_public_host}:8041/
+                  region: ${_param:openstack_region}
+                gnocchi_internal:
+                  interface: 'internal'
+                  url: ${_param:gnocchi_service_protocol}://${_param:gnocchi_service_host}:8041/
+                  region: ${_param:openstack_region}
+                gnocchi_admin:
+                  interface: 'admin'
+                  url: ${_param:gnocchi_service_protocol}://${_param:gnocchi_service_host}:8041/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/heat-cfn.yml b/keystone/client/v3/service/heat-cfn.yml
new file mode 100644
index 0000000..786d9d8
--- /dev/null
+++ b/keystone/client/v3/service/heat-cfn.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    heat_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          heat-cfn:
+            type: cloudformation
+            description: OpenStack CloudFormation Service
+            endpoints:
+              heat-cfn_public_v1:
+                interface: 'public'
+                url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8000/v1
+                region: ${_param:openstack_region}
+              heat-cfn_internal_v1:
+                interface: 'internal'
+                url: ${_param:heat_service_protocol}://${_param:heat_service_host}:8000/v1
+                region: ${_param:openstack_region}
+              heat-cfn_admin_v1:
+                interface: 'admin'
+                url: ${_param:heat_service_protocol}://${_param:heat_service_host}:8000/v1
+                region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/heat.yml b/keystone/client/v3/service/heat.yml
new file mode 100644
index 0000000..6c45bfe
--- /dev/null
+++ b/keystone/client/v3/service/heat.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    heat_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          roles:
+            heat_stack_user:
+              name: heat_stack_user
+              enabled: true
+            heat_stack_owner:
+              name: heat_stack_owner
+              enabled: true
+          users:
+            heat:
+              password: ${_param:keystone_heat_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            heat:
+              type: orchestration
+              description: OpenStack Orchestration Service
+              endpoints:
+                heat_public_v1:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8004/v1/%(project_id)s
+                  region: ${_param:openstack_region}
+                heat_internal_v1:
+                  interface: 'internal'
+                  url: ${_param:heat_service_protocol}://${_param:heat_service_host}:8004/v1/%(project_id)s
+                  region: ${_param:openstack_region}
+                heat_admin_v1:
+                  interface: 'admin'
+                  url: ${_param:heat_service_protocol}://${_param:heat_service_host}:8004/v1/%(project_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/ironic.yml b/keystone/client/v3/service/ironic.yml
new file mode 100644
index 0000000..09c6967
--- /dev/null
+++ b/keystone/client/v3/service/ironic.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    keystone_service_protocol: http
+    ironic_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            ironic:
+              password: ${_param:keystone_ironic_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          service:
+            ironic:
+              type: baremetal
+              description: OpenStack Baremetal Service
+              endpoints:
+                ironic_public:
+                  internface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:6385
+                  region: ${_param:openstack_region}
+                ironic_internal:
+                  internface: 'internal'
+                  url: ${_param:ironic_service_protocol}://${_param:ironic_service_host}:6385
+                  region: ${_param:openstack_region}
+                ironic_admin:
+                  internface: 'admin'
+                  url: ${_param:ironic_service_protocol}://${_param:ironic_service_host}:6385
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/keystone.yml b/keystone/client/v3/service/keystone.yml
new file mode 100644
index 0000000..a2c7837
--- /dev/null
+++ b/keystone/client/v3/service/keystone.yml
@@ -0,0 +1,49 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    keystone_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          cloud_name: 'admin_identity'
+          domains:
+            'Default':
+              projects:
+                service:
+                  description: "OpenStack Service tenant"
+                admin:
+                  description: "OpenStack Admin tenant"
+          roles:
+            service_admin:
+              name: admin
+              enabled: true
+            global_Member:
+              name: Member
+              enabled: true
+          users:
+            admin:
+              password: ${_param:keystone_admin_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  enabled: true
+                  project_id: admin
+          services:
+            keystone:
+              type: 'identity'
+              description: "OpenStack Identity Service"
+              endpoints:
+                keystone_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:5000/
+                  region: ${_param:openstack_region}
+                keystone_internal:
+                  interface: 'internal'
+                  url: ${_param:keystone_service_protocol}://${_param:keystone_service_host}:5000/
+                  region: ${_param:openstack_region}
+                keystone_admin:
+                  interface: 'admin'
+                  url: ${_param:keystone_service_protocol}://${_param:keystone_service_host}:5000/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/manila.yml b/keystone/client/v3/service/manila.yml
new file mode 100644
index 0000000..f486845
--- /dev/null
+++ b/keystone/client/v3/service/manila.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    manila_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            manila:
+              password: ${_param:keystone_manila_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            manila:
+              type: share
+              description: OpenStack Shared File Systems V1
+              endpoints:
+                manila_public_v1:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8786/v1/$(tenant_id)s
+                  region: ${_param:openstack_region}
+                manila_internal_v1:
+                  interface: 'internal'
+                  url: ${_param:manila_service_protocol}://${_param:manila_service_host}:8786/v1/$(tenant_id)s
+                  region: ${_param:openstack_region}
+                manila_admin_v1:
+                  interface: 'admin'
+                  url: ${_param:manila_service_protocol}://${_param:manila_service_host}:8786/v1/$(tenant_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/manila2.yml b/keystone/client/v3/service/manila2.yml
new file mode 100644
index 0000000..635147a
--- /dev/null
+++ b/keystone/client/v3/service/manila2.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    manila_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            manila:
+              password: ${_param:keystone_manila_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            manilav2:
+              type: sharev2
+              description: OpenStack Shared File Systems V2
+              endpoints:
+                manila_public_v2:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8786/v2/$(tenant_id)s
+                  region: ${_param:openstack_region}
+                manila_internal_v2:
+                  interface: 'internal'
+                  url: ${_param:manila_service_protocol}://${_param:manila_service_host}:8786/v2/$(tenant_id)s
+                  region: ${_param:openstack_region}
+                manila_admin_v2:
+                  interface: 'admin'
+                  url: ${_param:manila_service_protocol}://${_param:manila_service_host}:8786/v2/$(tenant_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/neutron.yml b/keystone/client/v3/service/neutron.yml
new file mode 100644
index 0000000..277a563
--- /dev/null
+++ b/keystone/client/v3/service/neutron.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    neutron_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            neutron:
+              password: ${_param:keystone_neutron_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            neutron:
+              type: network
+              description: OpenStack Networking Service
+              endpoints:
+                neutron_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9696/
+                  region: ${_param:openstack_region}
+                neutron_interna;:
+                  interface: 'internal'
+                  url: ${_param:neutron_service_protocol}://${_param:neutron_service_host}:9696/
+                  region: ${_param:openstack_region}
+                neutron_admin:
+                  interface: 'admin'
+                  url: ${_param:neutron_service_protocol}://${_param:neutron_service_host}:9696/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/nova-placement.yml b/keystone/client/v3/service/nova-placement.yml
new file mode 100644
index 0000000..1fea757
--- /dev/null
+++ b/keystone/client/v3/service/nova-placement.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    nova_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          services:
+            placement:
+              type: placement
+              description: OpenStack Placement API
+              endpoints:
+                nova_placement_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8778
+                  region: ${_param:openstack_region}
+                nova_placement_internal:
+                  interface: 'internal'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8778
+                  region: ${_param:openstack_region}
+                nova_placement_admin:
+                  interface: 'admin'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8778
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/nova.yml b/keystone/client/v3/service/nova.yml
new file mode 100644
index 0000000..6665617
--- /dev/null
+++ b/keystone/client/v3/service/nova.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    nova_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            nova:
+              password: ${_param:keystone_nova_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            nova20:
+              type: compute_legacy
+              description: OpenStack Compute Service V2
+              endpoints:
+                nova_public_v2:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8774/v2/$(project_id)s
+                  region: ${_param:openstack_region}
+                nova_internal_v2:
+                  interface: 'internal'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8774/v2/$(project_id)s
+                  region: ${_param:openstack_region}
+                nova_admin_v2:
+                  interface: 'admin'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8774/v2/$(project_id)s
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/nova21.yml b/keystone/client/v3/service/nova21.yml
new file mode 100644
index 0000000..e936676
--- /dev/null
+++ b/keystone/client/v3/service/nova21.yml
@@ -0,0 +1,33 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    nova_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            nova:
+              password: ${_param:keystone_nova_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            nova:
+              type: compute
+              description: OpenStack Compute Service V2.1
+              endpoints:
+                nova_public_v2.1:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:8774/v2.1
+                  region: ${_param:openstack_region}
+                nova_internal_v2.1:
+                  interface: 'internal'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8774/v2.1
+                  region: ${_param:openstack_region}
+                nova_admin_v2.1:
+                  interface: 'admin'
+                  url: ${_param:nova_service_protocol}://${_param:nova_service_host}:8774/v2.1
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/octavia.yml b/keystone/client/v3/service/octavia.yml
new file mode 100644
index 0000000..a43b0a9
--- /dev/null
+++ b/keystone/client/v3/service/octavia.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    keystone_service_protocol: http
+    octavia_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            octavia:
+              password: ${_param:keystone_octavia_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          services:
+            octavia:
+              type: octavia
+              description: OpenStack Loadbalancing Service
+              endpoints:
+                octavia_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:9876/
+                  region: ${_param:openstack_region}
+                octavia_internal:
+                  interface: 'internal'
+                  url: ${_param:octavia_service_protocol}://${_param:octavia_service_host}:9876/
+                  region: ${_param:openstack_region}
+                octavia_admin:
+                  interface: 'admin'
+                  url: ${_param:octavia_service_protocol}://${_param:octavia_service_host}:9876/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/panko.yml b/keystone/client/v3/service/panko.yml
new file mode 100644
index 0000000..ee94697
--- /dev/null
+++ b/keystone/client/v3/service/panko.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    panko_service_protocol: http
+    panko_public_host: ${_param:cluster_public_host}
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            panko:
+              password: ${_param:keystone_panko_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          service:
+            panko:
+              type: event
+              description: OpenStack Event Service
+              endpoints:
+                panko_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:panko_public_host}:8977/
+                  region: ${_param:openstack_region}
+                panko_internal:
+                  interface: 'internal'
+                  url: ${_param:panko_service_protocol}://${_param:panko_service_host}:8977/
+                  region: ${_param:openstack_region}
+                panko_admin:
+                  interface: 'admin'
+                  url: ${_param:panko_service_protocol}://${_param:panko_service_host}:8977/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/radosgw-s3.yml b/keystone/client/v3/service/radosgw-s3.yml
new file mode 100644
index 0000000..25614cb
--- /dev/null
+++ b/keystone/client/v3/service/radosgw-s3.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    radosgw_s3_cluster_port: 8081
+    radosgw_service_protocol: http
+  keystone:
+    client:
+      resource:
+        v3:
+          users:
+            swift:
+              password: ${_param:keystone_swift_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          service:
+            radosgw-s3:
+              type: s3
+              description: S3 Service (radosgw)
+              endpoints:
+                radosgw-s3_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:${_param:radosgw_s3_cluster_port}/
+                  region: ${_param:openstack_region}
+                radosgw-s3_internal:
+                  interface: 'internal'
+                  url: ${_param:radosgw_service_protocol}://${_param:radosgw_service_host}:${_param:radosgw_s3_cluster_port}/
+                  region: ${_param:openstack_region}
+                radosgw-s3_admin:
+                  interface: 'admin'
+                  url: ${_param:radosgw_service_protocol}://${_param:radosgw_service_host}:${_param:radosgw_s3_cluster_port}/
+                  region: ${_param:openstack_region}
diff --git a/keystone/client/v3/service/radosgw-swift.yml b/keystone/client/v3/service/radosgw-swift.yml
new file mode 100644
index 0000000..4fa6756
--- /dev/null
+++ b/keystone/client/v3/service/radosgw-swift.yml
@@ -0,0 +1,34 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+    radosgw_swift_cluster_port: 8081
+    radosgw_service_protocol: http
+  keystone:
+    client:
+      resources:
+        v3:
+          users:
+            swift:
+              password: ${_param:keystone_swift_password}
+              email: ${_param:admin_email}
+              roles:
+                service_admin:
+                  name: admin
+                  project_id: service
+          service:
+            radosgw-swift:
+              type: object-store
+              description: Swift Service (radosgw)
+              endpoints:
+                radosgw-swift_public:
+                  interface: 'public'
+                  url: ${_param:cluster_public_protocol}://${_param:cluster_public_host}:${_param:radosgw_swift_cluster_port}/swift/v1
+                  region: ${_param:openstack_region}
+                radosgw-swift_internal:
+                  interface: 'internal'
+                  url: ${_param:radosgw_service_protocol}://${_param:radosgw_service_host}:${_param:radosgw_swift_cluster_port}/swift/v1
+                  region: ${_param:openstack_region}
+                radosgw-swift_admin:
+                  interface: 'admin'
+                  url: ${_param:radosgw_service_protocol}://${_param:radosgw_service_host}:${_param:radosgw_swift_cluster_port}/swift/v1
+                  region: ${_param:openstack_region}
diff --git a/kubernetes/master/cluster.yml b/kubernetes/master/cluster.yml
index 78e91a0..1295f3a 100644
--- a/kubernetes/master/cluster.yml
+++ b/kubernetes/master/cluster.yml
@@ -5,8 +5,10 @@
 - system.haproxy.proxy.listen.kubernetes.apiserver
 parameters:
   _param:
-    kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
-    kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
+    kubernetes_netchecker_agent_repo: mirantis
+    kubernetes_netchecker_server_repo: mirantis
+    kubernetes_netchecker_agent_image: ${_param:kubernetes_netchecker_agent_repo}/k8s-netchecker-agent:v1.2.2
+    kubernetes_netchecker_server_image: ${_param:kubernetes_netchecker_server_repo}/k8s-netchecker-server:v1.2.2
   kubernetes:
     master:
       container: false
@@ -14,3 +16,4 @@
         calico:
           prometheus:
             enabled: true
+
diff --git a/kubernetes/master/single.yml b/kubernetes/master/single.yml
index 684af64..7fada57 100644
--- a/kubernetes/master/single.yml
+++ b/kubernetes/master/single.yml
@@ -2,8 +2,10 @@
 - service.kubernetes.master.single
 parameters:
   _param:
-    kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
-    kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
+    kubernetes_netchecker_agent_repo: mirantis
+    kubernetes_netchecker_server_repo: mirantis
+    kubernetes_netchecker_agent_image: ${_param:kubernetes_netchecker_agent_repo}/k8s-netchecker-agent:v1.2.2
+    kubernetes_netchecker_server_image: ${_param:kubernetes_netchecker_server_repo}/k8s-netchecker-server:v1.2.2
   kubernetes:
     master:
       container: false
diff --git a/kubernetes/pool/cluster.yml b/kubernetes/pool/cluster.yml
index d223d57..17e9006 100644
--- a/kubernetes/pool/cluster.yml
+++ b/kubernetes/pool/cluster.yml
@@ -3,13 +3,20 @@
 - service.docker.host
 parameters:
   _param:
+    kubernetes_calico_calicoctl_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_calico_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_calico_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+    kubernetes_contrail_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+    kubernetes_contrail_network_controller_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration
+
     # component docker images
-    kubernetes_calico_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
-    kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
-    kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
-    kubernetes_contrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
-    kubernetes_contrail_network_controller_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-network-controller:v1.0.0
+    kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v1.6.4
+    kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v2.6.9
+    kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v1.11.5
+    kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.8.11-9
+    kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
+    kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
 
   kubernetes:
     pool:
diff --git a/kubernetes/pool/single.yml b/kubernetes/pool/single.yml
index d6282c3..dcc3ac1 100644
--- a/kubernetes/pool/single.yml
+++ b/kubernetes/pool/single.yml
@@ -3,13 +3,20 @@
 - service.docker.host
 parameters:
   _param:
+    kubernetes_calico_calicoctl_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_calico_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_calico_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+    kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+    kubernetes_contrail_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+    kubernetes_contrail_network_controller_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration
+
     # component docker images
-    kubernetes_calico_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
-    kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
-    kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
-    kubernetes_contrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
-    kubernetes_contrail_network_controller_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-network-controller:v1.0.0
+    kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v1.6.4
+    kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v2.6.9
+    kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v1.11.5
+    kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.8.11-9
+    kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
+    kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
 
   kubernetes:
     pool:
diff --git a/linux/system/banner.yml b/linux/system/banner.yml
new file mode 100644
index 0000000..173a044
--- /dev/null
+++ b/linux/system/banner.yml
@@ -0,0 +1,17 @@
+parameters:
+  _param:
+    banner_company_name: COMPANY_NAME_HERE
+  linux:
+    system:
+      banner:
+        enabled: true
+        contents: |
+          =================================== WARNING ====================================
+          You have accessed a computer managed by ${_param:banner_company_name}.
+          You are required to have authorisation from ${_param:banner_company_name}
+          before you proceed and you are strictly limited to use set out within that
+          authorisation. Unauthorised access to or misuse of this system is prohibited
+          and constitutes an offence under the Computer Misuse Act 1990.
+          If you disclose any information obtained through this system without authority
+          ${_param:banner_company_name} may take legal action against you.
+          ================================================================================
diff --git a/linux/system/repo/mcp/apt_mirantis/aptly.yml b/linux/system/repo/mcp/apt_mirantis/aptly.yml
index 5a023a5..f563502 100644
--- a/linux/system/repo/mcp/apt_mirantis/aptly.yml
+++ b/linux/system/repo/mcp/apt_mirantis/aptly.yml
@@ -8,6 +8,6 @@
         mcp_aptly:
           source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_aptly_version}/aptly/${_param:linux_system_codename}/ squeeze main"
           architectures: amd64
-          key_id: 9E3E53F19C7DE460
+          key_id: ED75B5A4483DA07C
           key_server: keys.gnupg.net
           clean_file: true
diff --git a/linux/system/single/init.yml b/linux/system/single/init.yml
index dae70ff..4429a82 100644
--- a/linux/system/single/init.yml
+++ b/linux/system/single/init.yml
@@ -1,6 +1,7 @@
 classes:
 - service.linux.system
 - service.salt.minion.master
+- system.linux.system.banner
 - system.openssh.server.single
 - system.ntp.client.single
 parameters:
diff --git a/neutron/client/service/ironic.yml b/neutron/client/service/ironic.yml
index 17d3e6f..6c5744a 100644
--- a/neutron/client/service/ironic.yml
+++ b/neutron/client/service/ironic.yml
@@ -1,6 +1,11 @@
 classes:
 - service.neutron.client
 parameters:
+  _param:
+     # TODO Remove below variables with typo in next release
+     openstack_baremetal_neutron_subnet_cidr: ${_param:openstack_baremeta_neutron_subnet_cidr}
+     openstack_baremetal_neutron_subnet_allocation_start: ${_param:openstack_baremeta_neutron_subnet_allocation_start}
+     openstack_baremetal_neutron_subnet_allocation_end: ${_param:openstack_baremeta_neutron_subnet_allocation_end}
   neutron:
     client:
       server:
@@ -16,8 +21,8 @@
               port_security_enabled: false
               subnet:
                 baremetal-subnet:
-                  cidr: ${_param:openstack_baremeta_neutron_subnet_cidr}
+                  cidr: ${_param:openstack_baremetal_neutron_subnet_cidr}
                   allocation_pools:
-                    - start: ${_param:openstack_baremeta_neutron_subnet_allocation_start}
-                      end: ${_param:openstack_baremeta_neutron_subnet_allocation_end}
+                    - start: ${_param:openstack_baremetal_neutron_subnet_allocation_start}
+                      end: ${_param:openstack_baremetal_neutron_subnet_allocation_end}
                   enable_dhcp: true
diff --git a/octavia/api/cluster.yml b/octavia/api/cluster.yml
index 75a4c19..958f3d4 100644
--- a/octavia/api/cluster.yml
+++ b/octavia/api/cluster.yml
@@ -2,8 +2,17 @@
 - service.octavia.api.cluster
 - system.haproxy.proxy.listen.openstack.octavia
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   octavia:
     api:
       enabled: true
       bind:
         address: ${_param:cluster_local_address}
+      database:
+        host: ${_param:openstack_database_address}
+      identity:
+        region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
+      message_queue:
+        host: ${_param:openstack_message_queue_address}
diff --git a/octavia/api/single.yml b/octavia/api/single.yml
index 685c4b4..a9d30a5 100644
--- a/octavia/api/single.yml
+++ b/octavia/api/single.yml
@@ -1,8 +1,17 @@
 classes:
 - service.octavia.api.single
 parameters:
+  _param:
+    internal_protocol: 'http'
   octavia:
     api:
       enabled: true
       bind:
         address: ${_param:single_address}
+      database:
+        host: ${_param:openstack_database_address}
+      identity:
+        region: ${_param:openstack_region}
+        protocol: ${_param:internal_protocol}
+      message_queue:
+        host: ${_param:openstack_message_queue_address}
diff --git a/octavia/manager/single.yml b/octavia/manager/single.yml
index acab136..6071764 100644
--- a/octavia/manager/single.yml
+++ b/octavia/manager/single.yml
@@ -1,6 +1,8 @@
 classes:
 - service.octavia.manager.single
 parameters:
+  _param:
+    internal_protocol: 'http'
   octavia:
     manager:
       enabled: true
@@ -9,3 +11,10 @@
         private_key: ${_param:octavia_private_key}
         user: octavia
         group: octavia
+      database:
+        host: ${_param:openstack_database_address}
+      identity:
+        region: ${_param:openstack_region}
+        protocol: ${_param:internal_protocol}
+      message_queue:
+        host: ${_param:openstack_message_queue_address}
diff --git a/openssh/server/single.yml b/openssh/server/single.yml
index 6ce0209..84f1fe5 100644
--- a/openssh/server/single.yml
+++ b/openssh/server/single.yml
@@ -1,2 +1,7 @@
 classes:
 - service.openssh.server
+- service.openssh.server.cis
+
+parameters:
+  _param:
+    ssh_banner_company_name: COMPANY_NAME
diff --git a/openssh/server/team/k8s_apps_team.yml b/openssh/server/team/k8s_apps_team.yml
index 1cd8bd9..496ce86 100644
--- a/openssh/server/team/k8s_apps_team.yml
+++ b/openssh/server/team/k8s_apps_team.yml
@@ -18,13 +18,6 @@
           full_name: Michail Zhnichkov
           home: /home/mzhnichkov
           email: mzhnichkov@mirantis.com
-        prazumovsky:
-          enabled: true
-          name: prazumovsky
-          sudo: true
-          full_name: Peter Razumovsky
-          home: /home/prazumovsky
-          email: prazumovsky@mirantis.com
         slukjanov:
           enabled: true
           name: slukjanov
diff --git a/openssh/server/team/members/ikolodyazhny.yml b/openssh/server/team/members/ikolodyazhny.yml
new file mode 100644
index 0000000..1d9a40e
--- /dev/null
+++ b/openssh/server/team/members/ikolodyazhny.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        ikolodyazhny:
+          enabled: true
+          name: ikolodyazhny
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Ivan Kolodyazhny
+          home: /home/ikolodyazhny
+          email: ikolodyazhny@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        ikolodyazhny:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyzhJRhNTqFXr6i21Jel+AFEM4bp6ExFkydkTQfF6OPBQBzDhUjxHac/6wrsmG906gMszjym0riJDh4EWQ0pj162hXBz5hdcmyKxBPC6NbhJU4NjsSpwcPB7fx/OsyWXGcvWUYMUuRv86QS5hwLleY+Z2KoJlnAwe+h6pMT5IG/JvwHg6A1Z6l24DZdpkXqhdeupM6Ot+ODRAsPvMKgy9DxVfs+DaFGtQn0dPYHGa24qoNf56kRQ2DLSJQe9n6LkW41NXYgvO21fSml7vsGAHTAjDj3ZqwlNZX28ti9Bkd0iXe1UPYkoMuLWxhAq25XMvPdyOBYYnyfHyamJqSHGz/Q==
+          user: ${linux:system:user:ikolodyazhny}
diff --git a/openssh/server/team/members/prazumovsky.yml b/openssh/server/team/members/prazumovsky.yml
new file mode 100644
index 0000000..dc2f1ea
--- /dev/null
+++ b/openssh/server/team/members/prazumovsky.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        prazumovsky:
+          enabled: true
+          name: prazumovsky
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Peter Razumovsky
+          home: /home/prazumovsky
+          email: prazumovsky@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        prazumovsky:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBySoU/ncTbwN25gxgaubgnB8+xF6mQpiz/tC+MDLitiEw/QHloz6ME5slTJseW2Uvk4jFZz5FNZ9k9/1j+pOtafV8GMHIUOhvX3RUZEiq7wXmcH1T1P4z74Y5anouc82crAWW3d0hQUEAEOx0G3ZGTDmkQTl16mgJvmejvXIN1ESTdEA9tctUogJoSdVu7OGcjGwkqWM9x4CTT7vvD51whHvFswaf6GIWZC3ia1xVTAMJ8W6Xppi5muTW+Uhr4wZm06zZCVHXN+5uYMxwufSoyXc5zwQ+DBPsGENdFvjdNQltlIf9fU3GHuH3d9wAhiPM5CetPcWcj6j2PwwMbx+R prazumovsky@Peters-MacBook-Pro.local
+          user: ${linux:system:user:prazumovsky}
\ No newline at end of file
diff --git a/openssh/server/team/members/sburns.yml b/openssh/server/team/members/sburns.yml
new file mode 100644
index 0000000..901aa95
--- /dev/null
+++ b/openssh/server/team/members/sburns.yml
@@ -0,0 +1,19 @@
+parameters:
+  linux:
+    system:
+      user:
+        sburns:
+          enabled: true
+          name: sburns
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Seamus Burns
+          home: /home/sburns
+          email: sburns@mirantis.com
+  openssh:
+    server:
+      user:
+        sburns:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCq9VAEV+CSdEazCqkYCuzSXPKD96+zgyYllFLMMiAeeqwdWT+JGXf6cIgGV5hBUwBeOc8wncWqdQG93/PYDcgeCDVcJlAmd5DeIOtjdrVk0dSK93AAwxsDkJrStOh/xlbvbv25+kytfq91tqL4XWw0myu3bHxbhpah4ERA/Iu+olI6Rz1qs8/X9+pSeZBkhJt6iCVvAaHzLjOmDb4Mg5EfXCcc30bNpmp7wTSQp5x57CE9vkhVEMO7WlPBNHugdLsiYFUj1DZyyO+/ED8FvNi7dhrxgL9USV4ld2nHCZg7f1987W3H2t3gzbhbNJUKdPdJnZBR1orrBkTGgqOnP5x1 sburns@mirantis.com
+          user: ${linux:system:user:sburns}
diff --git a/openssh/server/team/members/yisakov.yml b/openssh/server/team/members/yisakov.yml
new file mode 100644
index 0000000..bfea7f2
--- /dev/null
+++ b/openssh/server/team/members/yisakov.yml
@@ -0,0 +1,19 @@
+parameters:
+  linux:
+    system:
+      user:
+        yisakov:
+          enabled: true
+          name: yisakov
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Yaroslav Isakov
+          home: /home/yisakov
+          email: yisakov@mirantis.com
+  openssh:
+    server:
+      user:
+        yisakov:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeNzT/yP8yYEZNv8C0EUhWuGYyXSs2ch0bSw1K/rD0VMhFwwHa5lvHEH163xypICr/yA9FjJNy01flwEq3us87gsNvPRbJQ3CoYj21YVksSm2I6gGMYZWM3pgs6xjVhebfrGdzhKbi9IC5hv66740hmI4T0G6hjzCGZYq0P4LLWkc5dXegrJgSMQGP1v2EP2Se2UJvTr+8M4UVQF49P+H+nnjazKYhArJAf4swPc9i2GiiWrM5Fc5HGdANjs8Ee37VZjrWD06QCw6UwvnX20G3nkKVduvGRrSLvsD4VJNdhcz/b4rH9JAPuEW0KwhmpRIZ8m7Gg/6VFcNNYeieK1jP yar@yisakov-lpt
+          user: ${linux:system:user:yisakov}
diff --git a/openssh/server/team/oscore_devops.yml b/openssh/server/team/oscore_devops.yml
index 12ef0c6..89870b0 100644
--- a/openssh/server/team/oscore_devops.yml
+++ b/openssh/server/team/oscore_devops.yml
@@ -5,6 +5,7 @@
 - system.openssh.server.team.members.mkarpin
 - system.openssh.server.team.members.iudovichenko
 - system.openssh.server.team.members.vdrok
+- system.openssh.server.team.members.ikolodyazhny
 parameters:
   _param:
     linux_system_user_sudo: true
diff --git a/openssh/server/team/qa_scale.yml b/openssh/server/team/qa_scale.yml
index 9415496..2013d07 100644
--- a/openssh/server/team/qa_scale.yml
+++ b/openssh/server/team/qa_scale.yml
@@ -3,6 +3,7 @@
 - system.openssh.server.team.members.sgalkin
 - system.openssh.server.team.members.obasov
 - system.openssh.server.team.members.mikhailkraynov
+- system.openssh.server.team.members.prazumovsky
 - system.openssh.server.team.members.mcp-scale-jenkins
 
 parameters:
diff --git a/openssh/server/team/services.yml b/openssh/server/team/services.yml
index 9de3a31..a704e04 100644
--- a/openssh/server/team/services.yml
+++ b/openssh/server/team/services.yml
@@ -13,6 +13,8 @@
 - system.openssh.server.team.members.sflorczak
 - system.openssh.server.team.members.alugovoi
 - system.openssh.server.team.members.tjaroszyk
+- system.openssh.server.team.members.sburns
+- system.openssh.server.team.members.yisakov
 parameters:
   _param:
     linux_system_user_sudo: true