Skip to content

fix(logging): drop longhorn storageClassName on fluentd PVC#154

Merged
Varashi merged 1 commit into
mainfrom
fix/logging-storage-class
May 27, 2026
Merged

fix(logging): drop longhorn storageClassName on fluentd PVC#154
Varashi merged 1 commit into
mainfrom
fix/logging-storage-class

Conversation

@Varashi
Copy link
Copy Markdown
Owner

@Varashi Varashi commented May 27, 2026

Hotfix #2 for the logging migration. Logging CR referenced storageClassName: longhorn but Longhorn was removed from k8s-talos previously — only vsan (vSphere CSI, default) exists. Fluentd-0 stuck Pending on unbound PVC for 8 min. Dropping the explicit class lets the default apply.

Summary by CodeRabbit

  • Chores
    • Updated logging infrastructure storage configuration to use cluster default storage class.

Review Change Stack

…ter default

Logging CR referenced storageClassName: longhorn, but Longhorn was
removed from k8s-talos earlier; only `vsan` (vSphere CSI, also
cluster default) is available. Fluentd-0 stuck Pending with
unbound PVC.

Removing the explicit storageClassName lets the PVC bind against
the default StorageClass — vsan handles ReadWriteOnce +
WaitForFirstConsumer for the 5Gi fluentd buffer fine.

Note on StatefulSet volumeClaimTemplates immutability: the
existing STS may fail to reconcile this change directly; if so,
delete the STS (operator recreates) + delete the Pending PVCs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Varashi Varashi merged commit 87a121f into main May 27, 2026
@Varashi Varashi deleted the fix/logging-storage-class branch May 27, 2026 07:02
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ea8f2309-b5d5-4876-983e-bf626aeff113

📥 Commits

Reviewing files that changed from the base of the PR and between 1932b35 and d5c3ef8.

📒 Files selected for processing (1)
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/logging.yaml

📝 Walkthrough

Walkthrough

Fluentd aggregator PVC configuration updated to remove hardcoded storageClassName: longhorn reference. Buffer storage now uses cluster default storage class. Comments adjusted to document intentional storage class omission.

Changes

Fluentd Storage Configuration

Layer / File(s) Summary
Fluentd PVC storage class removal
cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/logging.yaml
Removed storageClassName: longhorn from bufferStorageVolume.pvc.spec; storage class field now omitted to use cluster default. Updated comments to reflect intentional removal. Access modes and storage capacity unchanged.

🎯 1 (Trivial) | ⏱️ ~3 minutes


Comment @coderabbitai help to get the list of available commands and usage tips.

Varashi added a commit that referenced this pull request May 27, 2026
#155)

Operator refused to reconcile the storageClassName drop (#154) with:
"Object has to be recreated, but refusing to remove without
explicitly being told so. Use logging.spec.
enableRecreateWorkloadOnImmutableFieldChange to move on."

StatefulSet.spec.volumeClaimTemplates is k8s-immutable. The
operator's safety check is meant for production deployments with
strict durability — leaving the flag false there forces a manual
sts delete + PVC migration. For this homelab where the fluentd
buffer is at most a few minutes of replay, the data-loss-on-
recreate trade is fine.

Setting the flag lets the operator delete + recreate the STS so
fluentd-0 finally binds a PVC against the cluster default
StorageClass (vsan) instead of the missing longhorn class.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant