Red Hat Bugzilla – Bug 1480183
Compute Nodes Picked up by ID
Last modified: 2017-10-31 09:46:24 EDT
Description of problem.
After adding an OpenStack Provider, CFME displays the compute and controller nodes by a UUID, instead of the name. When you choose to migrate a VM, however, the destination hosts are displayed correctly, by name.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Add an openstack undercloud
2.look at the compute and controller nodes.
they'll be named something like: bd946830-6732-406a-a089-ca0a083c1b1b (NovaCompute)
they should be named something like compute-node-1
the migration menu under vm/lifecycle/migrate pick up the correct name.
Hi! I think this is intended behavior, as an Ironic node will not always have anything deployed on it, so we have no choice but to identify it by ID. Something like "compute-node-1" actually comes from Nova, and we can display it when migrating a VM because we are specifically looking for compute hosts.
Does that make sense, or am I misunderstanding your concern?
After some discussion with Rafal Szmigiel, who is more versed in OpenStack than I, we were wondering if we could make some adjustments to how cloudforms identifies these.
As you have said, you can register compute (or any other) node with ironic, then automatically random UUID is assigned. However at this stage node can be empty and you don't have to provide a name to it. Therefore relaying on UUID is better because UUID is always there.
However, Names can be assigned in two places independently, in ironic, and in nova. In nova names are assigned during the node deployment so they are always set. In ironic you may not have name assigned and this isn't a problem. So if we could introduce some more logic on the CFME side, like if we could check the following:
1) is there name assigned in nova for this node (in other words: is this node already deployed)
2) if there is no name in nova, check if there is name in ironic
3) if there is no name in nova nor ironic, use ironic UUID
Because the way it is now, the only way to see which host the VM is on from a nova perspective is to try to migrate it, see what options are given, and then through process of elimination, you're currently on the host not listed as a migration target. This seems somewhat inelegant to me.
That's definitely something we can look into!