Commit Graph

959 Commits

Author SHA1 Message Date
Patrick Donnelly
541cc173c6 Merge PR #43179 into master
* refs/pull/43179/head:
	qa: lengthen grace for fs map showing dead MDS

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
2021-09-20 20:48:00 -04:00
Patrick Donnelly
c8a900c6c6 Merge PR #42763 into master
* refs/pull/42763/head:
	mon/FSCommands: add 'recover' flag in `fs new` command

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-09-20 20:46:25 -04:00
Patrick Donnelly
0d9753fa3c Merge PR #43122 into master
* refs/pull/43122/head:
	qa: add test for standby-replay marking rank damaged
	MDSMonitor: handle damaged from standby-replay
	mds: add config to mark rank damaged in standby-replay
	include: unset std::hex after printing CompatSet
	mds: refactor iterator lookup
	mds: harden rank lookup

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2021-09-16 21:47:40 -04:00
Patrick Donnelly
91c6f3364d Merge PR #42719 into master
* refs/pull/42719/head:
	mgr/volumes: Fix permission during subvol creation with mode

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-09-15 22:34:23 -04:00
Patrick Donnelly
33331cf4aa Merge PR #42584 into master
* refs/pull/42584/head:
	doc: fix `daemon status` interface (exclude file system name)
	test: adjust mirroring tests for `daemon status` change
	mgr/mirroring: `daemon status` command does not require file system name

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-09-15 22:33:18 -04:00
Patrick Donnelly
ef5d7febeb
qa: lengthen grace for fs map showing dead MDS
Fixes: https://tracker.ceph.com/issues/52625
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-09-15 22:21:03 -04:00
Ramana Raja
67bb13859a mon/FSCommands: add 'recover' flag in fs new command
Currently, to recover a file system after recovering monitor store, you
need to stop all the MDSs; create FSMap with defaults using `fs new`
command; execute `fs reset` command to get the file system's rank 0 into
existing but failed state; and then restart MDSs.

Add 'recover' flag to the `fs new` command that sets the file system's
rank 0 to existing but failed state, and sets the file system's
'joinable' setting to False. Using the `fs new` command with 'recover'
flag gets rid of the steps to stop all the MDSs and execute `fs reset`
command when recovering the file system after recoving monitor store.

Fixes: https://tracker.ceph.com/issues/51716
Signed-off-by: Ramana Raja <rraja@redhat.com>
2021-09-13 00:15:39 -04:00
Patrick Donnelly
f4a11a3290
qa: add test for standby-replay marking rank damaged
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-09-09 20:16:03 -04:00
Kotresh HR
7440ef842a mgr/volumes: Fix permission during subvol creation with mode
The subvolume creation with specific mode leads to
creation of parent directories ('/volumes/_no_group') with
the same mode if it's not already created. Fixed the same.

Similarly, the subvolumegroup creation with specific mode
leads to creation of parent directory ('/volumes') with
same mode if it's not already created. Fixed the same.

Fixes: https://tracker.ceph.com/issues/51870
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2021-09-07 15:51:21 +05:30
Patrick Donnelly
ca906d0d7a Merge PR #42529 into master
* refs/pull/42529/head:
	qa: verify rank 0 does not fail during journal repair tests
	qa: avoid stopping/restarting mds in journal repair tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2021-09-06 14:00:41 -04:00
Patrick Donnelly
ea04087786 Merge PR #42371 into master
* refs/pull/42371/head:
	mgr/volumes: Fix a race during clone cancel
	mgr/volumes: Fail subvolume removal if it's in progress

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2021-08-23 20:02:31 -04:00
Venky Shankar
11b61b4fb9 test: adjust mirroring tests for daemon status change
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2021-08-02 06:39:16 -04:00
Patrick Donnelly
295971b9c6 qa: add tests for compat manipulation and upgrade
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-30 16:28:54 -07:00
Patrick Donnelly
5ae7b9202b Merge PR #42513 into master
* refs/pull/42513/head:
	qa: multifs already enabled as default

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-30 14:03:36 -07:00
Kotresh HR
103c7bdc70 mgr/volumes: Fail subvolume removal if it's in progress
Removing an in-progress subvolume clone with force doesn't
remove the clone index (tracker). This results in the cloner
thread to stuck in loop trying to clone the deleted one.

