],
       "pm_type": "pxe_ipmitool",
       "pm_addr": "10.1.8.70",
-      "pm_user": "root"
+      "pm_user": "root",
       "pm_password": "password",
+      "capabilities": "profile:control"
     },
     {
       "cpu": "24",
       ],
       "pm_type": "pxe_ipmitool",
       "pm_addr": "10.1.8.73",
-      "pm_user": "root"
+      "pm_user": "root",
       "pm_password": "password",
+      "capabilities": "profile:control"
     },
     {
       "cpu": "24",
       ],
       "pm_type": "pxe_ipmitool",
       "pm_addr": "10.1.8.74",
-      "pm_user": "root"
+      "pm_user": "root",
       "pm_password": "password",
+      "capabilities": "profile:control"
     },
     {
       "cpu": "24",
       ],
       "pm_type": "pxe_ipmitool",
       "pm_addr": "10.1.8.76",
-      "pm_user": "root"
+      "pm_user": "root",
       "pm_password": "password",
+      "capabilities": "profile:compute"
     },
     {
       "cpu": "24",
       ],
       "pm_type": "pxe_ipmitool",
       "pm_addr": "10.1.8.78",
-      "pm_user": "root"
+      "pm_user": "root",
       "pm_password": "password",
+      "capabilities": "profile:compute"
     }
   ]
 }
 
           \"disk\": \"$(eval echo \${${node}disk})\",
           \"arch\": \"$(eval echo \${${node}arch})\",
           \"pm_user\": \"$(eval echo \${${node}ipmi_user})\",
-          \"pm_addr\": \"$(eval echo \${${node}ipmi_ip})\"
+          \"pm_addr\": \"$(eval echo \${${node}ipmi_ip})\",
+          \"capabilities\": \"$(eval echo \${${node}capabilities})\"
 "
     instack_env_output+=${node_output}
     if [ $node_count -lt $node_total ]; then
      DEPLOY_OPTIONS+=" --ntp-server $ntp_server"
   fi
 
+  if [[ ! "$virtual" == "TRUE" ]]; then
+     DEPLOY_OPTIONS+=" --control-flavor control --compute-flavor compute"
+  fi
+
   ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
 source stackrc
 set -o errexit
 openstack baremetal introspection bulk start
 echo "Configuring flavors"
 openstack flavor list | grep baremetal || openstack flavor create --id auto --ram 4096 --disk 39 --vcpus 1 baremetal
+openstack flavor list | grep control || openstack flavor create --id auto --ram 4096 --disk 39 --vcpus 1 control
+openstack flavor list | grep compute || openstack flavor create --id auto --ram 4096 --disk 39 --vcpus 1 compute
 openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" baremetal
+openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="control" control
+openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="compute" compute
 echo "Configuring nameserver on ctlplane network"
 neutron subnet-update \$(neutron subnet-list | grep -v id | grep -v \\\\-\\\\- | awk {'print \$2'}) --dns-nameserver 8.8.8.8
 echo "Executing overcloud deployment, this should run for an extended period without output."
 
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node2:
     mac_address: "00:1e:67:4f:b7:b1"
     ipmi_ip: 10.4.7.3
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node3:
     mac_address: "00:1e:67:4f:cc:f1"
     ipmi_ip: 10.4.7.4
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node4:
     mac_address: "00:1e:67:4f:cc:0b"
     ipmi_ip: 10.4.7.5
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:compute"
   node5:
     mac_address: "00:1e:67:4f:b9:55"
     ipmi_ip: 10.4.7.6
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:compute"
 
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node2:
     mac_address: "10:23:45:67:89:AC"
     ipmi_ip: 10.4.17.3
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node3:
     mac_address: "10:23:45:67:89:AD"
     ipmi_ip: 10.4.17.4
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:control"
   node4:
     mac_address: "10:23:45:67:89:AE"
     ipmi_ip: 10.4.17.5
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:compute"
   node5:
     mac_address: "10:23:45:67:89:AF"
     ipmi_ip: 10.4.17.6
     memory: 2048
     disk: 40
     arch: "x86_64"
+    capabilities: "profile:compute"
 
     - ``pm_addr``: IPMI IP Address
     - ``pm_user``: IPMI username
     - ``pm_password``: IPMI password
+    - ``capabilities``: Intended node role (profile:control or profile:compute)
     - ``cpu``: CPU cores available
     - ``memory``: Memory available in Mib
     - ``disk``: Disk space available in Gb