Configuring the Bare Metal (ironic) inspector service (optional)¶
Note
This feature is experimental at this time and it has not been fully production tested yet.
Ironic Inspector is an Ironic service that deploys a tiny image called ironic-python-agent that gathers information about a Bare Metal node. The data is then stored in the database for further use later. The node is then updated with properties based in the introspection data.
The inspector configuration requires some pre-deployment steps to allow the Ironic playbook to make the inspector functioning.
Networking¶
Ironic networking must be configured as normally done. The inspector and Ironic will both share the TFTP server.
Networking will depend heavily on your environment. For example, the DHCP for both Ironic and inspector will come from the same subnet and will be a subset of the typical ironic allocated range.
Required Overrides¶
# dnsmasq/dhcp information for inspector ironic_inspector_dhcp_pool_range: <START> <END> (subset of ironic IPs) ironic_inspector_dhcp_subnet: <IRONIC SUBNET CIDR> ironic_inspector_dhcp_subnet_mask: 255.255.252.0 ironic_inspector_dhcp_gateway: <IRONIC GATEWAY> ironic_inspector_dhcp_nameservers: 8.8.8.8
To enable LLDP discovery of switch ports during inspection¶
During inspection Ironic Inspector can automatically populate
information into the node local_link_connection
which can
automatically create a baremetal port for the node.
This example is suitable for switches that have a common MAC address
per switch port and are identified to networking-generic-switch
using the ngs_mac_address
parameter which matches against
the switch_id
field in the Ironic node local_link_connection
information.
Set the following variables in /etc/openstack_deploy/user_variables.yml
# enable LLDP discovery for inspector
ironic_inspector_processing_hooks: "$default_processing_hooks,lldp_basic,local_link_connection"
ironic_inspector_extra_callback_parameters: "ipa-collect-lldp=1"
To enable LLDP discovery of switch system name during inspection¶
This example is suitable for switches that have a different MAC address
per switch port and are identified to networking-generic-switch
using the switch hostname which is matched against
the switch_info
field in the Ironic node local_link_connection
information.
An additional out-of-tree Ironic Inspector plugin is needed to
obtain the system name of the switch and write it to switch_info
during inspection.
Set the following variables in /etc/openstack_deploy/user_variables.yml
# enable LLDP discovery for inspector
ironic_inspector_processing_hooks: "$default_processing_hooks,lldp_basic,local_link_connection,system_name_llc"
ironic_inspector_extra_callback_parameters: "ipa-collect-lldp=1"
# stackhpc inspector plugins
ironic_inspector_user_pip_packages:
- git+https://github.com/stackhpc/stackhpc-inspector-plugins@master#egg=stackhpc-inspector-plugins