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}"