Failing tests for storage-py27.

Hi, I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something. This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue: ================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________ self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok> def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390> def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" % stats)
E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')") ../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>] ============================================ 93 tests deselected ============================================= ====================== 1 failed, 1166 passed, 6 skipped, 93 deselected in 86.13 seconds ====================== ERROR: InvocationError: '/vagrant/vdsm/.tox/storage-py27/bin/py.test -m not (slow or stress) storage' storage-py35 create: /vagrant/vdsm/.tox/storage-py35 ERROR: InterpreterNotFound: python3.5 storage-py36 create: /vagrant/vdsm/.tox/storage-py36 ERROR: InterpreterNotFound: python3.6 Thank You, Petr

On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" % stats)
E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>] ============================================ 93 tests deselected ============================================= ====================== 1 failed, 1166 passed, 6 skipped, 93 deselected in 86.13 seconds ====================== ERROR: InvocationError: '/vagrant/vdsm/.tox/storage-py27/bin/py.test -m not (slow or stress) storage' storage-py35 create: /vagrant/vdsm/.tox/storage-py35 ERROR: InterpreterNotFound: python3.5 storage-py36 create: /vagrant/vdsm/.tox/storage-py36 ERROR: InterpreterNotFound: python3.6
Hi Petr, Can you reproduce this error? on which system? Nir

On Mon, Jul 31, 2017 at 8:09 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" % stats)
E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>]
This is the issue - your dd uses "," as decimal point: 0,000496228 We expect: 0.000496228 Can you share the output of "locale"? on the machine? Here I get: $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= Maybe we don't configure the test environment properly? Dan, do you have any insite on this? Nir

Pter, should be fixed by https://gerrit.ovirt.org/80027 Can you test and report if it works for you? On Mon, Jul 31, 2017 at 8:24 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 8:09 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" % stats)
E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>]
This is the issue - your dd uses "," as decimal point: 0,000496228 We expect: 0.000496228
Can you share the output of "locale"? on the machine?
Here I get:
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Maybe we don't configure the test environment properly?
Dan, do you have any insite on this?
Nir

Thanks Nir, I am working on it right now, will post result. Petr On Mon, Jul 31, 2017 at 7:35 PM, Nir Soffer <nsoffer@redhat.com> wrote:
Pter, should be fixed by https://gerrit.ovirt.org/80027
Can you test and report if it works for you?
On Mon, Jul 31, 2017 at 8:24 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 8:09 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" %
stats) E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>]
This is the issue - your dd uses "," as decimal point: 0,000496228 We expect: 0.000496228
Can you share the output of "locale"? on the machine?
Here I get:
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Maybe we don't configure the test environment properly?
Dan, do you have any insite on this?
Nir

The patch works as promised. The issue is now gone. Thanks, Petr On Tue, Aug 1, 2017 at 9:12 AM, Petr Kotas <pkotas@redhat.com> wrote:
Thanks Nir,
I am working on it right now, will post result.
Petr
On Mon, Jul 31, 2017 at 7:35 PM, Nir Soffer <nsoffer@redhat.com> wrote:
Pter, should be fixed by https://gerrit.ovirt.org/80027
Can you test and report if it works for you?
On Mon, Jul 31, 2017 at 8:24 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 8:09 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0]
delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path,
"no match: %r" %
stats) E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>]
This is the issue - your dd uses "," as decimal point: 0,000496228 We expect: 0.000496228
Can you share the output of "locale"? on the machine?
Here I get:
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Maybe we don't configure the test environment properly?
Dan, do you have any insite on this?
Nir

Great, thanks! בתאריך יום ג׳, 1 באוג׳ 2017, 11:03, מאת Petr Kotas <pkotas@redhat.com>:
The patch works as promised. The issue is now gone.
Thanks, Petr
On Tue, Aug 1, 2017 at 9:12 AM, Petr Kotas <pkotas@redhat.com> wrote:
Thanks Nir,
I am working on it right now, will post result.
Petr
On Mon, Jul 31, 2017 at 7:35 PM, Nir Soffer <nsoffer@redhat.com> wrote:
Pter, should be fixed by https://gerrit.ovirt.org/80027
Can you test and report if it works for you?
On Mon, Jul 31, 2017 at 8:24 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 8:09 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Mon, Jul 31, 2017 at 5:52 PM Petr Kotas <pkotas@redhat.com> wrote:
Hi,
I have encountered an issue with VDSM master when running tests. Maybe I am doing something wrong, or I am overlooking something.
This is a clear master without any modification pulled with the latest commits. Did anyone please encountered the same issue:
================================================== FAILURES ================================================== ______________________________________ TestDirectioChecker.test_path_ok ______________________________________
self = <storage.check_test.TestDirectioChecker testMethod=test_path_ok>
def test_path_ok(self): self.checks = 1 with temporaryPath(data=b"blah") as path: checker = check.DirectioChecker(self.loop, path, self.complete) checker.start() self.loop.run_forever() pprint.pprint(self.results) result = self.results[0] > delay = result.delay()
storage/check_test.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 ... copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>
def delay(self): # TODO: Raising MiscFileReadException for all errors to keep the old # behavior. Should probably use StorageDomainAccessError. if self.rc != 0: raise exception.MiscFileReadException(self.path, self.rc, self.err) if not self.err: raise exception.MiscFileReadException(self.path, "no stats") stats = self.err.splitlines()[-1] match = self._PATTERN.match(stats) if not match: raise exception.MiscFileReadException(self.path, > "no match: %r" % stats) E MiscFileReadException: Internal file read failure: ('/var/tmp/tmpPpV1Rj', "no match: bytearray(b'4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s')")
../lib/vdsm/storage/check.py:372: MiscFileReadException -------------------------------------------- Captured stdout call -------------------------------------------- [<CheckResult path=/var/tmp/tmpPpV1Rj rc=0 err=bytearray(b'0+1 records in\n0+1 records out\n4 bytes (4 B) copied, 0,000496228 s, 8,1 kB/s\n') time=4299448.73 elapsed=0.00 at 0x3b72390>]
This is the issue - your dd uses "," as decimal point: 0,000496228 We expect: 0.000496228
Can you share the output of "locale"? on the machine?
Here I get:
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Maybe we don't configure the test environment properly?
Dan, do you have any insite on this?
Nir
participants (2)
-
Nir Soffer
-
Petr Kotas