Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-list/pool-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts
- Replace cd-usage-bar totalBytes and usedBytes with total and bytes Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
* refs/pull/35499/head:
qa/tasks/test_nfs: Add test for cluster info
mgr/volumes/nfs: Add cluster show info command
volumes/fs/nfs: Don't parse rados export objects during FSExport init
pybind/mgr/volumes/nfs: Fix flake8 errors
qa/tasks/test_nfs: Add todo note for cluster update test
qa/tasks/cephfs/test_nfs: Add test for get and list detailed export
qa/tasks/cephfs/test_nfs: Add test for export user id
qa/tasks/cephfs/test_nfs: Add description for each test
doc/cephfs: Add list and get export usage
qa/tasks/cephfs: Add tests for export create with non-existing fsname and cluster id
qa/tasks/cephfs: Add tests for invalid cluster id, export type and modify list cluster
qa/tasks/cephfs: Add test for listing exports
pybind/mgr/volumes/nfs: Reorder FSExport and NFSCluster class methods
mgr/volumes/nfs: Set pool_namespace and cluster_id through decorator
mgr/volumes/nfs: Check cluster availability in export command methods
mgr/volumes/nfs: Misc changes to export get and ls command
qa/tasks/cephfs: Add test for nfs cluster ls command
mgr/volumes/nfs: Add nfs cluster ls command
mgr/volumes/nfs: Remove 'ganesha-' prefix from orch returned service id
qa/tasks/cephfs: Add test to check if export is available on restarting mgr
mgr/volumes/nfs: get export in a nfs cluster
mgr/volumes/nfs: list exports within a ganesha cluster
mgr/volumes/nfs: Check if cluster exists before creating exports
mgr/volumes/nfs: Fetch exports in persistent way if mgr is restarted
mgr/volume/nfs: allow only [A-Za-z0-9-_.] characters
qa/tasks/cephfs: Add idempotency test for nfs commands
mgr/volumes/nfs: Reorder imports
qa/tasks/cephfs/test_nfs.py: flake8 fixes
qa/tasks/cephfs/nfs: Poll for max 60 seconds to ensure removal of ganesha services
vstart: just use ganesha.nfsd that's in $PATH
vstart: Add ip value to nfs mount information
pybind/mgr/volumes/nfs: Remove unused cephfs module
mgr/volumes/nfs: Ignore if ganesha disconnects
mgr/volumes/nfs: use f-string for creating Exception
vstart: allow specifying a different ganesha binary
vstart: handle multiple ganesha's more sanely
vstart.sh: update comment to use ganesha from CentOS Storage SIG
vstart: set $CEPH_CONF when running ganesha-rados-grace
vstart: Support deployment of ganesha daemon by cephadm with NFS option.
mgr/test_orchestrator: List nfs daemon
qa/tasks/cephfs: Enable multiple exports tests
mgr/nfs: Instead of 'auth del' use 'auth rm'
qa/tasks/cephfs: Don't enable cephadm in TestNFS
qa/tasks/cephfs: Add tests for nfs exports
mgr/volumes/nfs: Fix idempotency of cluster and export commands
mgr/volumes/nfs: Fix incorrect read only access_type value
mgr/fs/nfs: Use check_mon_command() instead of mon_command()
qa/cephfs: Add tests for nfs
mgr/volumes/nfs: Remove type option from export create interface
vstart: Instead of CACHEINODE use MDCACHE
mgr/volumes: Rearrange nfs export interface
mgr/volumes/nfs: Delete common config object on cluster deletion
mgr/volumes/nfs: Delete all exports on cluster deletion
mgr/volumes: Make nfs create export interface idempotent
vstart: Add watch url for conf-nfs object
mgr/volumes/nfs: Delete user on removing export
mgr/volumes: Create user for given path and fs
vstart: Ensure cephadm and NFS does not conflict
vstart: Update details about ganesha packages
mgr/volumes/nfs: Add delete cephfs export command
mgr/volumes/nfs: Add RADOS notify for common config object
mgr/volumes/nfs: Pass cluster_id directly to NFSCluster {create, update, delete} methods
mgr/volumes: Add nfs cluster delete interface
mgr/volumes: Add nfs cluster update interface
vstart: Enable test_orchestrator in start_ganesha()
mgr/volumes: Add placement option to create nfs cluster interface
mgr/volumes/nfs: Change common ganesha config object name to 'conf-nfs.ganesha-<cluster_id>'
mgr/volumes/nfs: Call orch nfs apply
mgr/volumes: Add a note about placement option in nfs cluster create
mgr/volumes: Remove unused typing module
mgr/volumes: Make cluster id option mandatory in nfs create export
mgr/volumes: Update nfs cluster and export interface
vstart: Update the nfs cluster create and export interface
mgr/volumes: Remove GaneshaConf and NFSConfig class
mgr/volumes: Create multiple CephFS exports
mgr/volumes: Move ganesha common config to vstart
mgr/volumes/nfs: Fix mypy errors
mgr/volumes/nfs: Update the export class to remove unecessary config options
mgr/volumes: Remove dependency on dashboard ganesha module
vstart: Use random port instead of default Ganesha port
vstart: Use "NFS" instead "GANESHA" for starting nfs ganesha clusters
mgr/volumes: Improve readability of ganesha common config
vstart: Add note about mounting cephfs exports
src/vstart: Set CEPH_CONF environment variables
mgr/volumes/fs: Update default ganesha conf options
doc: Add document about fs nfs interface to create CephFS exports
vstart: Update fs nfs export create command
mgr/volumes: Update nfs export create and delete command
mgr/volumes: Remove create_rados_pool method
mgr/volumes: Changes to nfs export delete and create
mgr/volumes: While creating nfs-ganesha user update its cap
mgr/volumes: Update caps for new user created and add it's key to keyring
vstart: Update vstart according to cluster create command
mgr/volumes: Add Ganesha common config
mgr/volumes: Create NFSConfig class
mgr/volumes: Add command to create nfs-ganesha clusters
mgr: Create pool for nfs ganesha recovery
mgr: Add "ceph fs nfs delete <export_id>" to delete exports
mgr: Add command to create exports for nfs-ganesha
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Varsha Rao [Mon, 15 Jun 2020 11:29:41 +0000 (16:59 +0530)]
mgr/volumes/nfs: Misc changes to export get and ls command
This patch does following changes:
* Add extra line before every class definition
* Reorder export dictionary
* Use _fetch_export() in get export command
* Remove cluster_id key from export dictionary if single export is deleted
Jeff Layton [Mon, 22 Jun 2020 12:31:46 +0000 (08:31 -0400)]
vstart: just use ganesha.nfsd that's in $PATH
In an earlier patch, I added a --ganesha-path option, but that left out
ganesha-rados-grace, which also could be in an alternate path. Instead,
just change vstart to run whatever ganesha.nfsd it finds in $PATH. We
already do that for ganesha-rados-grace so it should be fine to do that
for ganesha.nfsd as well.
Jeff Layton [Wed, 17 Jun 2020 16:11:51 +0000 (12:11 -0400)]
vstart: handle multiple ganesha's more sanely
Currently, if you have more than one ganesha daemon, it clobbers the
log, config and pidfiles from the previous daemons. Give them each
their own files.
While we're in here, move the log and pidfile to the out/ directory
with all of the other logfiles/pidfiles.
Fixes: https://tracker.ceph.com/issues/46079 Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit eea01dfa78738e3b3c67751d00d2430a1ff6ee5d)
Varsha Rao [Tue, 31 Mar 2020 11:48:03 +0000 (17:18 +0530)]
mgr/volumes: Create multiple CephFS exports
Using the following fs nfs interface multiple exports can be created:
ceph fs nfs export create <fsname> <binding> --readonly --path=<pathname> --attach=<clusterid>
Varsha Rao [Mon, 30 Mar 2020 10:17:15 +0000 (15:47 +0530)]
mgr/volumes: Move ganesha common config to vstart
This is a preparatoy patch before calling orchestrator for nfs cluster
deployment. All the ganesha config is moved to vstart. Keyring creation is also
taken care by vstart.
The volumes fs nfs cluster create interface does the following things:
1) Create a common recovery pool for all ganesha clusters. Each cluster will
have their own namespace.
2) Create an empty rados conf object named 'conf-nfs' for saving all export
urls.
Call to orch interface will be done in future patch.
Varsha Rao [Tue, 24 Mar 2020 18:56:56 +0000 (00:26 +0530)]
mgr/volumes/nfs: Fix mypy errors
This patch fixes the following mypy errors:
volumes/module.py:9: note: In module imported here,
volumes/__init__.py:2: note: ... from here:
volumes/fs/nfs.py: note: In member "validate_path" of class "CephFSFSal":
volumes/fs/nfs.py:80: error: Name 're' is not defined
volumes/fs/nfs.py: note: In member "create_path" of class "CephFSFSal":
volumes/fs/nfs.py:83: error: Name 'CephFS' is not defined
volumes/fs/nfs.py: note: In member "_persist_daemon_configuration" of class "GaneshaConf":
volumes/fs/nfs.py:259: error: Need type annotation for 'daemon_map' (hint: "daemon_map: Dict[<type>, <type>] = ...")
volumes/fs/nfs.py: note: In member "create_instance" of class "NFSConfig":
volumes/fs/nfs.py:386: error: Incompatible types in assignment (expression has type "GaneshaConf", variable has type "str")
volumes/fs/nfs.py: note: In member "create_export" of class "NFSConfig":
volumes/fs/nfs.py:389: error: "str" has no attribute "create_export"
volumes/fs/nfs.py: note: In member "delete_export" of class "NFSConfig":
volumes/fs/nfs.py:404: error: "str" has no attribute "has_export"
volumes/fs/nfs.py:407: error: "str" has no attribute "remove_export"
volumes/fs/nfs.py:408: error: "str" has no attribute "reload_daemons"
volumes/__init__.py:2: note: In module imported here:
volumes/module.py: note: In member "_cmd_fs_nfs_export_create" of class "Module":
volumes/module.py:406: error: "str" has no attribute "check_fsal_valid"
volumes/module.py:407: error: "str" has no attribute "create_instance"
volumes/module.py:408: error: "str" has no attribute "create_export"
volumes/module.py: note: In member "_cmd_fs_nfs_export_delete" of class "Module":
volumes/module.py:412: error: "str" has no attribute "delete_export"
volumes/module.py: note: In member "_cmd_fs_nfs_cluster_create" of class "Module":
volumes/module.py:415: error: Incompatible types in assignment (expression has type "NFSConfig", variable has type "str")
volumes/module.py:416: error: "str" has no attribute "create_nfs_cluster"