Bug 1374463

Summary: [RH Ceph 2.0Async / 10.2.2-41] pybind fstat and open errors - TypeError: flags must be a string
Product: Red Hat Ceph Storage Reporter: Vasu Kulkarni <vakulkar>
Component: CephFSAssignee: John Spray <john.spray>
Status: CLOSED NOTABUG QA Contact: ceph-qe-bugs <ceph-qe-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.0CC: ceph-eng-bugs, john.spray, kdreyer
Target Milestone: rc   
Target Release: 2.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-06 12:08:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Vasu Kulkarni 2016-09-08 17:48:53 UTC
Description of problem:

pybind tests are failing for fstat and open(for open: TypeError: flags must be a string)


fstat:
2016-09-08T04:04:47.481 INFO:tasks.workunit.client.0.pluto007.stderr:======================================================================
2016-09-08T04:04:47.482 INFO:tasks.workunit.client.0.pluto007.stderr:ERROR: test_cephfs.test_fstat
2016-09-08T04:04:47.483 INFO:tasks.workunit.client.0.pluto007.stderr:----------------------------------------------------------------------
2016-09-08T04:04:47.483 INFO:tasks.workunit.client.0.pluto007.stderr:Traceback (most recent call last):
2016-09-08T04:04:47.484 INFO:tasks.workunit.client.0.pluto007.stderr:  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
2016-09-08T04:04:47.485 INFO:tasks.workunit.client.0.pluto007.stderr:    self.test(*self.arg)
2016-09-08T04:04:47.486 INFO:tasks.workunit.client.0.pluto007.stderr:  File "/home/ubuntu/cephtest/mnt.0/client.0/tmp/test_cephfs.py", line 46, in test_fstat
2016-09-08T04:04:47.487 INFO:tasks.workunit.client.0.pluto007.stderr:    stat = cephfs.fstat(fd)
2016-09-08T04:04:47.488 INFO:tasks.workunit.client.0.pluto007.stderr:AttributeError: 'cephfs.LibCephFS' object has no attribute 'fstat'


open:

2016-09-08T04:04:47.489 INFO:tasks.workunit.client.0.pluto007.stderr:======================================================================
2016-09-08T04:04:47.490 INFO:tasks.workunit.client.0.pluto007.stderr:ERROR: test_cephfs.test_open
2016-09-08T04:04:47.491 INFO:tasks.workunit.client.0.pluto007.stderr:----------------------------------------------------------------------
2016-09-08T04:04:47.492 INFO:tasks.workunit.client.0.pluto007.stderr:Traceback (most recent call last):
2016-09-08T04:04:47.493 INFO:tasks.workunit.client.0.pluto007.stderr:  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
2016-09-08T04:04:47.494 INFO:tasks.workunit.client.0.pluto007.stderr:    self.test(*self.arg)
2016-09-08T04:04:47.495 INFO:tasks.workunit.client.0.pluto007.stderr:  File "/home/ubuntu/cephtest/mnt.0/client.0/tmp/test_cephfs.py", line 132, in test_open
2016-09-08T04:04:47.496 INFO:tasks.workunit.client.0.pluto007.stderr:    fd = cephfs.open('file-1', os.O_RDWR, 0755)
2016-09-08T04:04:47.497 INFO:tasks.workunit.client.0.pluto007.stderr:  File "cephfs.pyx", line 604, in cephfs.LibCephFS.open (cephfs.c:7474)
2016-09-08T04:04:47.497 INFO:tasks.workunit.client.0.pluto007.stderr:  File "cephfs.pyx", line 264, in cephfs.cstr (cephfs.c:1978)
2016-09-08T04:04:47.498 INFO:tasks.workunit.client.0.pluto007.stderr:TypeError: flags must be a string
2016-09-08T04:04:47.499 INFO:tasks.workunit.client.0.pluto007.stderr:


Version-Release number of selected component (if applicable):
10.2.2-41/RHEL 7.2 

How reproducible:
always


Steps to Reproduce:
run libcephfs_python tests


Additional info:

http://magna002.ceph.redhat.com/vasu-2016-09-07_20:36:30-fs-jewel---basic-multi/252164/teuthology.log

Comment 3 John Spray 2016-09-08 17:52:03 UTC
fstat is in master, not in Jewel.

I bet you are running master tests against a stable branch.

Comment 4 Vasu Kulkarni 2016-09-08 17:54:46 UTC
was there an error backporting this to jewel ref?

 wget -O test_cephfs.py 'https://git.ceph.com/?p=ceph.git;a=blob_plain;hb=jewel;f=src/test/pybind/test_cephfs.py'

Comment 5 John Spray 2016-09-08 19:56:29 UTC
Oh, right -- I was looking at an older jewel.

This was all backported, so I would guess you're seeing something that has made it into the jewel ceph-qa-suite revision you're using but not the Red Hat packages you're using?  What upstream commit was the last rebase of the Red Hat packages?

Comment 6 Vasu Kulkarni 2016-09-08 20:27:44 UTC
Ken,

Can you please answer that question from John, Thanks

Comment 8 John Spray 2016-09-21 11:03:44 UTC
Vasu: I need you to check if you were really running appropriate test versions against this version of Ceph (I don't think you need me for that), it seems pretty likely that the issue you're seeing is due to a version mismatch.

Comment 11 John Spray 2017-01-06 12:08:01 UTC
As mentioned above, this appeared to be the result of the wrong test code being used - closing.