Bug 1377282 - libgfapi-python functional test fails on CentOS CI against glusterfs nightly builds
Summary: libgfapi-python functional test fails on CentOS CI against glusterfs nightly ...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: GlusterFS
Classification: Community
Component: libgfapi-python
Version: mainline
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Prashanth Pai
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-19 11:28 UTC by Prashanth Pai
Modified: 2017-01-16 09:54 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-16 09:54:04 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
CentOS 12662 0 None None None 2017-01-16 09:54:04 UTC

Description Prashanth Pai 2016-09-19 11:28:58 UTC
Description of problem:
libgfapi-python functional test fails on CentOS CI against glusterfs nightly builds. On one lucky day (16-Sep-2016) it passed.
https://ci.centos.org/view/Gluster/job/gluster_libgfapi-python/


Version-Release number of selected component (if applicable):
Glusterfs nightly builds


How reproducible:
Only on CentOS CI provisioned machines.
Not reproducible on my local centos7 VMs. 


Steps to Reproduce:
Run run-tests.sh script
https://github.com/gluster/glusterfs-patch-acceptance-tests/blob/master/centos-ci/libgfapi-python/run-test.sh


Actual results:
The tests exist abruptly with segmentation fault. This is almost consistently encountered when running "test_mount_err" functional test. 


Expected results:
All functional tests should pass without any segmentation fault.


Additional info:
The test "test_mount_err" itself is pretty straightforward:
test/functional/libgfapi-python-tests.py

    def test_mount_err(self):
        # Volume does not exist
        fake_volname = str(uuid4().hex)[:10]
        vol = Volume(HOST, fake_volname)
        self.assertRaises(LibgfapiException, vol.mount)
        self.assertFalse(vol.mounted)

        # Invalid host - glfs_set_volfile_server will fail
        fake_hostname = str(uuid4().hex)[:10]
        vol = Volume(fake_hostname, VOLNAME)
        self.assertRaises(LibgfapiException, vol.mount)
        self.assertFalse(vol.mounted)

Comment 1 Nigel Babu 2016-09-23 06:30:39 UTC
It's only the fake_volume bit that actually fails. If I comment that bit out, it passes correctly. It's worth checking if gluster fails with a fake volume. I've submitted a review request to skip this test so that the tests are green.

Comment 2 Prashanth Pai 2017-01-16 05:43:44 UTC
The builds are still failing for reasons other than what was originally reported here. The original issue was likely (as Niels had earlier pointed out) a side-effect of turning on io-threads in client by default. That was fixed in http://review.gluster.org/#/c/15620/

This BZ can be closed once the infra issue is addressed. Here's why the tests aren't being run now:

03:37:22 Cloning into 'libgfapi-python'...
03:42:22 fatal: unable to access 'https://review.gluster.org/libgfapi-python/': Operation timed out after 300021 milliseconds with 0 out of 0 bytes received
03:42:22 Build step 'Execute shell' marked build as failure
03:42:22 Performing Post build task...

Comment 3 Niels de Vos 2017-01-16 09:54:04 UTC
Reported this as a bug in the CentOS CI infrastructure. Please follow https://bugs.centos.org/view.php?id=12662 for progress.


Note You need to log in before you can comment on or make changes to this bug.