Troubleshooting with Multi-NIC CNI Health Checker Service

See installation steps and usage.

StatusCode Message Potential causes Actions
200 Success - -
400 NetworkNotFound NetworkAttachmentDefinition is not created. Check multinicnetwork CR whether
the .spec.namespaces is limited to specific list.
If included your namespace, check controller log.
401 PluginNotFound CNI binary file is not available. Check CNI binary file.
500 ConfigFailure Configuration input is not valid. Check NetworkAttachmentDefinition.spec.config
comparing with full error message from /status response.
501 PluginNotSupport CNI plugin is not supported
in the running environment.
Check requirements of CNI.
600 NetNSFailured The agent process faces restriction
to open a new network Linux namespace
(e.g., privileges, namespace limited)
Check full error message from /status response.
601 IPAMFailure IPAM CNI fails to assign an IP Check IPAM CNI log and full error message from /status response.
602 PluginExecFailure (depends on failed CNI) Check CNI log and full error message from /status response.
603 PartialFailure Only some network device is not healthy Identify failed network address from /status response.
Check connectivity failure.
700 DaemonConnectionFailure Daemon pod is not running
or fails to response.
Check if multi-nicd is deployed ).
If yes, check multi-nicd log.
999 Unknown No health agent running by taint
or checker failed to get response.
If agent is normally running,
check full error message from /status response.

Check full error message

# port-forward checker pod on one terminal
checker=$(kubectl get po -n multi-nic-cni-operator|grep multi-nic-cni-health-checker|awk '{ print $1 }')
kubectl port-forward ${checker} -n multi-nic-cni-operator 8080:8080

# request status on specific node
export FAILED_NODE= # failed node name
curl "localhost:8080/status?host=${FAILED_NODE}"