projectcalico/calico

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

オープン

#10,564 opened on 2025/06/16

 (3 件のコメント) (4 件のリアクション) (0 人の担当者)Go (1,594 件のフォーク)auto 404
area/whiskerhelp wantedimpact/highkind/buglikelihood/low

Repository metrics

Stars
 (7,292 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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)

コントリビューターガイド