# How to specify node placement and roles?

I'm deploying openstack. I have 3 nodes: 1 x controller and 2 x compute. Deployment fails because openstack tries to install the controller role onto one of the compute nodes. The reason for the failure is the difference in network adapters. I have a controller.yaml with this network defined and must be used for the controller node install however openstack deploy does not do this.

I have tried "tag" the nodes using the tripleo gui but this had no positive effect. I have also tried running "openstack baremetal node set 06149789-78d1-4eb8-ac41-d908312a912c --property capabilities='node:controller-0,boot_option:local'" but this also had no positive effect.

properties             | {u'memory_mb': u'16384', u'cpu_arch': u'x86_64', u'local_gb': u'69',    |
|                        | u'cpus': u'8', u'capabilities':                                         |
|                        | u'node:controller-0,boot_option:local,profile:control'}


How can I instruct openstack to specifically deploy the controller role onto the controller role and likewise the compute roles onto the compute nodes? This is wasting a lot of time because I dont know that the deployment will fail until it boots up after installing the nodes. It takes a good 45 minutes to get to that point and another 10 minutes to delete the deployment and re-try.

Yours sincerely, Stressed,

edit retag close merge delete