From: Jan Fajerski Date: Mon, 4 Mar 2019 10:28:13 +0000 (+0100) Subject: ceph-volume: print most logging messages to stderr X-Git-Tag: v12.2.13~158^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=b617434faae4e699cfeae06afac95dc7f909bddb;p=ceph.git ceph-volume: print most logging messages to stderr Signed-off-by: Jan Fajerski Fixes: http://tracker.ceph.com/issues/38548 (cherry picked from commit 1f8f1e95dee88b4bab2d6931e720ed83584d2887) Conflicts: src/pybind/mgr/test_orchestrator/module.py removed --- diff --git a/src/ceph-volume/ceph_volume/terminal.py b/src/ceph-volume/ceph_volume/terminal.py index 23ce57e0e9c2b..7fe8555148881 100644 --- a/src/ceph-volume/ceph_volume/terminal.py +++ b/src/ceph-volume/ceph_volume/terminal.py @@ -104,7 +104,7 @@ def stdout(msg): def stderr(msg): - return _Write(prefix=yellow(' stderr: ')).raw(msg) + return _Write(prefix=yellow(' stderr: '), _writer=sys.stderr).raw(msg) def write(msg): @@ -112,19 +112,19 @@ def write(msg): def error(msg): - return _Write(prefix=red_arrow).raw(msg) + return _Write(prefix=red_arrow, _writer=sys.stderr).raw(msg) def info(msg): - return _Write(prefix=blue_arrow).raw(msg) + return _Write(prefix=blue_arrow, _writer=sys.stderr).raw(msg) def debug(msg): - return _Write(prefix=blue_arrow).raw(msg) + return _Write(prefix=blue_arrow, _writer=sys.stderr).raw(msg) def warning(msg): - return _Write(prefix=yellow_arrow).raw(msg) + return _Write(prefix=yellow_arrow, _writer=sys.stderr).raw(msg) def success(msg): diff --git a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_activate.py b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_activate.py index 7520e52bfd7ff..cfa7de8e8c415 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_activate.py +++ b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_activate.py @@ -283,8 +283,8 @@ class TestActivateAll(object): activation = activate.Activate(args) activation.main() out, err = capsys.readouterr() - assert 'Was unable to find any OSDs to activate' in out - assert 'Verify OSDs are present with ' in out + assert 'Was unable to find any OSDs to activate' in err + assert 'Verify OSDs are present with ' in err def test_detects_running_osds(self, capsys, is_root, capture, monkeypatch): monkeypatch.setattr('ceph_volume.devices.lvm.activate.direct_report', lambda: direct_report) @@ -293,8 +293,8 @@ class TestActivateAll(object): activation = activate.Activate(args) activation.main() out, err = capsys.readouterr() - assert 'a8789a96ce8b process is active. Skipping activation' in out - assert 'b8218eaa1634 process is active. Skipping activation' in out + assert 'a8789a96ce8b process is active. Skipping activation' in err + assert 'b8218eaa1634 process is active. Skipping activation' in err def test_detects_osds_to_activate(self, is_root, capture, monkeypatch): monkeypatch.setattr('ceph_volume.devices.lvm.activate.direct_report', lambda: direct_report) diff --git a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_create.py b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_create.py index 62790c9eb7630..994038f3b8863 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_create.py +++ b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_create.py @@ -21,9 +21,9 @@ class TestCreate(object): device_info() with pytest.raises(SystemExit): lvm.create.Create(argv=['--data', '/dev/sdfoo', '--filestore', '--bluestore']).main() - stdout, sterr = capsys.readouterr() + stdout, stderr = capsys.readouterr() expected = 'Cannot use --filestore (filestore) with --bluestore (bluestore)' - assert expected in stdout + assert expected in stderr def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info): device_info() @@ -32,9 +32,9 @@ class TestCreate(object): '--bluestore', '--data', '/dev/sdfoo', '--journal', '/dev/sf14', ]).main() - stdout, sterr = capsys.readouterr() + stdout, stderr = capsys.readouterr() expected = 'Cannot use --bluestore (bluestore) with --journal (filestore)' - assert expected in stdout + assert expected in stderr def test_excludes_block_and_journal_flags(self, capsys, device_info): device_info() @@ -43,6 +43,6 @@ class TestCreate(object): '--bluestore', '--data', '/dev/sdfoo', '--block.db', 'vg/ceph1', '--journal', '/dev/sf14', ]).main() - stdout, sterr = capsys.readouterr() + stdout, stderr = capsys.readouterr() expected = 'Cannot use --block.db (bluestore) with --journal (filestore)' - assert expected in stdout + assert expected in stderr diff --git a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_prepare.py b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_prepare.py index dbdb3f08f53b7..244da401b2e67 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_prepare.py +++ b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_prepare.py @@ -68,7 +68,7 @@ class TestPrepare(object): lvm.prepare.Prepare(argv=['--data', '/dev/sdfoo', '--filestore', '--bluestore']).main() stdout, stderr = capsys.readouterr() expected = 'Cannot use --filestore (filestore) with --bluestore (bluestore)' - assert expected in stdout + assert expected in stderr def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info): device_info() @@ -79,7 +79,7 @@ class TestPrepare(object): ]).main() stdout, stderr = capsys.readouterr() expected = 'Cannot use --bluestore (bluestore) with --journal (filestore)' - assert expected in stdout + assert expected in stderr def test_excludes_block_and_journal_flags(self, capsys, device_info): device_info() @@ -90,7 +90,7 @@ class TestPrepare(object): ]).main() stdout, stderr = capsys.readouterr() expected = 'Cannot use --block.db (bluestore) with --journal (filestore)' - assert expected in stdout + assert expected in stderr def test_journal_is_required_with_filestore(self, is_root, monkeypatch, device_info): monkeypatch.setattr("os.path.exists", lambda path: True) diff --git a/src/ceph-volume/ceph_volume/tests/devices/simple/test_activate.py b/src/ceph-volume/ceph_volume/tests/devices/simple/test_activate.py index 97c155f18877b..ac2dd0e7b3c31 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/simple/test_activate.py +++ b/src/ceph-volume/ceph_volume/tests/devices/simple/test_activate.py @@ -51,10 +51,10 @@ class TestEnableSystemdUnits(object): activation.activate = lambda x: True activation.main() activation.enable_systemd_units('0', '1234') - out, err = capsys.readouterr() - assert 'Skipping enabling of `simple`' in out - assert 'Skipping masking of ceph-disk' in out - assert 'Skipping enabling and starting OSD simple' in out + stdout, stderr = capsys.readouterr() + assert 'Skipping enabling of `simple`' in stderr + assert 'Skipping masking of ceph-disk' in stderr + assert 'Skipping enabling and starting OSD simple' in stderr def test_no_systemd_flag_is_true(self, tmpfile, is_root): json_config = tmpfile(contents='{}') @@ -145,14 +145,14 @@ class TestValidateDevices(object): with pytest.raises(RuntimeError): activation.validate_devices({'type': 'filestore', 'journal': {}}) stdout, stderr = capsys.readouterr() - assert "devices found: ['journal']" in stdout + assert "devices found: ['journal']" in stderr def test_filestore_data_device_found(self, capsys): activation = activate.Activate([]) with pytest.raises(RuntimeError): activation.validate_devices({'type': 'filestore', 'data': {}}) stdout, stderr = capsys.readouterr() - assert "devices found: ['data']" in stdout + assert "devices found: ['data']" in stderr def test_filestore_with_all_devices(self): activation = activate.Activate([]) @@ -184,7 +184,7 @@ class TestValidateDevices(object): with pytest.raises(RuntimeError): activation.validate_devices({'data': {}}) stdout, stderr = capsys.readouterr() - assert "devices found: ['data']" in stdout + assert "devices found: ['data']" in stderr def test_bluestore_missing_data(self): activation = activate.Activate([]) @@ -197,4 +197,4 @@ class TestValidateDevices(object): with pytest.raises(RuntimeError): activation.validate_devices({'block': {}}) stdout, stderr = capsys.readouterr() - assert "devices found: ['block']" in stdout + assert "devices found: ['block']" in stderr diff --git a/src/ceph-volume/ceph_volume/tests/devices/test_zap.py b/src/ceph-volume/ceph_volume/tests/devices/test_zap.py index 6333e3a4ea1d7..42c4940f157bd 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/test_zap.py +++ b/src/ceph-volume/ceph_volume/tests/devices/test_zap.py @@ -25,4 +25,4 @@ class TestZap(object): with pytest.raises(SystemExit): lvm.zap.Zap(argv=[device_name]).main() stdout, stderr = capsys.readouterr() - assert 'Refusing to zap' in stdout + assert 'Refusing to zap' in stderr diff --git a/src/ceph-volume/ceph_volume/tests/test_configuration.py b/src/ceph-volume/ceph_volume/tests/test_configuration.py index 0009532c44efb..2e26ead7c82ed 100644 --- a/src/ceph-volume/ceph_volume/tests/test_configuration.py +++ b/src/ceph-volume/ceph_volume/tests/test_configuration.py @@ -106,7 +106,7 @@ class TestLoad(object): with pytest.raises(RuntimeError): configuration.load(ceph_conf) stdout, stderr = capsys.readouterr() - assert 'File contains no section headers' in stdout + assert 'File contains no section headers' in stderr @pytest.mark.parametrize('commented', ['colon','hash']) def test_coment_as_a_value(self, tmpdir, commented): diff --git a/src/ceph-volume/ceph_volume/tests/test_process.py b/src/ceph-volume/ceph_volume/tests/test_process.py index c9dfaeebf9578..9059ac32186e3 100644 --- a/src/ceph-volume/ceph_volume/tests/test_process.py +++ b/src/ceph-volume/ceph_volume/tests/test_process.py @@ -35,7 +35,7 @@ class TestCall(object): assert 'Running command: ' in log_lines[0] assert 'ls' in log_lines[0] assert 'stderr some stderr message' in log_lines[-1] - assert 'some stderr message' in out + assert 'some stderr message' in err def test_stderr_terminal_and_logfile_off(self, mock_call, caplog, capsys): mock_call(stdout='stdout\n', stderr='some stderr message\n') diff --git a/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py b/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py index c18bff45d7899..844518a443639 100644 --- a/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py +++ b/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py @@ -70,7 +70,7 @@ class TestExcludeGroupOptions(object): self.parser, ['filestore', 'bluestore'], argv=argv ) stdout, stderr = capsys.readouterr() - assert 'Cannot use --filestore (filestore) with --bluestore (bluestore)' in stdout + assert 'Cannot use --filestore (filestore) with --bluestore (bluestore)' in stderr class TestValidDevice(object): diff --git a/src/ceph-volume/ceph_volume/tests/util/test_system.py b/src/ceph-volume/ceph_volume/tests/util/test_system.py index bf71e8746b739..f14b1deaf28cd 100644 --- a/src/ceph-volume/ceph_volume/tests/util/test_system.py +++ b/src/ceph-volume/ceph_volume/tests/util/test_system.py @@ -214,5 +214,5 @@ class TestWhich(object): monkeypatch.setattr(system.os.path, 'exists', lambda x: False) system.which('exedir') stdout, stderr = capsys.readouterr() - assert 'Absolute path not found for executable: exedir' in stdout - assert 'Ensure $PATH environment variable contains common executable locations' in stdout + assert 'Absolute path not found for executable: exedir' in stderr + assert 'Ensure $PATH environment variable contains common executable locations' in stderr