Diagnostic checks for the bare metal provider

Available since 2.28.0 (17.3.0 and 16.3.0) Technology Preview

This section describes specifics of the diagnostic checks designed for the bare metal provider.

Address capacity

The bm_address_capacity check verifies that the available capacities of IP addresses in the Subnet and MetalLBConfig objects are sufficient.

This check verifies the Subnet objects only with the following labels:

  • ipam/SVC-k8s-lcm

  • ipam/SVC-pxe-nics

For the MetalLBConfig objects, the check uses only the IP addresses defined in .spec.ipAddressPools and verifies only the MetalLBConfig objects with the following configuration for the IP address pool:

  • .spec.autoAssign is set to true

  • .spec.serviceAllocation.serviceSelectors is no set

The minimum thresholds for IP address capacity are as follows:

  • Subnet — 5

  • MetalLBConfig — 10

Capacity below these thresholds is reported as insufficient.

If thresholds are met, then the output status is INFO. Otherwise, the status is WARNING.

The check reports the number of available IP addresses for each matching Subnet object and for each matching IP address pool of a matching MetalLBConfig object.

Artifact overrides

Applicable to a management cluster only

The bm_artifacts_overrides check verifies that no undesirable overrides are present in the baremetal-operator release, including but not limited to the values.init_bootstrap.provisioning_files.artifacts path.

Object status

The bm_objects_statuses check verifies that no errors or undesired states are present in the status of the following objects: IPAMHost, MetalLBConfig, and LCMMachine.

Object name

Checks applied by bm_objects_statuses

IPAMHost

  • .status.state is set to OK

  • .status.netconfigCandidate equals the configuration set in /etc/netplan/60-kaas-lcm-netplan.yaml on a corresponding machine

LCMMachine

  • .status.hostInfo.hardware is present and contains values

  • .status.stateItemStatuses has no errors for each StateItem

MetalLBConfig

  • .status.objects equals .spec

  • .status.updateResult.success and .status.propagateResult.success are set to true