12.2. Troubleshooting Hardware Introspection
The discovery and introspection process must run to completion. However, Ironic's Discovery Daemon (
ironic-discoverd
) times out after a default 1 hour period if the discovery ramdisk provides no response. Sometimes this might indicate a bug in the discovery ramdisk but usually it happens due to environment misconfiguration, particularly BIOS boot settings.
Here are some common scenarios where environment misconfiguration occurs and advice on how to diagnose and resolve them.
Errors with Starting Node Introspection
Normally the introspection process uses the
baremetal introspection
, which acts an an umbrella command for Ironic's services. However, if running the introspection directly with ironic-discoverd
, it might fail to discover nodes in the AVAILABLE state, which is meant for deployment and not for discovery. Change the node status to the MANAGEABLE state before discovery:
$ ironic node-set-provision-state [NODE UUID] manage
Then when discovery completes, change back to AVAILABLE before provisioning:
$ ironic node-set-provision-state [NODE UUID] provide
Stopping the Discovery Process
Currently
ironic-discoverd
does not provide a direct means for stopping discovery. The recommended path is to wait until the process times out. If necessary, change the timeout
setting in /etc/ironic-discoverd/discoverd.conf
to change the timeout period to another period in minutes.
In worst case scenarios, you can stop discovery for all nodes using the following process:
Procedure 12.3. Stopping the Discovery Process
- Change the power state of each node to off:
$ ironic node-set-power-state [NODE UUID] off
- Remove
ironic-discoverd
cache and restart it:$ rm /var/lib/ironic-discoverd/discoverd.sqlite $ sudo systemctl restart openstack-ironic-discoverd