Resolving Calico Charm "Blocked" State in Juju Kubernetes Deployment

Problem Recap: The Calico application in a Juju Kubernetes deployment was stuck in a “blocked” state due to a conflict with the ignore-loose-rpf configuration. The juju status command revealed units with the message “ignore-loose-rpf config is in conflict with rp_filter value.”

Guidance Instructions:

  1. Check Calico Node Status:
  • Use calicoctl node status to inspect Calico node status.
  • Observe any errors related to BIRD socket connections.
  1. Download Calicoctl Binary:
  • Download the calicoctl binary, make it executable, and move it to /usr/local/bin/.
  1. Verify Kubernetes Pods:
  • Use kubectl get pods -n kube-system to ensure Calico components are running.
  1. Review Juju Status:
  • Execute juju status to check the Juju status.
  • Observe the Calico application in a “blocked” state with the “ignore-loose-rpf config is in conflict with rp_filter value” message.
  1. Check Calico Charm Configuration:
  • Use juju config calico to review the current Calico charm configuration.
  • Identify the ignore-loose-rpf configuration set to false, causing the conflict.
  1. Update Configuration:
  • Run juju config calico ignore-loose-rpf=true to set ignore-loose-rpf to true.
  1. Verify Resolved State:
  • Execute juju status again to confirm that the Calico application is now in an “active” and “ready” state.

Resolved State: The Calico charm in Juju Kubernetes should now be successfully unblocked and operating in an “active” and “ready” state.