This patch addresses the issue by not allowing the subvolume clone
to be removed if it's not complete/cancelled/failed even with force option.
It throws the error EAGAIN, asking the user to cancel the pending clone
and retry.

Fixes: https://tracker.ceph.com/issues/51707
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2021-07-30 13:14:28 +05:30
Patrick Donnelly
0efa23572a qa: verify rank 0 does not fail during journal repair tests
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-29 13:53:20 -07:00
Patrick Donnelly
14324ab5c2 qa: avoid stopping/restarting mds in journal repair tests
It is enough to just fail ranks and manipulate the "joinable" flag of
the fs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-29 13:53:20 -07:00
Patrick Donnelly
665b36de4e Merge PR #42349 into master
* refs/pull/42349/head:
	mon/MDSMonitor: propose if FSMap struct_v is too old
	mon/MDSMonitor: give a proper error message if FSMap struct_v is too old
	mds/FSMap: use DECODE_OLDEST to gate FSMap version
	qa: add tests for fs dump of epoch and trimming
	qa: add file system support for dumping epoch
	mon/MDSMonitor: return mon_mds_force_trim_to even if equal to current epoch
	mon: add debugging for trimming methods
	mon: fix debug spacing
	qa: add nofs upgrade suite

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
2021-07-28 10:45:08 -07:00
Patrick Donnelly
5ddaa36d17 qa: add tests for fs dump of epoch and trimming
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-28 07:07:05 -07:00
Patrick Donnelly
ee899d9a44 qa: add file system support for dumping epoch
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-28 07:07:05 -07:00
Xiubo Li
361ee535dd qa: multifs already enabled as default
Since pacific already mark multifs enabled as defaut.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-28 13:56:10 +08:00
Xiubo Li
a448d1c3ee qa: wait pgs to be clean before using the pools
Or in some use cases, like the mds-full tests, we will hit the
"PG_AVAILABILITY" warning.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:54:03 +08:00
Xiubo Li
999c787ac6 qa: wait more time since there have many more pgs than before
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Xiubo Li
ba3833a622 qa: do not multiple the full ratio twice
The cluster has already multiple the full ratio before returning
the "max_avail".

Fixes: https://tracker.ceph.com/issues/50984
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Xiubo Li
a96ee41908 qa: do not raise for kclient for _fsync test
For kclient, the write() will return -ENOSPC instead of the fsync().

Fixes: https://tracker.ceph.com/issues/45434
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Xiubo Li
c1cea71299 qa: use the pg autoscale mode to calcuate the pg_num
Setting the pg_num to 8 is too small that some osds maybe not covered by the
pools, some osds maybe overloaded. Remove the hardcodeing pg_num here and let
the pg autoscale mode to calculate it as needed, and at the same time set the
pg_num_min to 64 to avoid the pg_num to small.

If ec pool is used, for the test cases most datas will go to the ec pool and
the primary replicated pool will store a small amount of metadata for all the
files only, so set the target size ratio to 0.05 should be enough.

Fixes: https://tracker.ceph.com/issues/45434
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Xiubo Li
c7837484d9 qa: set the object_size to 1M
Set the object_size to 1MB to make the objects destributed more even
among the OSDs.

Fixes: https://tracker.ceph.com/issues/45434
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Xiubo Li
f4288f2a9b qa: move the is_full() to parent class
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-07-27 09:48:56 +08:00
Patrick Donnelly
0e71ea4a13
Merge PR #42106 into master
* refs/pull/42106/head:
	mds: create file system with specific ID

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-23 11:15:33 -07:00
Venky Shankar
19a45c8d54 test: add test for checking readd after remove for a directory path
Fixes: http://tracker.ceph.com/issues/51666
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2021-07-16 01:08:23 -04:00
Sage Weil
d41b60404d qa/tasks/cephfs/test_nfs: define NFS_POOL_NAME
We can't import from mgr_module.py from here, sadly.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-07-14 16:20:11 -04:00
Sage Weil
1e6fd912f6 qa/tasks/cephfs/test_nfs: retry mount a few times
It may take a moment for a ganesha to (re)configure itself with a new
export.  If a mount fails, retry a couple times.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-07-14 16:20:11 -04:00
Sage Weil
82e939d89c mgr/nfs: change nfs pool to .nfs
This is a new pool that we can migrate all past NFS configuration to,
simplifying the migration process (and also allowing us to pick a
.-prefixed name).

