]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: print most logging messages to stderr 29506/head
authorJan Fajerski <jfajerski@suse.com>
Mon, 4 Mar 2019 10:28:13 +0000 (11:28 +0100)
committerJan Fajerski <jfajerski@suse.com>
Tue, 6 Aug 2019 13:17:50 +0000 (15:17 +0200)
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
Fixes: http://tracker.ceph.com/issues/38548
(cherry picked from commit 1f8f1e95dee88b4bab2d6931e720ed83584d2887)

src/ceph-volume/ceph_volume/terminal.py
src/ceph-volume/ceph_volume/tests/devices/lvm/test_activate.py
src/ceph-volume/ceph_volume/tests/devices/lvm/test_create.py
src/ceph-volume/ceph_volume/tests/devices/lvm/test_prepare.py
src/ceph-volume/ceph_volume/tests/devices/simple/test_activate.py
src/ceph-volume/ceph_volume/tests/devices/test_zap.py
src/ceph-volume/ceph_volume/tests/test_configuration.py
src/ceph-volume/ceph_volume/tests/test_process.py
src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py
src/ceph-volume/ceph_volume/tests/util/test_system.py
src/pybind/mgr/test_orchestrator/module.py

index 23ce57e0e9c2b5d8631e93a4e48c92c751e44b96..7fe8555148881749d7a522ab185c35f442332289 100644 (file)
@@ -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):
index 7520e52bfd7ff7e4c719f17aedb02e2eb72ae435..cfa7de8e8c415bd2569ad10952276465ae367a48 100644 (file)
@@ -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)
index 62790c9eb76302ce49ea5da45ce170465c59793c..994038f3b88631920e93fb772cd3c504130f5778 100644 (file)
@@ -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
index dbdb3f08f53b76a93ca3f98303e80a0545abc52c..244da401b2e67a465aeaf0c28ac895cb5aea258c 100644 (file)
@@ -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)
index 97c155f18877bfe479493cc7b77a70cd934d3ee7..ac2dd0e7b3c312a10c8a154679b135effda33041 100644 (file)
@@ -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
index 6333e3a4ea1d7ab0b6c3f82774294a053e26d296..42c4940f157bd496f2d65bf9822bcc3981f0c956 100644 (file)
@@ -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
index 0009532c44efb23e6030462b00b720fd2fe1e1a2..2e26ead7c82ed7b1979cd4dd30ff552a8088020f 100644 (file)
@@ -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):
index c9dfaeebf957851edeaf581f156ed2fda5d8ba93..9059ac32186e3811b37bd64d5fcd6a54a6a2ceef 100644 (file)
@@ -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')
index c18bff45d78993525c1537a5737348b5784266ab..844518a44363948ebe01d5460e8b6b5dd1876f00 100644 (file)
@@ -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):
index bf71e8746b739547bbf5efaaa1090e6f273807d6..f14b1deaf28cd80348dfd69bb79d4f3ec667ca7d 100644 (file)
@@ -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
index f6ed7b20b0ce0e8b05f09f2b4c83e45e75caaf84..0112ba4c51a6dec516aac447d21ae447a8171fef 100644 (file)
@@ -170,13 +170,12 @@ class TestOrchestrator(MgrModule, orchestrator.Orchestrator):
                 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')