tempest.api.image.v1.test_images.ListImagesTest fails in setup with BadRequest - The HTTP URL is invalid

Bug #1328738 reported by Matt Riedemann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glance
Invalid
Critical
Unassigned
tempest
Fix Released
Critical
Matthew Treinish

Bug Description

There are actually two tests that fail here with 400 responses when creating remote images:

http://logs.openstack.org/07/99207/1/check/check-tempest-dsvm-full/83638c5/console.html

The fingerprint in log stash is based on this one:

2014-06-10 21:41:36.725 | {2} setUpClass (tempest.api.image.v1.test_images.ListImagesTest) [0.000000s] ... FAILED
2014-06-10 21:41:36.725 |
2014-06-10 21:41:36.725 | Captured traceback:
2014-06-10 21:41:36.726 | ~~~~~~~~~~~~~~~~~~~
2014-06-10 21:41:36.726 | Traceback (most recent call last):
2014-06-10 21:41:36.726 | File "tempest/test.py", line 76, in decorator
2014-06-10 21:41:36.727 | f(cls)
2014-06-10 21:41:36.727 | File "tempest/api/image/v1/test_images.py", line 117, in setUpClass
2014-06-10 21:41:36.727 | img1 = cls._create_remote_image('one', 'bare', 'raw')
2014-06-10 21:41:36.728 | File "tempest/api/image/v1/test_images.py", line 151, in _create_remote_image
2014-06-10 21:41:36.728 | location=location)
2014-06-10 21:41:36.728 | File "tempest/api/image/base.py", line 74, in create_image
2014-06-10 21:41:36.729 | disk_format, **kwargs)
2014-06-10 21:41:36.729 | File "tempest/services/image/v1/json/image_client.py", line 155, in create_image
2014-06-10 21:41:36.729 | resp, body = self.post('v1/images', None, headers)
2014-06-10 21:41:36.730 | File "tempest/common/rest_client.py", line 209, in post
2014-06-10 21:41:36.730 | return self.request('POST', url, extra_headers, headers, body)
2014-06-10 21:41:36.730 | File "tempest/common/rest_client.py", line 419, in request
2014-06-10 21:41:36.731 | resp, resp_body)
2014-06-10 21:41:36.731 | File "tempest/common/rest_client.py", line 468, in _error_checker
2014-06-10 21:41:36.731 | raise exceptions.BadRequest(resp_body)
2014-06-10 21:41:36.732 | BadRequest: Bad request
2014-06-10 21:41:36.732 | Details: Bad request
2014-06-10 21:41:36.732 | Details: 400 Bad Request
2014-06-10 21:41:36.733 |
2014-06-10 21:41:36.733 | The HTTP URL is invalid.

http://logstash.openstack.org/#eyJzZWFyY2giOiJtZXNzYWdlOlwiX2NyZWF0ZV9yZW1vdGVfaW1hZ2VcIiBBTkQgbWVzc2FnZTpcIkJhZFJlcXVlc3RcIiBBTkQgdGFnczpcInRlbXBlc3QudHh0XCIiLCJmaWVsZHMiOltdLCJvZmZzZXQiOjAsInRpbWVmcmFtZSI6IjYwNDgwMCIsImdyYXBobW9kZSI6ImNvdW50IiwidGltZSI6eyJ1c2VyX2ludGVydmFsIjowfSwic3RhbXAiOjE0MDI0NTAyNjA5NTAsIm1vZGUiOiIiLCJhbmFseXplX2ZpZWxkIjoiIn0=

I checked the glance-api log and see 4 hits of "The HTTP URL is invalid" but those are DEBUG level logs so we can't fingerprint them with log stash (only indexes INFO level and higher).

I checked logstash for "The HTTP URL is invalid" and that also shows up in unit test runs for glance, but it also shows up in successful job runs so is not a reliable fingerprint.

Revision history for this message
Matt Riedemann (mriedem) wrote :

If you go back to 6/2 this shows up in the gate queue also.

Revision history for this message
Matt Riedemann (mriedem) wrote :
Sean Dague (sdague)
Changed in glance:
status: New → Confirmed
importance: Undecided → Critical
Changed in glance:
status: Confirmed → Invalid
Changed in tempest:
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Matthew Treinish (treinish)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tempest (master)

Reviewed: https://review.openstack.org/101345
Committed: https://git.openstack.org/cgit/openstack/tempest/commit/?id=e81ae6986caccc960e5eaaeebbf1ebaa202562d2
Submitter: Jenkins
Branch: master

commit e81ae6986caccc960e5eaaeebbf1ebaa202562d2
Author: Matthew Treinish <email address hidden>
Date: Thu Jun 19 17:41:31 2014 -0400

    Use the http image location conf option for api tests

    This commit changes the api tests in test_images to use the http
    image location from the config file instead of the hardcoded
    example.com url. The example.com url would work in the case where
    glance attempting to connect to the url using socket, does not raise
    a socket error. However, this is dependent on the DNS configuration
    of the host glance is running on because if example.com isn't
    reachable glance will return a 400 because it can't get the image
    size. This fixes the issue by using the location specified in config
    which should be a valid location.

    Closes-Bug: #1328738

    Change-Id: I7cba95bd5f1462c33492869336ce9523a1545a07

Changed in tempest:
status: In Progress → Fix Released
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.