projectcalico/calico

Whisker container fails to start if k8s node has FIPS mode enabled

Open

#10,564 opened on Jun 16, 2025

View on GitHub
 (3 comments) (4 reactions) (0 assignees)Go (1,594 forks)auto 404
area/whiskerhelp wantedimpact/highkind/buglikelihood/low

Repository metrics

Stars
 (7,292 stars)
PR merge metrics
 (PR metrics pending)

Description

Expected Behavior

Whisker runs normally regardless of if k8s nodes have FIPS mode enabled or not.

Current Behavior

On FIPS enabled nodes, whisker (but not whisker-backend) crashes on startup with (regardless of Calico's FIPS settings):

crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE

Possible Solution

The issue is probably related to https://github.com/projectcalico/calico/issues/6180

Steps to Reproduce (for bugs)

  1. Create a k8s cluster where the k8s node image is FIPS enabled (ie. crypto.fips_enabled = 1). There are different ways of doing things for each OS, but here is an example for Red Hat-related OSes: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/security_hardening/switching-rhel-to-fips-mode_security-hardening
  2. Install calico via the calico/tigera-operator Helm chart with FIPS mode either enabled or disabled (this setting appears to be irrelevant, what matters is if the k8s node has FIPS enabled).
  3. The Whisker pod crashes with: crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE.

Context

Just was testing upgrading Calico to 3.30.1 and Whisker installed itself by default (and couldn't start) from the calico/tigera-operator Helm chart.

Your Environment

  • Calico version: 3.30.1
  • Calico dataplane (iptables, windows etc.): iptables
  • Orchestrator version: Kubernetes 1.32
  • Operating System and version: Amazon Linux 2 (custom AMI with FIPS mode enabled)

Contributor guide