Signed-off-by: Sage Weil <sage@newdream.net>
2021-07-14 16:20:11 -04:00
Ramana Raja
a0a8ba5087 mds: create file system with specific ID
File system will need to be recreated when monitor databases are lost
and rebuilt. Some applications (e.g., CSI) expect that the recovered
file system have the same ID as before. Allow creating a file system
with a specific ID to help in such scenarios. This can now be done by
the `fs new` command using the argument 'fscid' and 'force' flag.
Newer file systems will no longer have increasing IDs as a corollary.

Fixes: https://tracker.ceph.com/issues/51340
Signed-off-by: Ramana Raja <rraja@redhat.com>
2021-07-09 21:14:01 -04:00
Patrick Donnelly
f987914e65
Merge PR #42081 into master
* refs/pull/42081/head:
	qa: use kclient xattr to lookup client id
	qa: refactor reading debug file code
	qa: get mount id before failing fs

Reviewed-by: Xiubo Li <xiubli@redhat.com>
2021-07-02 13:17:05 -07:00
Patrick Donnelly
f92a4f4330
qa: use kclient xattr to lookup client id
Added relatively recently but in RHEL 8.4.

Fixes: https://tracker.ceph.com/issues/51183
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-02 12:07:42 -07:00
Patrick Donnelly
e2b39f6c8c
qa: avoid using sudo for regular test artifacts
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-01 10:56:10 -07:00
Patrick Donnelly
4fc4ccb7a1
qa: convert mount calls to mount_wait
These tests want to immediately use the mount anyway. But the main
problem is, without waiting for the mount to complete, the command:

    chmod 1777 /path/to/mount

is not run so the mount cannot be written to by normal users without
sudo.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-01 10:56:10 -07:00
Patrick Donnelly
8a1ee83b1a
qa: use run_shell_payload to avoid sudo
"run_shell" adds 'sudo' which runs afoul of new security protections on
Ubuntu 20.04.

