Add golden configuration sizing and placement classes

Add classes for VCP VM sizes for golden configuration
and a mapping for placement to KVM nodes.

Change-Id: Icfc62a922182ffb03713db40d8bce4fbada98ab6
Closes-bug: PROD-26795
diff --git a/salt/control/sizes/ceph/golden.yml b/salt/control/sizes/ceph/golden.yml
new file mode 100644
index 0000000..6249056
--- /dev/null
+++ b/salt/control/sizes/ceph/golden.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    salt_control_size_cpu_ceph_mon: 4
+    salt_control_size_ram_ceph_mon: 8192
+    salt_control_size_disk_profile_ceph_mon: large
+    salt_control_size_net_profile_ceph_mon: default
+    salt_control_size_cpu_ceph_rgw: 4
+    salt_control_size_ram_ceph_rgw: 16384
+    salt_control_size_disk_profile_ceph_rgw: small
+    salt_control_size_net_profile_ceph_rgw: default
+  salt:
+    control:
+      size:
+        ceph.mon:
+          cpu: ${_param:salt_control_size_cpu_ceph_mon}
+          ram: ${_param:salt_control_size_ram_ceph_mon}
+          disk_profile: ${_param:salt_control_size_disk_profile_ceph_mon}
+          net_profile: ${_param:salt_control_size_net_profile_ceph_mon}
+          image_layout: ${_param:salt_control_size_image_layout_ceph_mon}
+        ceph.rgw:
+          cpu: ${_param:salt_control_size_cpu_ceph_rgw}
+          ram: ${_param:salt_control_size_ram_ceph_rgw}
+          disk_profile: ${_param:salt_control_size_disk_profile_ceph_rgw}
+          net_profile: ${_param:salt_control_size_net_profile_ceph_rgw}
+          image_layout: ${_param:salt_control_size_image_layout_ceph_rgw}
diff --git a/salt/control/sizes/cicd/golden.yml b/salt/control/sizes/cicd/golden.yml
new file mode 100644
index 0000000..60e7bc4
--- /dev/null
+++ b/salt/control/sizes/cicd/golden.yml
@@ -0,0 +1,15 @@
+parameters:
+  _param:
+    salt_control_size_cpu_cicd_control: 8
+    salt_control_size_ram_cicd_control: 16384
+    salt_control_size_disk_profile_cicd_control: small
+    salt_control_size_net_profile_cicd_control: default
+  salt:
+    control:
+      size:
+        cicd.control:
+          cpu: ${_param:salt_control_size_cpu_cicd_control}
+          ram: ${_param:salt_control_size_ram_cicd_control}
+          disk_profile: ${_param:salt_control_size_disk_profile_cicd_control}
+          net_profile: ${_param:salt_control_size_net_profile_cicd_control}
+          image_layout: ${_param:salt_control_size_image_layout_cicd_control}
diff --git a/salt/control/sizes/openstack/golden.yml b/salt/control/sizes/openstack/golden.yml
new file mode 100644
index 0000000..47a35e4
--- /dev/null
+++ b/salt/control/sizes/openstack/golden.yml
@@ -0,0 +1,105 @@
+parameters:
+  _param:
+    salt_control_size_cpu_openstack_control: 16
+    salt_control_size_ram_openstack_control: 65536
+    salt_control_size_disk_profile_openstack_control: large
+    salt_control_size_net_profile_openstack_control: default
+    salt_control_size_cpu_openstack_database: 8
+    salt_control_size_ram_openstack_database: 32786
+    salt_control_size_disk_profile_openstack_database: large
+    salt_control_size_net_profile_openstack_database: default
+    salt_control_size_cpu_openstack_message_queue: 16
+    salt_control_size_ram_openstack_message_queue: 65536
+    salt_control_size_disk_profile_openstack_message_queue: large
+    salt_control_size_net_profile_openstack_message_queue: default
+    salt_control_size_cpu_openstack_proxy: 4
+    salt_control_size_ram_openstack_proxy: 16384
+    salt_control_size_disk_profile_openstack_proxy: xxlarge
+    salt_control_size_net_profile_openstack_proxy: default
+    salt_control_size_cpu_openstack_upgrade: 8
+    salt_control_size_ram_openstack_upgrade: 16384
+    salt_control_size_disk_profile_openstack_upgrade: medium
+    salt_control_size_net_profile_openstack_upgrade: default
+    salt_control_size_cpu_openstack_share: 4
+    salt_control_size_ram_openstack_share: 4096
+    salt_control_size_disk_profile_openstack_share: large
+    salt_control_size_net_profile_openstack_share: default
+    salt_control_size_cpu_openstack_dns: 2
+    salt_control_size_ram_openstack_dns: 4096
+    salt_control_size_disk_profile_openstack_dns: small
+    salt_control_size_net_profile_openstack_dns: default
+    salt_control_size_cpu_openstack_telemetry: 8
+    salt_control_size_ram_openstack_telemetry: 32786
+    salt_control_size_disk_profile_openstack_telemetry: xxxlarge
+    salt_control_size_net_profile_openstack_telemetry: default
+    salt_control_size_cpu_openstack_barbican: 4
+    salt_control_size_ram_openstack_barbican: 8192
+    salt_control_size_disk_profile_openstack_barbican: small
+    salt_control_size_net_profile_openstack_barbican: default
+    salt_control_size_cpu_openstack_baremetal: 4
+    salt_control_size_ram_openstack_baremetal: 4096
+    salt_control_size_disk_profile_openstack_baremetal: small
+    salt_control_size_net_profile_openstack_baremetal: default
+  salt:
+    control:
+      size:
+        openstack.control:
+          cpu: ${_param:salt_control_size_cpu_openstack_control}
+          ram: ${_param:salt_control_size_ram_openstack_control}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_control}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_control}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_control}
+        openstack.database:
+          cpu: ${_param:salt_control_size_cpu_openstack_database}
+          ram: ${_param:salt_control_size_ram_openstack_database}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_database}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_database}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_database}
+        openstack.message_queue:
+          cpu: ${_param:salt_control_size_cpu_openstack_message_queue}
+          ram: ${_param:salt_control_size_ram_openstack_message_queue}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_message_queue}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_message_queue}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_message_queue}
+        openstack.proxy:
+          cpu: ${_param:salt_control_size_cpu_openstack_proxy}
+          ram: ${_param:salt_control_size_ram_openstack_proxy}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_proxy}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_proxy}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_proxy}
+        openstack.upgrade:
+          cpu: ${_param:salt_control_size_cpu_openstack_upgrade}
+          ram: ${_param:salt_control_size_ram_openstack_upgrade}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_upgrade}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_upgrade}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_upgrade}
+        openstack.share:
+          cpu: ${_param:salt_control_size_cpu_openstack_share}
+          ram: ${_param:salt_control_size_ram_openstack_share}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_share}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_share}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_share}
+        openstack.dns:
+          cpu: ${_param:salt_control_size_cpu_openstack_dns}
+          ram: ${_param:salt_control_size_ram_openstack_dns}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_dns}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_dns}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_dns}
+        openstack.telemetry:
+          cpu: ${_param:salt_control_size_cpu_openstack_telemetry}
+          ram: ${_param:salt_control_size_ram_openstack_telemetry}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_telemetry}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_telemetry}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_telemetry}
+        openstack.barbican:
+          cpu: ${_param:salt_control_size_cpu_openstack_barbican}
+          ram: ${_param:salt_control_size_ram_openstack_barbican}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_barbican}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_barbican}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_barbican}
+        openstack.baremetal:
+          cpu: ${_param:salt_control_size_cpu_openstack_baremetal}
+          ram: ${_param:salt_control_size_ram_openstack_baremetal}
+          disk_profile: ${_param:salt_control_size_disk_profile_openstack_baremetal}
+          net_profile: ${_param:salt_control_size_net_profile_openstack_baremetal}
+          image_layout: ${_param:salt_control_size_image_layout_openstack_baremetal}
diff --git a/salt/control/sizes/stacklight/golden.yml b/salt/control/sizes/stacklight/golden.yml
new file mode 100644
index 0000000..35e87e9
--- /dev/null
+++ b/salt/control/sizes/stacklight/golden.yml
@@ -0,0 +1,35 @@
+parameters:
+  _param:
+    salt_control_size_cpu_stacklight_log: 16
+    salt_control_size_ram_stacklight_log: 49152
+    salt_control_size_disk_profile_stacklight_log: xxhuge
+    salt_control_size_net_profile_stacklight_log: default
+    salt_control_size_cpu_stacklight_server: 12
+    salt_control_size_ram_stacklight_server: 65536
+    salt_control_size_disk_profile_stacklight_server: huge
+    salt_control_size_net_profile_stacklight_server: default
+    salt_control_size_cpu_stacklight_telemetry: 12
+    salt_control_size_ram_stacklight_telemetry: 98304
+    salt_control_size_disk_profile_stacklight_telemetry: xhuge
+    salt_control_size_net_profile_stacklight_telemetry: default
+  salt:
+    control:
+      size:
+        stacklight.log:
+          cpu: ${_param:salt_control_size_cpu_stacklight_log}
+          ram: ${_param:salt_control_size_ram_stacklight_log}
+          disk_profile: ${_param:salt_control_size_disk_profile_stacklight_log}
+          net_profile: ${_param:salt_control_size_net_profile_stacklight_log}
+          image_layout: ${_param:salt_control_size_image_layout_stacklight_log}
+        stacklight.server:
+          cpu: ${_param:salt_control_size_cpu_stacklight_server}
+          ram: ${_param:salt_control_size_ram_stacklight_server}
+          disk_profile: ${_param:salt_control_size_disk_profile_stacklight_server}
+          net_profile: ${_param:salt_control_size_net_profile_stacklight_server}
+          image_layout: ${_param:salt_control_size_image_layout_stacklight_server}
+        stacklight.telemetry:
+          cpu: ${_param:salt_control_size_cpu_stacklight_telemetry}
+          ram: ${_param:salt_control_size_ram_stacklight_telemetry}
+          disk_profile: ${_param:salt_control_size_disk_profile_stacklight_telemetry}
+          net_profile: ${_param:salt_control_size_net_profile_stacklight_telemetry}
+          image_layout: ${_param:salt_control_size_image_layout_stacklight_telemetry}