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 over 1 year ago. Updated 5 months ago.

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

80%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
CI/CD
Sprint:
Quarter:

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.

Associated revisions

Revision 7d222c37 View on GitHub
Added by Mike DePaulo over 1 year ago

Use pulp-file-storage settings from a ConfigMap

Add different ConfigMaps for known use cases like Travis

Partially implements: ref #5137 https://pulp.plan.io/issues/5137

History

#1 Updated by mdepaulo@redhat.com over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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.

#5 Updated by mdepaulo@redhat.com about 1 year ago

  • % Done changed from 50 to 80

This is now being done for Pulp itself via a custom resource.

Still needs to be done for postgres.

#6 Updated by fao89 12 months ago

  • Tags CI/CD added

#7 Updated by fao89 5 months ago

  • Category set to Operator

Please register to edit this issue

Also available in: Atom PDF