Change in vdsm[master]: monitoring: Port vdsm.storage.check to python 3

nsoffer at redhat.com nsoffer at redhat.com
Wed Mar 30 14:20:03 UTC 2016


Nir Soffer has uploaded a new change for review.

Change subject: monitoring: Port vdsm.storage.check to python 3
......................................................................

monitoring: Port vdsm.storage.check to python 3

Change-Id: I41df272678c63a48d51ab17cea0ed424ccda17c8
Signed-off-by: Nir Soffer <nsoffer at redhat.com>
---
M lib/vdsm/storage/check.py
M tests/Makefile.am
M tests/storage_check_test.py
3 files changed, 27 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/90/55490/1

diff --git a/lib/vdsm/storage/check.py b/lib/vdsm/storage/check.py
index f7de037..109e883 100644
--- a/lib/vdsm/storage/check.py
+++ b/lib/vdsm/storage/check.py
@@ -34,13 +34,13 @@
 
 import logging
 import re
+import subprocess
 import threading
-
-import cpopen
 
 from vdsm import cmdutils
 from vdsm import concurrent
 from vdsm import constants
+from vdsm.compat import CPopen
 from vdsm.storage import asyncevent
 from vdsm.storage import exception
 
@@ -284,8 +284,8 @@
         self._check_time = self._loop.time()
         _log.debug("START check %r cmd=%s delay=%.2f",
                    self._path, cmd, self._check_time - self._next_check)
-        self._proc = cpopen.CPopen(cmd, stdin=None, stdout=None,
-                                   stderr=cpopen.PIPE)
+        self._proc = CPopen(cmd, stdin=None, stdout=None,
+                            stderr=subprocess.PIPE)
         self._reader = self._loop.create_dispatcher(
             asyncevent.BufferedReader, self._proc.stderr, self._read_completed)
 
@@ -339,9 +339,9 @@
 class CheckResult(object):
 
     _PATTERN = re.compile(
-        r"\d+ bytes? \([\de\-.]+ [kMGT]*B\) copied, "
-        r"([\de\-.]+) s, "
-        r"(?:[\de\-.]+|Infinity) [kMGT]*B/s")
+        br"\d+ bytes? \([\de\-.]+ [kMGT]*B\) copied, "
+        br"([\de\-.]+) s, "
+        br"(?:[\de\-.]+|Infinity) [kMGT]*B/s")
 
     def __init__(self, path, rc, err, time, elapsed):
         self.path = path
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e51eec3..f5d6cc1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -43,6 +43,7 @@
 	responseTests.py \
 	scheduleTests.py \
 	storage_asyncevent_test.py \
+	storage_check_test.py \
 	vmStatsTests.py \
 	$(NULL)
 
diff --git a/tests/storage_check_test.py b/tests/storage_check_test.py
index 44ba2c4..f9a106c 100644
--- a/tests/storage_check_test.py
+++ b/tests/storage_check_test.py
@@ -67,7 +67,7 @@
 
     def test_path_ok(self):
         self.checks = 1
-        with temporaryPath(data="blah") as path:
+        with temporaryPath(data=b"blah") as path:
             checker = check.DirectioChecker(self.loop, path, self.complete)
             checker.start()
             self.loop.run_forever()
@@ -214,7 +214,7 @@
     @permutations([[1], [50], [100], [200]])
     def test_path_ok(self, checkers):
         self.checkers = checkers
-        with temporaryPath(data="blah") as path:
+        with temporaryPath(data=b"blah") as path:
             start = time.time()
             for i in range(checkers):
                 checker = check.DirectioChecker(self.loop, path, self.complete)
