Files
sunbeam-charms/charms/manila-cephfs-k8s/CONTRIBUTING.md
Claudiu Belu adc6c57496 Adds manila-cephfs-k8s charm
Adds the basic charm, with typical relations and setup.

Change-Id: I54f06bf84ad94fc68818f9df47af038a9244daf7
Signed-off-by: Claudiu Belu <cbelu@cloudbasesolutions.com>
2025-08-11 09:11:35 +00:00

1.5 KiB

manila-cephfs-k8s

Developing

Create and activate a virtualenv with the development requirements:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements-dev.txt

Code overview

Get familiarised with Charmed Operator Framework and Sunbeam documentation.

manila-cephfs-k8s charm uses the ops_sunbeam library and extends OSBaseOperatorCharm from the library.

manila-cephfs-k8s charm consumes database relation to connect to database, amqp to connect to rabbitmq.

The charm starts manila-share service.

Intended use case

manila-cephfs-k8s charm deploys and configures OpenStack Manila Share service for CephFS on a kubernetes based environment.

Roadmap

TODO

Testing

The Python operator framework includes a very nice harness for testing operator behaviour without full deployment. Run tests using command:

tox --root ../../ -e py3 -- manila-cephfs-k8s

Deployment

This project uses tox for building and managing. To build the charm run:

tox --root ../../ -e build -- manila-cephfs-k8s

To deploy the local test instance:

juju deploy ./manila-cephfs-k8s.charm manila-cephfs --trust \
  --resource manila-share-image=ghcr.io/canonical/manila-share:2025.1

To upgrade / refresh the manila-cephfs-k8s charm with a locally-built charm, use the following command:

juju refresh manila-cephfs --path ./manila-cephfs-k8s.charm