default placement for VCP VMs

Change-Id: I2fb48d67adbe4c06f2e5305e77c3d56917a58c53
Realted-prod: PROD-19806
diff --git a/reclass/storage/system/physical_control_large.yml b/reclass/storage/system/physical_control_large.yml
new file mode 100644
index 0000000..1070f47
--- /dev/null
+++ b/reclass/storage/system/physical_control_large.yml
@@ -0,0 +1,251 @@
+parameters:
+  _param:
+    infra_kvm_node01_hostname: kvm01
+    infra_kvm_node02_hostname: kvm02
+    infra_kvm_node03_hostname: kvm03
+    infra_kvm_node04_hostname: kvm04
+    infra_kvm_node05_hostname: kvm05
+    infra_kvm_node06_hostname: kvm06
+    infra_kvm_node07_hostname: kvm07
+    infra_kvm_node08_hostname: kvm08
+    infra_kvm_node09_hostname: kvm09
+    infra_kvm_node10_hostname: kvm10
+    infra_kvm_node11_hostname: kvm11
+    infra_kvm_node12_hostname: kvm12
+    infra_kvm_node13_hostname: kvm13
+    infra_kvm_node14_hostname: kvm14
+    infra_kvm_node15_hostname: kvm15
+
+    infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_deploy_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_deploy_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_deploy_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_deploy_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node11_deploy_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node12_deploy_address: ${_param:infra_kvm_node12_address}
+    infra_kvm_node13_deploy_address: ${_param:infra_kvm_node13_address}
+    infra_kvm_node14_deploy_address: ${_param:infra_kvm_node14_address}
+    infra_kvm_node15_deploy_address: ${_param:infra_kvm_node15_address}
+
+    infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_storage_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_storage_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_storage_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_storage_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node11_storage_address: ${_param:infra_kvm_node11_address}
+    infra_kvm_node12_storage_address: ${_param:infra_kvm_node12_address}
+    infra_kvm_node13_storage_address: ${_param:infra_kvm_node13_address}
+    infra_kvm_node14_storage_address: ${_param:infra_kvm_node14_address}
+    infra_kvm_node15_storage_address: ${_param:infra_kvm_node15_address}
+
+    infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_public_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_public_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_public_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_public_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node11_public_address: ${_param:infra_kvm_node11_address}
+    infra_kvm_node12_public_address: ${_param:infra_kvm_node12_address}
+    infra_kvm_node13_public_address: ${_param:infra_kvm_node13_address}
+    infra_kvm_node14_public_address: ${_param:infra_kvm_node14_address}
+    infra_kvm_node15_public_address: ${_param:infra_kvm_node15_address}
+
+    infra_kvm_system_codename: xenial
+
+  reclass:
+    storage:
+      node:
+        infra_kvm_node01:
+          name: ${_param:infra_kvm_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node01_address}
+            deploy_address: ${_param:infra_kvm_node01_deploy_address}
+            public_address: ${_param:infra_kvm_node01_public_address}
+            storage_address: ${_param:infra_kvm_node01_storage_address}
+        infra_kvm_node02:
+          name: ${_param:infra_kvm_node02_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node02_address}
+            deploy_address: ${_param:infra_kvm_node02_deploy_address}
+            public_address: ${_param:infra_kvm_node02_public_address}
+            storage_address: ${_param:infra_kvm_node02_storage_address}
+        infra_kvm_node03:
+          name: ${_param:infra_kvm_node03_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node03_address}
+            deploy_address: ${_param:infra_kvm_node03_deploy_address}
+            public_address: ${_param:infra_kvm_node03_public_address}
+            storage_address: ${_param:infra_kvm_node03_storage_address}
+        infra_kvm_node04:
+          name: ${_param:infra_kvm_node04_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node04_address}
+            deploy_address: ${_param:infra_kvm_node04_deploy_address}
+            public_address: ${_param:infra_kvm_node04_public_address}
+            storage_address: ${_param:infra_kvm_node04_storage_address}
+        infra_kvm_node05:
+          name: ${_param:infra_kvm_node05_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node05_address}
+            deploy_address: ${_param:infra_kvm_node05_deploy_address}
+            public_address: ${_param:infra_kvm_node05_public_address}
+            storage_address: ${_param:infra_kvm_node05_storage_address}
+        infra_kvm_node06:
+          name: ${_param:infra_kvm_node06_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node06_address}
+            deploy_address: ${_param:infra_kvm_node06_deploy_address}
+            public_address: ${_param:infra_kvm_node06_public_address}
+            storage_address: ${_param:infra_kvm_node06_storage_address}
+        infra_kvm_node07:
+          name: ${_param:infra_kvm_node07_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node07_address}
+            deploy_address: ${_param:infra_kvm_node07_deploy_address}
+            public_address: ${_param:infra_kvm_node07_public_address}
+            storage_address: ${_param:infra_kvm_node07_storage_address}
+        infra_kvm_node08:
+          name: ${_param:infra_kvm_node08_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node08_address}
+            deploy_address: ${_param:infra_kvm_node08_deploy_address}
+            public_address: ${_param:infra_kvm_node08_public_address}
+            storage_address: ${_param:infra_kvm_node08_storage_address}
+        infra_kvm_node09:
+          name: ${_param:infra_kvm_node09_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node09_address}
+            deploy_address: ${_param:infra_kvm_node09_deploy_address}
+            public_address: ${_param:infra_kvm_node09_public_address}
+            storage_address: ${_param:infra_kvm_node09_storage_address}
+        infra_kvm_node10:
+          name: ${_param:infra_kvm_node10_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node10_address}
+            deploy_address: ${_param:infra_kvm_node10_deploy_address}
+            public_address: ${_param:infra_kvm_node10_public_address}
+            storage_address: ${_param:infra_kvm_node10_storage_address}
+        infra_kvm_node11:
+          name: ${_param:infra_kvm_node11_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node11_address}
+            deploy_address: ${_param:infra_kvm_node11_deploy_address}
+            public_address: ${_param:infra_kvm_node11_public_address}
+            storage_address: ${_param:infra_kvm_node11_storage_address}
+        infra_kvm_node12:
+          name: ${_param:infra_kvm_node12_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node12_address}
+            deploy_address: ${_param:infra_kvm_node12_deploy_address}
+            public_address: ${_param:infra_kvm_node12_public_address}
+            storage_address: ${_param:infra_kvm_node12_storage_address}
+        infra_kvm_node13:
+          name: ${_param:infra_kvm_node13_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node13_address}
+            deploy_address: ${_param:infra_kvm_node13_deploy_address}
+            public_address: ${_param:infra_kvm_node13_public_address}
+            storage_address: ${_param:infra_kvm_node13_storage_address}
+        infra_kvm_node14:
+          name: ${_param:infra_kvm_node14_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node14_address}
+            deploy_address: ${_param:infra_kvm_node14_deploy_address}
+            public_address: ${_param:infra_kvm_node14_public_address}
+            storage_address: ${_param:infra_kvm_node14_storage_address}
+        infra_kvm_node15:
+          name: ${_param:infra_kvm_node15_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node15_address}
+            deploy_address: ${_param:infra_kvm_node15_deploy_address}
+            public_address: ${_param:infra_kvm_node15_public_address}
+            storage_address: ${_param:infra_kvm_node15_storage_address}
diff --git a/reclass/storage/system/physical_control_medium.yml b/reclass/storage/system/physical_control_medium.yml
new file mode 100644
index 0000000..5ad7d24
--- /dev/null
+++ b/reclass/storage/system/physical_control_medium.yml
@@ -0,0 +1,203 @@
+parameters:
+  _param:
+    infra_kvm_node01_hostname: kvm01
+    infra_kvm_node02_hostname: kvm02
+    infra_kvm_node03_hostname: kvm03
+    infra_kvm_node04_hostname: kvm04
+    infra_kvm_node05_hostname: kvm05
+    infra_kvm_node06_hostname: kvm06
+    infra_kvm_node07_hostname: kvm07
+    infra_kvm_node08_hostname: kvm08
+    infra_kvm_node09_hostname: kvm09
+    infra_kvm_node10_hostname: kvm10
+    infra_kvm_node11_hostname: kvm11
+    infra_kvm_node12_hostname: kvm12
+
+    infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_deploy_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_deploy_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_deploy_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_deploy_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node11_deploy_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node12_deploy_address: ${_param:infra_kvm_node12_address}
+
+    infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_storage_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_storage_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_storage_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_storage_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node11_storage_address: ${_param:infra_kvm_node11_address}
+    infra_kvm_node12_storage_address: ${_param:infra_kvm_node12_address}
+
+    infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+    infra_kvm_node07_public_address: ${_param:infra_kvm_node07_address}
+    infra_kvm_node08_public_address: ${_param:infra_kvm_node08_address}
+    infra_kvm_node09_public_address: ${_param:infra_kvm_node09_address}
+    infra_kvm_node10_public_address: ${_param:infra_kvm_node10_address}
+    infra_kvm_node11_public_address: ${_param:infra_kvm_node11_address}
+    infra_kvm_node12_public_address: ${_param:infra_kvm_node12_address}
+
+    infra_kvm_system_codename: xenial
+
+  reclass:
+    storage:
+      node:
+        infra_kvm_node01:
+          name: ${_param:infra_kvm_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node01_address}
+            deploy_address: ${_param:infra_kvm_node01_deploy_address}
+            public_address: ${_param:infra_kvm_node01_public_address}
+            storage_address: ${_param:infra_kvm_node01_storage_address}
+        infra_kvm_node02:
+          name: ${_param:infra_kvm_node02_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node02_address}
+            deploy_address: ${_param:infra_kvm_node02_deploy_address}
+            public_address: ${_param:infra_kvm_node02_public_address}
+            storage_address: ${_param:infra_kvm_node02_storage_address}
+        infra_kvm_node03:
+          name: ${_param:infra_kvm_node03_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node03_address}
+            deploy_address: ${_param:infra_kvm_node03_deploy_address}
+            public_address: ${_param:infra_kvm_node03_public_address}
+            storage_address: ${_param:infra_kvm_node03_storage_address}
+        infra_kvm_node04:
+          name: ${_param:infra_kvm_node04_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node04_address}
+            deploy_address: ${_param:infra_kvm_node04_deploy_address}
+            public_address: ${_param:infra_kvm_node04_public_address}
+            storage_address: ${_param:infra_kvm_node04_storage_address}
+        infra_kvm_node05:
+          name: ${_param:infra_kvm_node05_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node05_address}
+            deploy_address: ${_param:infra_kvm_node05_deploy_address}
+            public_address: ${_param:infra_kvm_node05_public_address}
+            storage_address: ${_param:infra_kvm_node05_storage_address}
+        infra_kvm_node06:
+          name: ${_param:infra_kvm_node06_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node06_address}
+            deploy_address: ${_param:infra_kvm_node06_deploy_address}
+            public_address: ${_param:infra_kvm_node06_public_address}
+            storage_address: ${_param:infra_kvm_node06_storage_address}
+        infra_kvm_node07:
+          name: ${_param:infra_kvm_node07_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node07_address}
+            deploy_address: ${_param:infra_kvm_node07_deploy_address}
+            public_address: ${_param:infra_kvm_node07_public_address}
+            storage_address: ${_param:infra_kvm_node07_storage_address}
+        infra_kvm_node08:
+          name: ${_param:infra_kvm_node08_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node08_address}
+            deploy_address: ${_param:infra_kvm_node08_deploy_address}
+            public_address: ${_param:infra_kvm_node08_public_address}
+            storage_address: ${_param:infra_kvm_node08_storage_address}
+        infra_kvm_node09:
+          name: ${_param:infra_kvm_node09_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node09_address}
+            deploy_address: ${_param:infra_kvm_node09_deploy_address}
+            public_address: ${_param:infra_kvm_node09_public_address}
+            storage_address: ${_param:infra_kvm_node09_storage_address}
+        infra_kvm_node10:
+          name: ${_param:infra_kvm_node10_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node10_address}
+            deploy_address: ${_param:infra_kvm_node10_deploy_address}
+            public_address: ${_param:infra_kvm_node10_public_address}
+            storage_address: ${_param:infra_kvm_node10_storage_address}
+        infra_kvm_node11:
+          name: ${_param:infra_kvm_node11_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node11_address}
+            deploy_address: ${_param:infra_kvm_node11_deploy_address}
+            public_address: ${_param:infra_kvm_node11_public_address}
+            storage_address: ${_param:infra_kvm_node11_storage_address}
+        infra_kvm_node12:
+          name: ${_param:infra_kvm_node12_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node12_address}
+            deploy_address: ${_param:infra_kvm_node12_deploy_address}
+            public_address: ${_param:infra_kvm_node12_public_address}
+            storage_address: ${_param:infra_kvm_node12_storage_address}
diff --git a/reclass/storage/system/physical_control_small.yml b/reclass/storage/system/physical_control_small.yml
new file mode 100644
index 0000000..4ce3759
--- /dev/null
+++ b/reclass/storage/system/physical_control_small.yml
@@ -0,0 +1,107 @@
+parameters:
+  _param:
+    infra_kvm_node01_hostname: kvm01
+    infra_kvm_node02_hostname: kvm02
+    infra_kvm_node03_hostname: kvm03
+    infra_kvm_node04_hostname: kvm04
+    infra_kvm_node05_hostname: kvm05
+    infra_kvm_node06_hostname: kvm06
+
+    infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+
+    infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+
+    infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+    infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+    infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+    infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+
+    infra_kvm_system_codename: xenial
+
+  reclass:
+    storage:
+      node:
+        infra_kvm_node01:
+          name: ${_param:infra_kvm_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node01_address}
+            deploy_address: ${_param:infra_kvm_node01_deploy_address}
+            public_address: ${_param:infra_kvm_node01_public_address}
+            storage_address: ${_param:infra_kvm_node01_storage_address}
+        infra_kvm_node02:
+          name: ${_param:infra_kvm_node02_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node02_address}
+            deploy_address: ${_param:infra_kvm_node02_deploy_address}
+            public_address: ${_param:infra_kvm_node02_public_address}
+            storage_address: ${_param:infra_kvm_node02_storage_address}
+        infra_kvm_node03:
+          name: ${_param:infra_kvm_node03_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node03_address}
+            deploy_address: ${_param:infra_kvm_node03_deploy_address}
+            public_address: ${_param:infra_kvm_node03_public_address}
+            storage_address: ${_param:infra_kvm_node03_storage_address}
+        infra_kvm_node04:
+          name: ${_param:infra_kvm_node04_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node04_address}
+            deploy_address: ${_param:infra_kvm_node04_deploy_address}
+            public_address: ${_param:infra_kvm_node04_public_address}
+            storage_address: ${_param:infra_kvm_node04_storage_address}
+        infra_kvm_node05:
+          name: ${_param:infra_kvm_node05_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node05_address}
+            deploy_address: ${_param:infra_kvm_node05_deploy_address}
+            public_address: ${_param:infra_kvm_node05_public_address}
+            storage_address: ${_param:infra_kvm_node05_storage_address}
+        infra_kvm_node06:
+          name: ${_param:infra_kvm_node06_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.infra.kvm
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:infra_kvm_system_codename}
+            single_address: ${_param:infra_kvm_node06_address}
+            deploy_address: ${_param:infra_kvm_node06_deploy_address}
+            public_address: ${_param:infra_kvm_node06_public_address}
+            storage_address: ${_param:infra_kvm_node06_storage_address}
diff --git a/salt/control/placement/cicd/compact.yml b/salt/control/placement/cicd/compact.yml
new file mode 100644
index 0000000..4d9ecbe
--- /dev/null
+++ b/salt/control/placement/cicd/compact.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    cicd_control_node01_hostname: cid01
+    cicd_control_node02_hostname: cid02
+    cicd_control_node03_hostname: cid03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:cicd_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/large.yml b/salt/control/placement/cicd/large.yml
new file mode 100644
index 0000000..4d9ecbe
--- /dev/null
+++ b/salt/control/placement/cicd/large.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    cicd_control_node01_hostname: cid01
+    cicd_control_node02_hostname: cid02
+    cicd_control_node03_hostname: cid03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:cicd_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/medium.yml b/salt/control/placement/cicd/medium.yml
new file mode 100644
index 0000000..4d9ecbe
--- /dev/null
+++ b/salt/control/placement/cicd/medium.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    cicd_control_node01_hostname: cid01
+    cicd_control_node02_hostname: cid02
+    cicd_control_node03_hostname: cid03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:cicd_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/minimal.yml b/salt/control/placement/cicd/minimal.yml
new file mode 100644
index 0000000..4d9ecbe
--- /dev/null
+++ b/salt/control/placement/cicd/minimal.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    cicd_control_node01_hostname: cid01
+    cicd_control_node02_hostname: cid02
+    cicd_control_node03_hostname: cid03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:cicd_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/small.yml b/salt/control/placement/cicd/small.yml
new file mode 100644
index 0000000..4d9ecbe
--- /dev/null
+++ b/salt/control/placement/cicd/small.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    cicd_control_node01_hostname: cid01
+    cicd_control_node02_hostname: cid02
+    cicd_control_node03_hostname: cid03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:cicd_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: cicd.control
+            ${_param:cicd_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/compact.yml b/salt/control/placement/opencontrail/compact.yml
new file mode 100644
index 0000000..544537d
--- /dev/null
+++ b/salt/control/placement/opencontrail/compact.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    opencontrail_control_node01_hostname: ntw01
+    opencontrail_control_node02_hostname: ntw02
+    opencontrail_control_node03_hostname: ntw03
+    opencontrail_analytics_node01_hostname: nal01
+    opencontrail_analytics_node02_hostname: nal02
+    opencontrail_analytics_node03_hostname: nal03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:opencontrail_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_analytics_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/large.yml b/salt/control/placement/opencontrail/large.yml
new file mode 100644
index 0000000..e3d9c8d
--- /dev/null
+++ b/salt/control/placement/opencontrail/large.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    infra_kvm10_hostname: kvm10
+    infra_kvm11_hostname: kvm11
+    infra_kvm12_hostname: kvm12
+    opencontrail_control_node01_hostname: ntw01
+    opencontrail_control_node02_hostname: ntw02
+    opencontrail_control_node03_hostname: ntw03
+    opencontrail_analytics_node01_hostname: nal01
+    opencontrail_analytics_node02_hostname: nal02
+    opencontrail_analytics_node03_hostname: nal03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:opencontrail_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_analytics_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/medium.yml b/salt/control/placement/opencontrail/medium.yml
new file mode 100644
index 0000000..ff2952d
--- /dev/null
+++ b/salt/control/placement/opencontrail/medium.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    infra_kvm07_hostname: kvm07
+    infra_kvm08_hostname: kvm08
+    infra_kvm09_hostname: kvm09
+    opencontrail_control_node01_hostname: ntw01
+    opencontrail_control_node02_hostname: ntw02
+    opencontrail_control_node03_hostname: ntw03
+    opencontrail_analytics_node01_hostname: nal01
+    opencontrail_analytics_node02_hostname: nal02
+    opencontrail_analytics_node03_hostname: nal03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:opencontrail_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_analytics_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/minimal.yml b/salt/control/placement/opencontrail/minimal.yml
new file mode 100644
index 0000000..544537d
--- /dev/null
+++ b/salt/control/placement/opencontrail/minimal.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    opencontrail_control_node01_hostname: ntw01
+    opencontrail_control_node02_hostname: ntw02
+    opencontrail_control_node03_hostname: ntw03
+    opencontrail_analytics_node01_hostname: nal01
+    opencontrail_analytics_node02_hostname: nal02
+    opencontrail_analytics_node03_hostname: nal03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:opencontrail_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_analytics_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/small.yml b/salt/control/placement/opencontrail/small.yml
new file mode 100644
index 0000000..544537d
--- /dev/null
+++ b/salt/control/placement/opencontrail/small.yml
@@ -0,0 +1,40 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    opencontrail_control_node01_hostname: ntw01
+    opencontrail_control_node02_hostname: ntw02
+    opencontrail_control_node03_hostname: ntw03
+    opencontrail_analytics_node01_hostname: nal01
+    opencontrail_analytics_node02_hostname: nal02
+    opencontrail_analytics_node03_hostname: nal03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:opencontrail_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.control
+            ${_param:opencontrail_analytics_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
+            ${_param:opencontrail_analytics_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/openstack/compact.yml b/salt/control/placement/openstack/compact.yml
new file mode 100644
index 0000000..f2ec373
--- /dev/null
+++ b/salt/control/placement/openstack/compact.yml
@@ -0,0 +1,65 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_database_node01_hostname: dbs01
+    openstack_database_node02_hostname: dbs02
+    openstack_database_node03_hostname: dbs03
+    openstack_message_queue_node01_hostname: msg01
+    openstack_message_queue_node02_hostname: msg02
+    openstack_message_queue_node03_hostname: msg03
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node02_hostname: prx02
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:openstack_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_database_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_message_queue_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_proxy_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
+            ${_param:openstack_proxy_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
diff --git a/salt/control/placement/openstack/large.yml b/salt/control/placement/openstack/large.yml
new file mode 100644
index 0000000..650d4d9
--- /dev/null
+++ b/salt/control/placement/openstack/large.yml
@@ -0,0 +1,80 @@
+parameters:
+  _param:
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    infra_kvm04_hostname: kvm04
+    infra_kvm05_hostname: kvm05
+    infra_kvm06_hostname: kvm06
+    infra_kvm07_hostname: kvm07
+    infra_kvm08_hostname: kvm08
+    infra_kvm09_hostname: kvm09
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_control_node04_hostname: ctl04
+    openstack_control_node05_hostname: ctl05
+    openstack_database_node01_hostname: dbs01
+    openstack_database_node02_hostname: dbs02
+    openstack_database_node03_hostname: dbs03
+    openstack_message_queue_node01_hostname: msg01
+    openstack_message_queue_node02_hostname: msg02
+    openstack_message_queue_node03_hostname: msg03
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node02_hostname: prx02
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:openstack_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node04_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node05_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_database_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_message_queue_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_proxy_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
+            ${_param:openstack_proxy_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
diff --git a/salt/control/placement/openstack/medium.yml b/salt/control/placement/openstack/medium.yml
new file mode 100644
index 0000000..de9c010
--- /dev/null
+++ b/salt/control/placement/openstack/medium.yml
@@ -0,0 +1,68 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    infra_kvm04_hostname: kvm04
+    infra_kvm05_hostname: kvm05
+    infra_kvm06_hostname: kvm06
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_database_node01_hostname: dbs01
+    openstack_database_node02_hostname: dbs02
+    openstack_database_node03_hostname: dbs03
+    openstack_message_queue_node01_hostname: msg01
+    openstack_message_queue_node02_hostname: msg02
+    openstack_message_queue_node03_hostname: msg03
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node02_hostname: prx02
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:openstack_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_database_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_message_queue_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_proxy_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
+            ${_param:openstack_proxy_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
diff --git a/salt/control/placement/openstack/minimal.yml b/salt/control/placement/openstack/minimal.yml
new file mode 100644
index 0000000..f2ec373
--- /dev/null
+++ b/salt/control/placement/openstack/minimal.yml
@@ -0,0 +1,65 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_database_node01_hostname: dbs01
+    openstack_database_node02_hostname: dbs02
+    openstack_database_node03_hostname: dbs03
+    openstack_message_queue_node01_hostname: msg01
+    openstack_message_queue_node02_hostname: msg02
+    openstack_message_queue_node03_hostname: msg03
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node02_hostname: prx02
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:openstack_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_database_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_message_queue_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_proxy_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
+            ${_param:openstack_proxy_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
diff --git a/salt/control/placement/openstack/small.yml b/salt/control/placement/openstack/small.yml
new file mode 100644
index 0000000..f2ec373
--- /dev/null
+++ b/salt/control/placement/openstack/small.yml
@@ -0,0 +1,65 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_database_node01_hostname: dbs01
+    openstack_database_node02_hostname: dbs02
+    openstack_database_node03_hostname: dbs03
+    openstack_message_queue_node01_hostname: msg01
+    openstack_message_queue_node02_hostname: msg02
+    openstack_message_queue_node03_hostname: msg03
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node02_hostname: prx02
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:openstack_control_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_control_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.control
+            ${_param:openstack_database_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_database_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.database
+            ${_param:openstack_message_queue_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_message_queue_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.message_queue
+            ${_param:openstack_proxy_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
+            ${_param:openstack_proxy_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: openstack.proxy
diff --git a/salt/control/placement/stacklight/compact.yml b/salt/control/placement/stacklight/compact.yml
new file mode 100644
index 0000000..a84443d
--- /dev/null
+++ b/salt/control/placement/stacklight/compact.yml
@@ -0,0 +1,55 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    stacklight_log_node01_hostname: log01
+    stacklight_log_node02_hostname: log02
+    stacklight_log_node03_hostname: log03
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_node02_hostname: mtr02
+    stacklight_telemetry_node03_hostname: mtr03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:stacklight_telemetry_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_log_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_monitor_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/large.yml b/salt/control/placement/stacklight/large.yml
new file mode 100644
index 0000000..46c2890
--- /dev/null
+++ b/salt/control/placement/stacklight/large.yml
@@ -0,0 +1,55 @@
+parameters:
+  _param:
+    infra_kvm13_hostname: kvm13
+    infra_kvm14_hostname: kvm14
+    infra_kvm15_hostname: kvm15
+    stacklight_log_node01_hostname: log01
+    stacklight_log_node02_hostname: log02
+    stacklight_log_node03_hostname: log03
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_node02_hostname: mtr02
+    stacklight_telemetry_node03_hostname: mtr03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:stacklight_telemetry_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_log_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_monitor_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+              size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/medium.yml b/salt/control/placement/stacklight/medium.yml
new file mode 100644
index 0000000..117b2f5
--- /dev/null
+++ b/salt/control/placement/stacklight/medium.yml
@@ -0,0 +1,55 @@
+parameters:
+  _param:
+    infra_kvm10_hostname: kvm10
+    infra_kvm11_hostname: kvm11
+    infra_kvm12_hostname: kvm12
+    stacklight_log_node01_hostname: log01
+    stacklight_log_node02_hostname: log02
+    stacklight_log_node03_hostname: log03
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_node02_hostname: mtr02
+    stacklight_telemetry_node03_hostname: mtr03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:stacklight_telemetry_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_log_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_monitor_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+              size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/minimal.yml b/salt/control/placement/stacklight/minimal.yml
new file mode 100644
index 0000000..a84443d
--- /dev/null
+++ b/salt/control/placement/stacklight/minimal.yml
@@ -0,0 +1,55 @@
+parameters:
+  _param:
+    infra_kvm01_hostname: kvm01
+    infra_kvm02_hostname: kvm02
+    infra_kvm03_hostname: kvm03
+    stacklight_log_node01_hostname: log01
+    stacklight_log_node02_hostname: log02
+    stacklight_log_node03_hostname: log03
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_node02_hostname: mtr02
+    stacklight_telemetry_node03_hostname: mtr03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:stacklight_telemetry_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_log_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_monitor_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+              size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/small.yml b/salt/control/placement/stacklight/small.yml
new file mode 100644
index 0000000..2e039ff
--- /dev/null
+++ b/salt/control/placement/stacklight/small.yml
@@ -0,0 +1,55 @@
+parameters:
+  _param:
+    infra_kvm04_hostname: kvm04
+    infra_kvm05_hostname: kvm05
+    infra_kvm06_hostname: kvm06
+    stacklight_log_node01_hostname: log01
+    stacklight_log_node02_hostname: log02
+    stacklight_log_node03_hostname: log03
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_node02_hostname: mtr02
+    stacklight_telemetry_node03_hostname: mtr03
+  salt:
+    control:
+      cluster:
+        internal:
+          node:
+            ${_param:stacklight_telemetry_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_telemetry_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: stacklight.telemetry
+            ${_param:stacklight_log_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_log_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: stacklight.log
+            ${_param:stacklight_monitor_node01_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node02_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+              size: stacklight.server
+            ${_param:stacklight_monitor_node03_hostname}:
+              image: ${_param:salt_control_xenial_image}
+              provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+              size: stacklight.server
\ No newline at end of file