@@ -250,21 +250,21 @@
 
     @permutations([
         # err, seconds
-        ("1\n2\n1 byte (1 B) copied, 1 s, 1 B/s\n",
+        (b"1\n2\n1 byte (1 B) copied, 1 s, 1 B/s\n",
             1.0),
-        ("1\n2\n1024 bytes (1 kB) copied, 1 s, 1 kB/s\n",
+        (b"1\n2\n1024 bytes (1 kB) copied, 1 s, 1 kB/s\n",
             1.0),
-        ("1\n2\n1572864 bytes (1.5 MB) copied, 1.5 s, 1 MB/s\n",
+        (b"1\n2\n1572864 bytes (1.5 MB) copied, 1.5 s, 1 MB/s\n",
             1.5),
-        ("1\n2\n1610612736 bytes (1.5 GB) copied, 1000.5 s, 1.53 MB/s\n",
+        (b"1\n2\n1610612736 bytes (1.5 GB) copied, 1000.5 s, 1.53 MB/s\n",
             1000.5),
-        ("1\n2\n479 bytes (479 B) copied, 5.6832e-05 s, 8.4 MB/s\n",
+        (b"1\n2\n479 bytes (479 B) copied, 5.6832e-05 s, 8.4 MB/s\n",
             5.6832e-05),
-        ("1\n2\n512 bytes (512e-3 MB) copied, 1 s, 512e-3 MB/s\n",
+        (b"1\n2\n512 bytes (512e-3 MB) copied, 1 s, 512e-3 MB/s\n",
             1.0),
-        ("1\n2\n524288 bytes (512e3 B) copied, 1 s, 512e3 B/s\n",
+        (b"1\n2\n524288 bytes (512e3 B) copied, 1 s, 512e3 B/s\n",
             1.0),
-        ("1\n2\n517 bytes (517 B) copied, 0 s, Infinity B/s\n",
+        (b"1\n2\n517 bytes (517 B) copied, 0 s, Infinity B/s\n",
             0.0)
     ])
     def test_success(self, err, seconds):
@@ -281,14 +281,14 @@
         self.assertIn(reason, str(ctx.exception))
 
     @permutations([
-        ("",),
-        ("1\n2\n\n",),
-        ("1\n2\nBAD, 1 s, 1 kB/s\n",),
-        ("1\n2\n1024 bytes (1 kB) copied, 1 s, 1 BAD\n",),
-        ("1\n2\n1024 bytes (1 kB) copied, BAD, 1 kB/s\n",),
-        ("1\n2\n1024 bytes (1 kB) copied, BAD s, 1 kB/s\n",),
-        ("1\n2\n1024 bytes (1 kB) copied, -1- s, 1 kB/s\n",),
-        ("1\n2\n1024 bytes (1 kB) copied, e3- s, 1 kB/s\n",),
+        (b"",),
+        (b"1\n2\n\n",),
+        (b"1\n2\nBAD, 1 s, 1 kB/s\n",),
+        (b"1\n2\n1024 bytes (1 kB) copied, 1 s, 1 BAD\n",),
+        (b"1\n2\n1024 bytes (1 kB) copied, BAD, 1 kB/s\n",),
+        (b"1\n2\n1024 bytes (1 kB) copied, BAD s, 1 kB/s\n",),
+        (b"1\n2\n1024 bytes (1 kB) copied, -1- s, 1 kB/s\n",),
+        (b"1\n2\n1024 bytes (1 kB) copied, e3- s, 1 kB/s\n",),
     ])
     def test_unexpected_output(self, err):
         result = check.CheckResult("/path", 0, err, 0, 0)
@@ -350,6 +350,7 @@
 @contextmanager
 def fake_dd(delay):
     script = "#!/bin/sh\nsleep %.1f\n" % delay
+    script = script.encode('ascii')
     with temporaryPath(data=script) as fake_dd:
         os.chmod(fake_dd, 0o700)
         with MonkeyPatchScope([(constants, "EXT_DD", fake_dd)]):


-- 
To view, visit https://gerrit.ovirt.org/55490
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I41df272678c63a48d51ab17cea0ed424ccda17c8
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer at redhat.com>


More information about the vdsm-patches mailing list