# https://launchpad.net/~nfs-ganesha/+archive/ubuntu/nfs-ganesha-2.8
start_ganesha() {
+ cluster_id="vstart"
GANESHA_PORT=$(($CEPH_PORT + 4000))
local ganesha=0
+ test_user="ganesha-$cluster_id"
+ pool_name="nfs-ganesha"
+ namespace=$cluster_id
+ url="rados://$pool_name/$namespace/conf-nfs.$test_user"
+
+ prun ceph_adm auth get-or-create client.$test_user \
+ mon "allow r" \
+ osd "allow rw pool=$pool_name namespace=$namespace, allow rw tag cephfs data=a" \
+ mds "allow rw path=/" \
+ >> "$keyring_fn"
+
+ ceph_adm mgr module enable test_orchestrator
+ ceph_adm orch set backend test_orchestrator
+ ceph_adm test_orchestrator load_data -i $CEPH_ROOT/src/pybind/mgr/test_orchestrator/dummy_data.json
+ prun ceph_adm nfs cluster create cephfs $cluster_id
+ prun ceph_adm nfs export create cephfs "a" $cluster_id "/cephfs"
for name in a b c d e f g h i j k l m n o p
do
port=$(($GANESHA_PORT + ganesha))
ganesha=$(($ganesha + 1))
ganesha_dir="$CEPH_DEV_DIR/ganesha.$name"
- test_user="ganesha-$name"
- pool_name="nfs-ganesha"
- namespace=$name
- url="rados://$pool_name/$namespace/conf-nfs.$test_user"
-
prun rm -rf $ganesha_dir
prun mkdir -p $ganesha_dir
- prun ceph_adm auth get-or-create client.$test_user \
- mon "allow r" \
- osd "allow rw pool=$pool_name namespace=$namespace, allow rw tag cephfs data=a" \
- mds "allow rw path=/" \
- >> "$keyring_fn"
-
- ceph_adm mgr module enable test_orchestrator
- ceph_adm orch set backend test_orchestrator
- prun ceph_adm nfs cluster create cephfs $name
echo "NFS_CORE_PARAM {
Enable_NLM = false;
pid file = $ganesha_dir/ganesha.pid
EOF
- prun ceph_adm nfs export create cephfs "a" $name "/cephfs"
prun ganesha-rados-grace -p $pool_name -n $namespace add $name
prun ganesha-rados-grace -p $pool_name -n $namespace
$CEPH_BIN/rados -p $pool_name put "conf-$name" "$ganesha_dir/ganesha.conf"
fi
- echo "$test_user started on port: $port"
+ echo "$test_user ganesha daemon $name started on port: $port"
done
if $with_mgr_dashboard; then
ceph_adm dashboard set-ganesha-clusters-rados-pool-namespace $pool_name
fi
-
echo "Mount using: mount -t nfs -o port=<ganesha-port-num> <address>:<ganesha pseudo path>"
}
fi
# Ganesha Daemons
-if [ $GANESHA_DAEMON_NUM -gt 0 ] && [ "$cephadm" -eq 0 ]; then
- start_ganesha
+if [ $GANESHA_DAEMON_NUM -gt 0 ]; then
+ if [ "$cephadm" -gt 0 ]; then
+ cluster_id="vstart"
+ prun ceph_adm nfs cluster create cephfs $cluster_id
+ prun ceph_adm nfs export create cephfs "a" $cluster_id "/cephfs"
+ echo "Mount using: mount -t nfs -o port=2049 <address>:/cephfs"
+ else
+ start_ganesha
+ fi
fi
do_cache() {