Fixes: https://tracker.ceph.com/issues/51417
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-07-01 10:56:10 -07:00
Patrick Donnelly
891c2773e9
qa: refactor reading debug file code
No need to invoke Python to read a file!

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-06-29 20:13:41 -07:00
Patrick Donnelly
97a86453f8
qa: get mount id before failing fs
Otherwise getxattr will hang.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-06-29 20:13:29 -07:00
Sage Weil
4537b14b34 Merge PR #41574 into master
* refs/pull/41574/head:
	qa/tasks/vstart_runner: add LocalCluster.run
	qa/tasks/cephfs/test_nfs: fiddle with sudo
	mgr/nfs/export: some cleanup, minor refactoring
	mgr/nfs/cluster: remove unused @cluster_setter
	nfs/mgr: fix help message case
	doc/cephfs/fs-nfs-export: add note about export update behavior
	mgr/nfs: move user create/delete into helper
	mgr/nfs: refactor _delete_user helper
	mgr/nfs: refactor create_export_from_dict() helper
	mgr/nfs: keep 'nfs export get' around for backward-compat
	mgr/nfs: rename method
	qa/tasks/cephfs/test_nfs: test new export via apply
	doc/cephfs/fs-nfs-export: be consistent with cluster_id and _ vs -
	mgr/nfs: addr -> client_addr for 'nfs export create ...'
	mgr/nfs: fix tests
	mgr/nfs: 'nfs export get' -> 'nfs export info'
	mgr/nfs: binding -> pseudo_path
	mgr/nfs: more revisions based on review
	mgr/nfs: adjust NFSExceptoin errno arg
	doc/cephfs: update 'nfs export {get,apply}' docs
	mgr/nfs: merge FSExport back into ExportMgr
	doc/radosgw/nfs: document mgr/nfs way to add/remove rgw exports
	mgr/nfs: merge 'nfs export {update,import}' -> 'nfs export apply'
	mgr/nfs: test export creation and list
	mgr/nfs: test export_update (+ fixes)
	mgr/nfs: test Export.validate(); several fixes
	mgr/nfs: test that export <-> block+dict conversions go both ways
	mgr/nfs: clean up test a bit
	mgr/nfs/export: fix export validation
	mgr/nfs/export: fix tests
	mgr/nfs: handle option addr/client block in create_export()
	mgr/nfs: allow multiple addrs for new exports
	mgr/nfs: fix/finish rgw export
	mgr/nfs/module: clusterid -> cluster_id
	mgr/nfs/export: fix export_update_1 to type check
	mgr/nfs/cluster: fix type error
	mgr/nfs/export: wrap long lines
	mgr/nfs: ExportMgr._delete_export only works for cephfs for now
	mgr/nfs: Remove pool_ns from NFSCluster
	mgr/nfs: Remove ExportMgr.rados_namespace
	mgr/nfs: flake8
	mgr/nfs: Add type checking
	mgr/nfs: Add __eq__ method to Export
	mgr/nfs: Add some compatibility to mgr/dashboard
	mgr/nfs: Fix whitespace handling
	mgr/nfs: Copy unit tests from mgr/dashboard
	mgr/nfs: partially implement rgw export support
	mgr/nfs: abstract FSAL; add RGWFSAL
	mgr/nfs: refactor to merge 'update' and 'import' code
	mgr/nfs: add 'nfs export import' command
	mgr/nfs: refactor 'nfs export update' and export validation
	mgr/nfs: fix _fetch_export to distinguish between clusters
	mgr/nfs: move export ganesha conf translation into caller
	mgr/nfs: name nfs cephfs client key 'nfs.{cluster_id}.{export_id}'
	mgr/nfs: add --addr to 'nfs export create'
	mgr/nfs: add --squash to 'nfs export create'
	mgr/nfs/export_utils: include false but non-None items in config
	vstart.sh: enable nfs module
	mgr/cephadm: nfs: drop attr_expiration_time from top-level config
	mgr/cephadm: remove Dir_Chunk = 0

Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-06-26 10:41:27 -04:00
Sage Weil
8788af5663 qa/tasks/cephfs/test_nfs: fiddle with sudo
- no sudo for 'ceph' commands
- explicit sudo for _sys_cmd (things like 'rados' don't need sudo!)

Signed-off-by: Sage Weil <sage@newdream.net>
2021-06-26 08:47:06 -04:00
Sage Weil
10786a6380 mgr/nfs: move user create/delete into helper
- Do user create or delete via a helper
- Defer until after we have validated the Export (on create or update)
- Support updates to user_id, which is needed to keep the naming consistent
and to also support changing the bucket, since the user_id is derived
from that.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-06-25 19:13:09 -04:00
Patrick Donnelly
e590f91e84
Merge PR #41908 into master
* refs/pull/41908/head:
	qa: always format the pgid in hex

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-06-22 19:38:16 -07:00
Patrick Donnelly
a90da2d9c5
Merge PR #41385 into master
* refs/pull/41385/head:
	mon/FSCommands: add command to rename a file system
	qa/cephfs: split test_admin.TestAdminCommands
	mds: remove 'fs_name' from MDSRank

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-06-22 19:34:01 -07:00
Patrick Donnelly
f27ec02a61
Merge PR #41860 into master
* refs/pull/41860/head:
	qa: log messages when falling back to force/lazy umount

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
2021-06-21 16:54:59 -07:00
Sage Weil
6fb9f0a391 qa/tasks/cephfs/test_nfs: test new export via apply
Signed-off-by: Sage Weil <sage@newdream.net>
2021-06-21 14:13:15 -04:00
Sage Weil
a2679b3884 mgr/nfs: fix tests
Signed-off-by: Sage Weil <sage@newdream.net>
2021-06-21 14:13:15 -04:00
Sage Weil
2400937ce2 mgr/nfs: 'nfs export get' -> 'nfs export info'
This is a breaking change, but aligns the CLI verbs with the rest of ceph.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-06-21 14:13:15 -04:00