Description of problem: Openstack nova compute(nova) development (juno) version some cases (under load) sends invalid HTTP request to the Openstack Imaging service (glance). g-api log: 172.16.32.38 - - [02/Aug/2014 07:33:35] code 400, message Bad request syntax ('0') 172.16.32.38 - - [02/Aug/2014 07:33:35] "0" 400 - n-cpu log: 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] Traceback (most recent call last): 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/compute/manager.py", line 357, in decorated_function 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] *args, **kwargs) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/compute/manager.py", line 2843, in snapshot_instance 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] task_states.IMAGE_SNAPSHOT) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/compute/manager.py", line 2874, in _snapshot_instance 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] update_task_state) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/virt/libvirt/driver.py", line 1611, in snapshot 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] image_file) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/image/api.py", line 126, in update 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] purge_props=purge_props) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/image/glance.py", line 403, in update 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] return _translate_from_glance(image_meta) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/image/glance.py", line 486, in _translate_from_glance 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] image_meta = _extract_attributes(image) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/nova/nova/image/glance.py", line 568, in _extract_attributes 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] output[attr] = getattr(image, attr, None) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/python-glanceclient/glanceclient/openstack/common/apiclient/base.py", line 461, in __getattr__ 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] self.get() 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/python-glanceclient/glanceclient/openstack/common/apiclient/base.py", line 479, in get 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] new = self.manager.get(self.id) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/python-glanceclient/glanceclient/v1/images.py", line 126, in get 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] % urlparse.quote(str(image_id))) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/python-glanceclient/glanceclient/common/http.py", line 228, in head 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] return self._request('HEAD', url, **kwargs) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] File "/opt/stack/new/python-glanceclient/glanceclient/common/http.py", line 199, in _request 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] raise exc.from_response(resp, resp.content) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] HTTPBadRequest: HTTPBadRequest (HTTP 400) 2014-08-02 07:33:35.423 14995 TRACE nova.compute.manager [instance: 6928845c-d6f8-41ba-a008-c72643e3e1c6] Version-Release number of selected component (if applicable): python-requests-1.2.3-5.fc20 How reproducible: Not always Steps to Reproduce: Install full openstack with devstack on multicore system and run tome openstack integration test suite (tempest) with tox -efull. Actual results: The test_create_backup and several other image upload/sharpshooting related test frequently fails. Expected results: Please upgrade the python requests to >=2.2.1 in Fedora 20, the issue not happens with 2.2.1 and 2.3.0. 'python-requests-2.3.0-2.fc21.noarch' found in koji and it is working with f20 as well. Additional info: The issue become visible after https://review.openstack.org/#/c/107908/ merged, last change in python-glanceclient https://review.openstack.org/#/c/107080/.
Bumping from requests-1.2 to requests-2.3 is not necessarily a small matter. Many other libraries depend on it and may break if a major version update like this is pushed so late during the release cycle. I've raised the question on the devel list to solicit objection from any other packagers who might be affected: https://lists.fedoraproject.org/pipermail/devel/2014-October/203700.html
The only people who spoke up on the list were against the idea of bumping python-requests in F20. F21 will be out shortly which should have a much more modern version of the library.