Juju Charm - Ceph NFS via Ganesha
Go to file
utkarshbhatthere c1d2f79c22
Fixes currently present PEP8 issues
Change-Id: Idff27970dc0d41288444fc3ed18585e3f3a1a0ad
2022-08-08 18:58:43 +05:30
src Fixes currently present PEP8 issues 2022-08-08 18:58:43 +05:30
templates add reload nonce, and fix up some setup bits 2022-01-05 16:07:36 -06:00
tests Fixes currently present PEP8 issues 2022-08-08 18:58:43 +05:30
unit_tests Fixes currently present PEP8 issues 2022-08-08 18:58:43 +05:30
.flake8 Update for lint and unit test errors 2022-03-28 12:59:10 +02:00
.gitignore Ensure that tests work and bundles can accomodate charmhub sources 2022-03-09 14:17:37 +01:00
.gitreview Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
.jujuignore Initial commit 2021-11-26 13:49:23 +01:00
.stestr.conf Initial commit 2021-11-26 13:49:23 +01:00
.zuul.yaml Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
actions.yaml Add support for resizine a CephFS share 2022-03-22 08:05:34 +01:00
build-requirements.txt Migrate to charmhub handling 2022-03-25 13:53:33 +01:00
charmcraft.yaml Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
config.yaml Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
CONTRIBUTING.md Initial commit 2021-11-26 13:49:23 +01:00
LICENSE Initial commit 2021-11-26 13:49:23 +01:00
metadata.yaml Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
osci.yaml Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00
README.md Update readme with ACL and VIP updates 2022-03-23 14:06:12 +01:00
rename.sh Migrate to charmhub handling 2022-03-25 13:53:33 +01:00
requirements-dev.txt Initial commit 2021-11-26 13:49:23 +01:00
requirements.txt Migrate to haproxy interface for VIPs 2022-03-21 12:27:20 +01:00
test-requirements.txt Add support for the openstack-loadbalancer charm 2022-02-11 15:52:21 +01:00
tox.ini Updates for opendev & jammy enablement 2022-04-21 10:30:06 +02:00

ceph-nfs

Description

CephNFS is a charm designed to enable management of NFS shares backed by CephFS. It supports Ceph Pacific and above.

Usage

CephNFS provides an additional service when deployed with Ceph and CephFS. It should be related to CephMon:

juju add-relation ceph-nfs:ceph-client ceph-mon:client

Once all relations have settled, it is possible to create a new export:

juju run-action --wait ceph-nfs/0 create-share name=test-share size=10 allowed-ips=10.0.0.0/24

The above command has creates an NFS share that is 10GB in size, and is accessible from any machine in the 10.0.0.0-10.0.0.255 network space. To grant access to a new network address, the grant-access action should be used:

juju run-action --wait ceph-nfs/0 grant-access name=test-share allowed-ips=192.168.0.10

This command has granted access to the named share to a specific address: 192.168.0.1.

It is possible to delete the created share with:

juju run-action --wait ceph-nfs/0 delete-share name=test-share

High Availability

To gain high availability for NFS shares, it is necessary to scale ceph-nfs and relate it to a loadbalancer charm:

juju add-unit ceph-nfs -n 2
juju config vip=10.5.0.100
juju deploy hacluster
juju add-relation ceph-nfs hacluster

Once everything settles, your shares will be accessible over the loadbalancer's vip (10.5.0.100 in this example), and connections will load-balance across backends.

Relations

TODO: Provide any relations which are provided or required by your charm

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.