Juju Charm - Ceph NFS via Ganesha
Go to file
James Page 6ea545478d
Sync/rebuild for Dalmatian/Epoxy updates
Refresh and rebuild charm for awareness of Dalmatian and Epoxy
Cloud Archive releases.

Change-Id: I9faab210e0a5df4fe05827ac4ba7997e1f5777cc
2024-11-18 16:30:31 +00:00
src Fix a bug cephfs subvolume size calculation 2024-11-08 11:40:52 +00:00
templates add reload nonce, and fix up some setup bits 2022-01-05 16:07:36 -06:00
tests Add charmcraft 3 support 2024-07-24 18:40:33 +02:00
unit_tests Fix a bug cephfs subvolume size calculation 2024-11-08 11:40:52 +00:00
.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 Add charmcraft 3 support 2024-07-24 18:40:33 +02:00
config.yaml Squid support: make caracal the default source 2024-06-03 18:15:27 +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 Add charmcraft 3 support 2024-07-24 18:40:33 +02:00
osci.yaml Add charmcraft 3 support 2024-07-24 18:40:33 +02:00
README.md Caracal-Squid enablement for ceph-nfs 2024-05-31 18:38:40 +02:00
rebuild Sync/rebuild for Dalmatian/Epoxy updates 2024-11-18 16:30:31 +00: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 Add reef functests to CI 2023-10-06 12:29:04 +02:00
test-requirements.txt Add support for the openstack-loadbalancer charm 2022-02-11 15:52:21 +01:00
tox.ini Add 2023.2 Bobcat support 2023-08-17 12:26:50 -04: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

Ceph-NFS consumes the ceph-client relation from the ceph-mon charm.

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.

Note that starting with the squid track of the ceph-nfs charm, deployment of Ceph Pacific and older clusters is not supported anymore.