Skip to content

Allow setting sizeLimit when persistence disabled #2017

@miguelmdh

Description

@miguelmdh

Is your feature request related to a problem? Please describe.

When no persistence is used with a RabbitmqCluster, the Operator sets an emptyDir volume for the persistence:

    - name: persistence
      emptyDir: {}

This causes that in the RabbitMQ UI, the available disk is the host's disk:

Image

This introduces a potential problem in the host, since its disk may fill up and a RabbitMQ cluster can affect the rest workloads of the host.

Describe the solution you'd like

Kubernetes lets to set the sizeLimit for an empty dir: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir-configuration-example

The Operator could add a sizeLimit when no persistence is used. Questions we ask ourselves:

  • What is the default value for sizeLimit?
  • Should the user modify this value? If so, shoud the CRD be modified to add a new field?
  • What about other related fields, such as the disk threshold alarm?

Describe alternatives you've considered

  • Use a default value for sizeLimit (500Mb) that can be overridden by an annotation.
  • Have a disk usage limit alarm. RabbitMQ now defines the disk_free_limit.absolute alarm, which allows to define an alarm when the disk has less that the specified amount of space. We propose the opposite: setting an alarm when disk usage exceeds a specified amount of space.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions