stable liberty py27 tests fail

Bug #1583637 reported by Stuart McLaren
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glance_store
Invalid
Undecided
Niall Bunting
Liberty
Fix Committed
Undecided
Niall Bunting

Bug Description

If you checkout stable/liberty and run

 $ tox -epy27

You get the following failures

FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_auth_url_variations
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_large_object
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_large_object_zero_size
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_get
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_get_with_http_auth
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_get_with_retry
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add_auth_url_variations
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add_large_object
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add_large_object_zero_size
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add_no_container_and_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_get_with_http_auth
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_get_with_retry
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add_auth_url_variations
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add_large_object
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add_large_object_zero_size
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_get_with_retry
FAIL: glance_store.tests.unit.test_swift_store.TestMultiTenantStoreContext.test_download_context
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_no_container_and_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_no_container_and_multiple_containers_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_add_no_container_and_multiple_containers_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV2.test_get
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add_no_container_and_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_add_no_container_and_multiple_containers_create
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_get
FAIL: glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_get_with_http_auth

Typically with this signature

 Traceback (most recent call last):
  File "glance_store/tests/unit/test_swift_store.py", line 268, in test_get
    (image_swift, image_size) = self.store.get(loc)
  File "glance_store/capabilities.py", line 226, in op_checker
    return store_op_fun(store, *args, **kwargs)
  File "glance_store/_drivers/swift/store.py", line 446, in get
    context=context)
  File "glance_store/_drivers/swift/store.py", line 430, in _get_object
    resp_chunk_size=self.CHUNKSIZE, headers=headers)
  File "/mnt/sam/git/glance_store/.tox/py27/local/lib/python2.7/site-packages/swiftclient/client.py", line 1674, in get_object
    body = _RetryBody(body.resp, self, container, obj,
 AttributeError: StringIO instance has no attribute 'resp'

Revision history for this message
Stuart McLaren (stuart-mclaren) wrote :

As a test I downgraded the swiftclient and the tests passed

          Runtime (s)
------------------------------------------------------------------------------------------------------------ -----------
glance_store.tests.unit.test_s3_store.TestStore.test_add_size_variations 0.368
glance_store.tests.unit.test_backend.TestStoreAddToBackend.test_bad_metadata_not_dict 0.142
glance_store.tests.unit.test_backend.TestStoreAddToBackend.test_bad_nonunicode_dict_list 0.095
glance_store.tests.unit.test_http_store.TestHttpStore.test_http_get_raises_remote_service_unavailable 0.094
glance_store.tests.unit.test_opts.OptsTestCase.test_list_api_opts 0.057
glance_store.tests.unit.test_vmware_store.TestStore.test_unexpected_status 0.049
glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_delete_with_some_segments_failing 0.026
glance_store.tests.unit.test_swift_store.TestStoreAuthV1.test_add_auth_url_variations 0.020
glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_no_auth_address 0.019
glance_store.tests.unit.test_swift_store.TestStoreAuthV3.test_multi_container_doesnt_impact_multi_tenant_add 0.017
_____________________________________________ summary _____________________________________________
  py27: commands succeeded
  congratulations :)

We used to limit the package versions, eg on kilo, in test-requirements we have:

python-swiftclient<2.5.0,>=2.2.0

but on liberty we are not limiting the packages (including swiftclient) in anyway.
This is a problem since swiftclient 3.0 has been released.

Revision history for this message
Ian Cordasco (icordasc) wrote :

Stuart this is something that is now addressed by upper-constraints in the requirements project. I'll bring this up with the global stable team though.

Changed in glance-store:
status: New → Invalid
Revision history for this message
Tony Breeds (o-tony) wrote :

Probably need to backport / cherry-pick https://review.openstack.org/#/c/301344/ to liberty

I've also promised to help Nikhil add constraints support tp glance_store if that's possible.

Revision history for this message
Niall Bunting (niall-bunting) wrote :

Would that not be too much of a version bump for a stable branch? As it changes the version from "glance_store>=0.7.1,!=0.9.0" to "glance_store>=0.13.0". Possibly, not a good idea to do on a stable branch, maybe we should just use the minimum version that is a viable alternative.

Revision history for this message
Niall Bunting (niall-bunting) wrote :
Changed in glance-store:
assignee: nobody → Niall Bunting (niall-bunting)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to glance_store (stable/liberty)

Reviewed: https://review.openstack.org/321447
Committed: https://git.openstack.org/cgit/openstack/glance_store/commit/?id=4cd5332604ae8973db45e519dd5a486e76617073
Submitter: Jenkins
Branch: stable/liberty

commit 4cd5332604ae8973db45e519dd5a486e76617073
Author: Niall Bunting <email address hidden>
Date: Thu May 26 09:59:06 2016 +0000

    Stable liberty py27 tests can fail

    After version 3.0.0 of the swift client, it can cause the glance_store
    tests to fail. This pins the version to before 3.0.0 to avoid this
    problem.

    Change-Id: Ib9a234a14d35951a7fd023078ac6a76736b2999e
    Closes-Bug: 1583637

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/glance_store 0.9.3

This issue was fixed in the openstack/glance_store 0.9.3 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.