Skip to content

Use Recreate deployment strategy for components with RWO PVCs #16

Description

@jensens

Problem

Deployments with RWO (ReadWriteOnce) PersistentVolumeClaims use the default RollingUpdate strategy. During rollouts, the new pod cannot mount the PVC while the old pod still holds it, causing Multi-Attach errors and pods stuck in ContainerCreating.

Observed during the v0.2.17 rollout: postfix and webmail pods were stuck for 35+ minutes until the old pods were manually deleted.

Affected Components

  • PostfixConstruct — has RWO PVC for queue/data
  • WebmailConstruct — has RWO PVC for data
  • AdminConstruct — has RWO PVC for data
  • RspamdConstruct — has RWO PVC for data

Already Fixed

  • DovecotConstruct — already uses kplus.DeploymentStrategy.recreate()

Proposed Fix

Set strategy: kplus.DeploymentStrategy.recreate() on all deployments that mount RWO PVCs, matching the pattern already used by DovecotConstruct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions