diff --git a/src/ceph-volume/ceph_volume/terminal.py b/src/ceph-volume/ceph_volume/terminal.py index bf5fc187e41da..11bd2a1377fd9 100644 --- a/src/ceph-volume/ceph_volume/terminal.py +++ b/src/ceph-volume/ceph_volume/terminal.py @@ -127,7 +127,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): @@ -135,19 +135,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 @@ def test_does_not_detect_osds(self, capsys, is_root, capture, monkeypatch): 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 @@ def test_detects_running_osds(self, capsys, is_root, capture, monkeypatch): 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 @@ def test_excludes_filestore_bluestore_flags(self, capsys, device_info): 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 @@ def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info): '--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 @@ def test_excludes_block_and_journal_flags(self, capsys, device_info): '--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 @@ def test_excludes_filestore_bluestore_flags(self, capsys, device_info): 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 @@ def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info): ]).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 @@ def test_excludes_block_and_journal_flags(self, capsys, device_info): ]).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 @@ def test_nothing_is_activated(self, tmpfile, is_root, capsys): 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 @@ def test_filestore_journal_device_found(self, capsys): 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 @@ def test_bluestore_data_device_found(self, capsys): 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 @@ def test_bluestore_block_device_found(self, capsys): 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 @@ def test_can_not_zap_mapper_device(self, monkeypatch, device_info, capsys, is_ro 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 @@ def test_unable_to_read_configuration(self, tmpdir, capsys): 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 @@ def test_stderr_terminal_and_logfile(self, mock_call, caplog, capsys): 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 @@ def test_flags_conflict(self, capsys): 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 @@ def test_warnings_when_executable_isnt_matched(self, monkeypatch, capsys): 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 diff --git a/src/pybind/mgr/test_orchestrator/module.py b/src/pybind/mgr/test_orchestrator/module.py index 744172ceee2c9..d63139219abed 100644 --- a/src/pybind/mgr/test_orchestrator/module.py +++ b/src/pybind/mgr/test_orchestrator/module.py @@ -170,13 +170,12 @@ def get_inventory(self, node_filter=None, refresh=False): c_v_out = check_output(cmd.format(tmpdir='.'),shell=True) for out in c_v_out.splitlines(): - if not out.startswith(b'-->') and not out.startswith(b' stderr'): - self.log.error(out) - devs = [] - for device in json.loads(out): - dev = orchestrator.InventoryDevice.from_ceph_volume_inventory(device) - devs.append(dev) - return [orchestrator.InventoryNode('localhost', devs)] + self.log.error(out) + devs = [] + for device in json.loads(out): + dev = orchestrator.InventoryDevice.from_ceph_volume_inventory(device) + devs.append(dev) + return [orchestrator.InventoryNode('localhost', devs)] self.log.error('c-v failed: ' + str(c_v_out)) raise Exception('c-v failed')