Unable to baremetal provisioning
I have an openstack train with one controller node and one compute node. When I try to provision a baremetal node created by ironic, I get multiple errors and fail. How can this be remedied?
↓ baremetal node information
[root@cwo51 ~]# openstack baremetal node list
+--------------------------------------+----------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+----------------+---------------+-------------+--------------------+-------------+
| 4ff0ec45-83bf-4850-8a2c-7f68d907fabe | baremetal-test | None | power off | manageable | False |
+--------------------------------------+----------------+---------------+-------------+--------------------+-------------+
↓ nova-scheduler error log
2020-06-12 10:25:56.174 14805 ERROR nova.scheduler.client.report [req-901fce16-9d9f-4dea-84c7-90d88cd2f573 982d08ad748041938a9bab2631625fda c6aa695be12d4125925ac678ca1a0a85 - default default] Failed to retrieve allocation candidates from placement API for filters: RequestGroup(aggregates=[],forbidden_aggregates=set([]),forbidden_traits=set(['COMPUTE_STATUS_DISABLED']),in_tree=None,provider_uuids=[],requester_id=None,required_traits=set([]),resources={CUSTOM_BAREMETAL_SMALL=1,DISK_GB=100,MEMORY_MB=10240,VCPU=4},use_same_provider=False)
Got 400: {"errors": [{"status": 400, "request_id": "req-89cdcf6b-704b-4137-8ba7-371fb165bd84", "code": "placement.undefined_code", "detail": "The server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Invalid resource class in resources parameter: No such resource class CUSTOM_BAREMETAL_SMALL. ", "title": "Bad Request"}]}.
2020-06-12 10:25:56.175 14805 INFO nova.scheduler.manager [req-901fce16-9d9f-4dea-84c7-90d88cd2f573 982d08ad748041938a9bab2631625fda c6aa695be12d4125925ac678ca1a0a85 - default default] Got no allocation candidates from the Placement API. This could be due to insufficient resources or a temporary occurrence as compute nodes start up.
↓ nova-conductor error log
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager [req-901fce16-9d9f-4dea-84c7-90d88cd2f573 982d08ad748041938a9bab2631625fda c6aa695be12d4125925ac678ca1a0a85 - default default] Failed to schedule instances: NoValidHost_Remote: No valid host was found.
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 235, in inner
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 199, in select_destinations
raise exception.NoValidHost(reason="")
NoValidHost: No valid host was found.
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager Traceback (most recent call last):
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/nova/conductor/manager.py", line 1360, in schedule_and_build_instances
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager instance_uuids, return_alternates=True)
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/nova/conductor/manager.py", line 839, in _schedule_instances
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager return_alternates=return_alternates)
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/nova/scheduler/client/query.py", line 42, in select_destinations
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager instance_uuids, return_objects, return_alternates)
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/nova/scheduler/rpcapi.py", line 160, in select_destinations
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager return cctxt.call(ctxt, 'select_destinations', **msg_args)
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/oslo_messaging/rpc/client.py", line 181, in call
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager transport_options=self.transport_options)
2020-06-12 10:25:56.227 26699 ERROR nova.conductor.manager File "/usr/lib/python2.7/site-
packages/oslo_messaging/transport.py", line ...
CAVEAT: I have not used Ironic for years.
Your problem seems to be that the Placement service is not correctly configured for selecting baremetal nodes. I think you need to create special flavors, as documented at https://docs.openstack.org/ironic/lat....
Thank you for your comment. I'll try to use it as a reference and use trial and error.