Project

General

Profile

Actions

Bug #49644

open

vstart_runner: run_ceph_w() doesn't work with shell=True

Added by Rishabh Dave about 3 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
qa-suite
Labels (FS):
qa
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Setting shell to True leads to a crash when tasks.mgr.test_module_selftest.TestModuleSelftest.test_selftest_cluster_log is run on "ceph API" GitHub CI job. The crash happens when self.subproc.communicate() is run in self.watcher_process.finished() (self.watcher_process is an instance of LocalRemoteProcess) in ContextManager.__exit__().

See ceph API job on this PR (https://github.com/ceph/ceph/pull/38471) to see the crash. The console output also contains extra debug messages that shows that crashed happened on call to self.proc.communicate() in LocalRemoteProcess.finished().

Ideally, the run_ceph_w() should work even when shell is set to True.

Also see this PR - https://github.com/ceph/ceph/pull/38443. Especially this discussion on it might be helpful - https://github.com/ceph/ceph/pull/38443#discussion_r537673068.

Why do we need to set shell to True?
----------------------------------------
Currently, teuthology.orchestra.run.run() executes commands with shell set to True while vstart_runner.LocalRemoteProcess.run runs with shell@s set to @False. This inconsistency leads to incompatibility and bugs and makes code in teuthology.remote non-reusable.

Actions #1

Updated by Patrick Donnelly about 3 years ago

  • Status changed from New to In Progress
  • Assignee set to Rishabh Dave
Actions #2

Updated by Rishabh Dave about 3 years ago

This PR exposes this issue and adds a workaround for it - https://github.com/ceph/ceph/pull/38443.

Actions #3

Updated by Rishabh Dave about 3 years ago

  • Subject changed from qa/ceph_manager: run_ceph_w() doesn't work with shell=True to vstart_runner: run_ceph_w() doesn't work with shell=True
Actions #4

Updated by Rishabh Dave about 3 years ago

  • Status changed from In Progress to New
Actions

Also available in: Atom PDF