Juju Charm - Ceph NFS via Ganesha
Go to file
Peter Sabaini f5e6b57787 Add reef functests to CI
Via the jammy-bobcat UCA

Don't rely on feature branch, vendor in context adapter instead

Change-Id: Ifc5f04ce2259d19cb120a1434a2f80b178bd4dc3
2023-10-06 12:29:04 +02:00
src Add reef functests to CI 2023-10-06 12:29:04 +02:00
templates add reload nonce, and fix up some setup bits 2022-01-05 16:07:36 -06:00
tests Add reef functests to CI 2023-10-06 12:29:04 +02:00
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
CONTRIBUTING.md Initial commit 2021-11-26 13:49:23 +01:00
LICENSE Initial commit 2021-11-26 13:49:23 +01:00
README.md update readme with mentioned relations and bug link 2022-08-08 14:38:00 +00: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 2023.2 Bobcat support 2023-08-17 12:26:50 -04:00
config.yaml Add 2023.2 Bobcat support 2023-08-17 12:26:50 -04:00
metadata.yaml Merge "Add 2023.2 Bobcat support" 2023-09-14 14:45:21 +00:00
osci.yaml Add reef functests to CI 2023-10-06 12:29:04 +02: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

README.md

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.