-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qa/cephfs: set joinable on FS before exiting tests in TestFSFail #57333
qa/cephfs: set joinable on FS before exiting tests in TestFSFail #57333
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove qa/cephfs: rectify variable name used for MDS name
. This is code churn.
qa/tasks/cephfs/test_admin.py
Outdated
@@ -2283,7 +2283,7 @@ def test_with_health_warn_oversize_cache(self): | |||
errmsg = 'mds_cache_oversized' | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did this not show up in QA as a failure?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, added fixes for this too. It's working fine with vstart, testing with teuth now...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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 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.
Some command may not return any output and follow idempotentcy rules. What would you do about those?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
@@ -438,3 +438,27 @@ def create_client(self, client_id, moncap=None, osdcap=None, mdscap=None): | |||
|
|||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
x
between the brackets:[x]
. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows
jenkins test rook e2e