Project

Profile

Help

Story #5137

Story #5132: [Epic] As a user, I can consume Pulp 3 from OperatorHub.io

pulp-operator needs configurable and expandable storage size

Added by mdepaulo@redhat.com 3 months ago. Updated 3 months ago.

Status:
NEW
Priority:
Normal
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

50%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

pulp-operator currently uses static sized Persistent Volume Claims for both the PostgreSQL database and for /var/lib/pulp .

This is unacceptable because by adding/syncing more content, users can exceed the capacity. Also, the current values may be too large.

History

#1 Updated by mdepaulo@redhat.com 3 months ago

Research suggests that the best way to do this is a ConfigMap that the operator references. Other operators do this, such as mongodb and another.

#2 Updated by mdepaulo@redhat.com 3 months ago

  • % Done changed from 0 to 50

As part of implementing this task on the k3s-travis branch, I started on this.
https://pulp.plan.io/issues/5061

We currently have configurable storage via a ConfigMap. But I do not know if it can expanded afterwards.

#3 Updated by mdepaulo@redhat.com 3 months ago

The storage can be expanded by uploading a new version of the ConfigMap. It takes seconds for the change to start being applied by the pulp-operator (ansible operator) pod.

However, the StorageClass / provisioner must support it.

The minikube-hostpath provisioner does not, even if you modify its storage class ("Standard".) (This may be due to the lack of the Online File System Expansion feature "ExpandInUsePersistentVolumes").

However, other provisioners do, such as AWS-EBS, GCE-PD, Azure Disk, Azure File, Glusterfs, Cinder, Portworx, and Ceph RBD.
https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/

#4 Updated by mdepaulo@redhat.com 3 months ago

I have discovered that the better way to solve this is to use our operator's custom resource.

This is what we already do for the pulp image tag. And it is what the ansible operator framework is designed around.

I plan to rework the existing configmap into the custom resource.

Please register to edit this issue

Also available in: Atom PDF