qa/cephfs: set joinable on FS before exiting tests in TestFSFail#57333
qa/cephfs: set joinable on FS before exiting tests in TestFSFail#57333rishabh-d-dave merged 1 commit intoceph:mainfrom
Conversation
|
There was an extra in |
6d9aaec to
9179e88
Compare
9179e88 to
0e236e3
Compare
|
. |
0e236e3 to
ea267b9
Compare
|
. |
ea267b9 to
e9bf105
Compare
|
@batrick @vshankar Tests are running fine with vstart_runner and with FUSE and kernel client driver. PTAL. I intend to add fix for https://tracker.ceph.com/issues/65865 here so that |
batrick
left a comment
There was a problem hiding this comment.
Please remove qa/cephfs: rectify variable name used for MDS name. This is code churn.
qa/tasks/cephfs/test_admin.py
Outdated
| self.negtest_ceph_cmd(args=f'mds fail {active_mds_name}', | ||
| retval=1, errmsgs=errmsg) | ||
| self.run_ceph_cmd(f'mds fail {self.fs.name} --yes-i-really-mean-it') | ||
| self.run_ceph_cmd(f'mds fail {active_mds_name} --yes-i-really-mean-it') |
There was a problem hiding this comment.
Why did this not show up in QA as a failure?
There was a problem hiding this comment.
I talked about it in standup -- mds fail returns zero in such a scenario. Will add a fix for this on same PR.
There was a problem hiding this comment.
There was a problem hiding this comment.
Done, added fixes for this too. It's working fine with vstart, testing with teuth now...
There was a problem hiding this comment.
@batrick @vshankar @gregsfortytwo
I've fixed the return value issue with mds fail (https://tracker.ceph.com/issues/65865) and errmsg issue with mds fail (https://tracker.ceph.com/issues/65875) and also added a test for both.
But just now I recalled that returning zero in case of mds fail is done intentionally and deliberately for the sake of idempotency. So we have 2 possibilities.
- Either return zero and modify QA code to check stderr for every command and halt the test if output on stderr wasn't expected.
- Or forsake idempotecy and do not return zero. This will automatically halt tests.
I think the preference lies with first one because forsaking idempotency is not an option. And therefore I should delete the commits that fixes "mds fail return value" issue and instead modify run_ceph_cmd() to check stderr and halt if stderr has any extra values.
There was a problem hiding this comment.
@batrick @vshankar @gregsfortytwo
I've fixed the return value issue with
mds fail(https://tracker.ceph.com/issues/65865) and errmsg issue withmds fail(https://tracker.ceph.com/issues/65875) and also added a test for both.But just now I recalled that returning zero in case of
mds failis done intentionally and deliberately for the sake of idempotency. So we have 2 possibilities.
- Either return zero and modify QA code to check stderr for every command and halt the test if output on stderr wasn't expected.
Some command may not return any output and follow idempotentcy rules. What would you do about those?
There was a problem hiding this comment.
I can't think of anything other than making them print some error message on standard error stream.
qa/tasks/cephfs/cephfs_test_case.py
Outdated
| self.run_ceph_cmd(*cmd) | ||
| return self.get_ceph_cmd_stdout(f'auth get {self.client_name}') | ||
|
|
||
| def gen_health_warn_mds_cache_oversized(self): |
There was a problem hiding this comment.
No, I think these are to specific to the nuances of the test. Keep them to test_admin please.
There was a problem hiding this comment.
Cool. There are some other places (test_client_limits.py, IIRC) where at least one of the could be reused.
Agreed but it is misguiding too. |
e9bf105 to
5efafc3
Compare
|
jenkins test api |
5efafc3 to
fd6f45f
Compare
92b30bc to
6114359
Compare
@batrick with latest change, inter-dependency is no more, so I've moved one of these commits to PR #57493 since you wanted 1 commit per PR. PTAL cc @vshankar |
6114359 to
85ccbe1
Compare
|
Had a conversation with Venky about this, it's good to do a quick QA for this PR so that it can be merge ASAP to make sure test_admin does fine in QA runs - https://pulpito.ceph.com/rishabh-2024-05-16_07:25:57-fs:functional-main-testing-default-smithi/ |
|
CI failures look unrelated - |
|
jenkins test make check |
|
jenkins test api |
|
This PR is under test in https://tracker.ceph.com/issues/66065. |
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Venky Shankar <vshankar@redhat.com>
|
This PR is under test in https://tracker.ceph.com/issues/66067. |
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Venky Shankar <vshankar@redhat.com>
After running TestFSFail, CephFSTestCase.tearDown() fails attempting to unmount CephFS. Set joinable on FS and wait for the MDS to be up before exiting the test. This will ensure that unmounting is successful in teardown. Fixes: https://tracker.ceph.com/issues/65841 Signed-off-by: Rishabh Dave <ridave@redhat.com>
85ccbe1 to
faa30e0
Compare
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
* refs/pull/57333/head: qa/cephfs: set joinable on FS before exiting tests in TestFSFail Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
|
QA run was successful - https://pulpito.ceph.com/rishabh-2024-05-17_04:50:48-fs:functional-main-testing-default-smithi/. |
After running TestFSFail, CephFSTestCase.tearDown() fails attempting
to unmount CephFS. Set joinable on FS and wait for the MDS to be up
before exiting the test. This will ensure that unmounting is
successful in teardown.
Fixes: https://tracker.ceph.com/issues/65841
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e