See <https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/36/> ------------------------------------------ [...truncated 1275 lines...] File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/registry/client.py",> line 89, in do_request action, **kwargs) File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/common/client.py",> line 63, in wrapped return func(self, *args, **kwargs) File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/common/client.py",> line 444, in do_request headers=headers) File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/common/client.py",> line 80, in wrapped return func(self, method, url, body, headers) File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/common/client.py",> line 574, in _do_request raise exception.Invalid(res.read()) Invalid: 400 Bad Request The server could not comply with the request since it is either malformed or otherwise incorrect. Unrecognized changes-since value routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x536ee90>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x536ee90>} glance.api.policy: DEBUG: Loaded policy rules: {u'default': []} glance.common.client: DEBUG: Constructed URL: http://0.0.0.0:9191/images/detail?changes-since=2011-09-05 routes.middleware: DEBUG: Initialized with method overriding = True, and path info altering = True routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x533c250>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x533c250>} iso8601.iso8601: DEBUG: Parsed 2011-09-05 into {'tz_sign': None, 'second_fraction': None, 'hour': None, 'tz_hour': None, 'month': u'09', 'timezone': None, 'second': None, 'tz_minute': None, 'year': u'2011', 'separator': None, 'day': u'05', 'minute': None} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'2011' for 'year' with default None iso8601.iso8601: DEBUG: Got u'09' for 'month' with default None iso8601.iso8601: DEBUG: Got u'05' for 'day' with default None iso8601.iso8601: DEBUG: Got None for 'hour' with default None iso8601.iso8601: DEBUG: Got None for 'minute' with default None iso8601.iso8601: DEBUG: Got None for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list glance.registry.client: DEBUG: Registry request GET /images/detail HTTP 200 request id req-8d6e4dc7-8cb0-4949-94ea-3c91ccd10036 --------------------- >> end captured logging << --------------------- ====================================================================== FAIL: Tests that the /images/detail registry API returns list of ---------------------------------------------------------------------- Traceback (most recent call last): File "<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/glance/tests/unit/v1/test_api.py",> line 1409, in test_get_details_filter_changes_since self.assertEquals(res.status_int, 400) AssertionError: 200 != 400 '200 != 400' = '%s != %s' % (safe_repr(200), safe_repr(400)) '200 != 400' = self._formatMessage('200 != 400', '200 != 400')
raise self.failureException('200 != 400')
-------------------- >> begin captured logging << -------------------- glance.store: DEBUG: Attempting to import store glance.store.filesystem.Store glance.store: DEBUG: Registering store <class 'glance.store.filesystem.Store'> with schemes ('file', 'filesystem') glance.store.base: DEBUG: Late loading location class glance.store.filesystem.StoreLocation glance.store.location: DEBUG: Registering scheme file with {'store_class': <class 'glance.store.filesystem.Store'>, 'location_class': <class 'glance.store.filesystem.StoreLocation'>} glance.store.location: DEBUG: Registering scheme filesystem with {'store_class': <class 'glance.store.filesystem.Store'>, 'location_class': <class 'glance.store.filesystem.StoreLocation'>} glance.store: DEBUG: Attempting to import store glance.store.http.Store glance.store: DEBUG: Registering store <class 'glance.store.http.Store'> with schemes ('http', 'https') glance.store.base: DEBUG: Late loading location class glance.store.http.StoreLocation glance.store.location: DEBUG: Registering scheme http with {'store_class': <class 'glance.store.http.Store'>, 'location_class': <class 'glance.store.http.StoreLocation'>} glance.store.location: DEBUG: Registering scheme https with {'store_class': <class 'glance.store.http.Store'>, 'location_class': <class 'glance.store.http.StoreLocation'>} glance.store: DEBUG: Attempting to import store glance.store.rbd.Store glance.store: DEBUG: Registering store <class 'glance.store.rbd.Store'> with schemes ('rbd',) glance.store.base: DEBUG: Late loading location class glance.store.rbd.StoreLocation glance.store.location: DEBUG: Registering scheme rbd with {'store_class': <class 'glance.store.rbd.Store'>, 'location_class': <class 'glance.store.rbd.StoreLocation'>} glance.store: DEBUG: Attempting to import store glance.store.s3.Store glance.store.s3: ERROR: Could not find s3_store_host in configuration options. glance.store.base: ERROR: Failed to configure store correctly. Disabling add method. glance.store: DEBUG: Registering store <class 'glance.store.s3.Store'> with schemes ('s3', 's3+http', 's3+https') glance.store.base: DEBUG: Late loading location class glance.store.s3.StoreLocation glance.store.location: DEBUG: Registering scheme s3 with {'store_class': <class 'glance.store.s3.Store'>, 'location_class': <class 'glance.store.s3.StoreLocation'>} glance.store.location: DEBUG: Registering scheme s3+http with {'store_class': <class 'glance.store.s3.Store'>, 'location_class': <class 'glance.store.s3.StoreLocation'>} glance.store.location: DEBUG: Registering scheme s3+https with {'store_class': <class 'glance.store.s3.Store'>, 'location_class': <class 'glance.store.s3.StoreLocation'>} glance.store: DEBUG: Attempting to import store glance.store.swift.Store glance.store.swift: ERROR: Could not find swift_store_auth_address in configuration options. glance.store.base: ERROR: Failed to configure store correctly. Disabling add method. glance.store: DEBUG: Registering store <class 'glance.store.swift.Store'> with schemes ('swift+https', 'swift', 'swift+http') glance.store.base: DEBUG: Late loading location class glance.store.swift.StoreLocation glance.store.location: DEBUG: Registering scheme swift+https with {'store_class': <class 'glance.store.swift.Store'>, 'location_class': <class 'glance.store.swift.StoreLocation'>} glance.store.location: DEBUG: Registering scheme swift+http with {'store_class': <class 'glance.store.swift.Store'>, 'location_class': <class 'glance.store.swift.StoreLocation'>} glance.store.location: DEBUG: Registering scheme swift with {'store_class': <class 'glance.store.swift.Store'>, 'location_class': <class 'glance.store.swift.StoreLocation'>} routes.middleware: DEBUG: Initialized with method overriding = True, and path info altering = True routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2013-10-21T06:10:58Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'06', 'tz_hour': None, 'month': u'10', 'timezone': u'Z', 'second': u'58', 'tz_minute': None, 'year': u'2013', 'separator': u'T', 'day': u'21', 'minute': u'10'} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'2013' for 'year' with default None iso8601.iso8601: DEBUG: Got u'10' for 'month' with default None iso8601.iso8601: DEBUG: Got u'21' for 'day' with default None iso8601.iso8601: DEBUG: Got u'06' for 'hour' with default None iso8601.iso8601: DEBUG: Got u'10' for 'minute' with default None iso8601.iso8601: DEBUG: Got u'58' for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2013-10-23T06:10:58Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'06', 'tz_hour': None, 'month': u'10', 'timezone': u'Z', 'second': u'58', 'tz_minute': None, 'year': u'2013', 'separator': u'T', 'day': u'23', 'minute': u'10'} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'2013' for 'year' with default None iso8601.iso8601: DEBUG: Got u'10' for 'month' with default None iso8601.iso8601: DEBUG: Got u'23' for 'day' with default None iso8601.iso8601: DEBUG: Got u'06' for 'hour' with default None iso8601.iso8601: DEBUG: Got u'10' for 'minute' with default None iso8601.iso8601: DEBUG: Got u'58' for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2013-10-24T06:10:58+01:00 into {'tz_sign': u'+', 'second_fraction': None, 'hour': u'06', 'tz_hour': u'01', 'month': u'10', 'timezone': u'+01:00', 'second': u'58', 'tz_minute': u'00', 'year': u'2013', 'separator': u'T', 'day': u'24', 'minute': u'10'} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'01' for 'tz_hour' with default None iso8601.iso8601: DEBUG: Got u'00' for 'tz_minute' with default None iso8601.iso8601: DEBUG: Got u'2013' for 'year' with default None iso8601.iso8601: DEBUG: Got u'10' for 'month' with default None iso8601.iso8601: DEBUG: Got u'24' for 'day' with default None iso8601.iso8601: DEBUG: Got u'06' for 'hour' with default None iso8601.iso8601: DEBUG: Got u'10' for 'minute' with default None iso8601.iso8601: DEBUG: Got u'58' for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2013-10-24T06:10:58-01:00 into {'tz_sign': u'-', 'second_fraction': None, 'hour': u'06', 'tz_hour': u'01', 'month': u'10', 'timezone': u'-01:00', 'second': u'58', 'tz_minute': u'00', 'year': u'2013', 'separator': u'T', 'day': u'24', 'minute': u'10'} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'01' for 'tz_hour' with default None iso8601.iso8601: DEBUG: Got u'00' for 'tz_minute' with default None iso8601.iso8601: DEBUG: Got u'2013' for 'year' with default None iso8601.iso8601: DEBUG: Got u'10' for 'month' with default None iso8601.iso8601: DEBUG: Got u'24' for 'day' with default None iso8601.iso8601: DEBUG: Got u'06' for 'hour' with default None iso8601.iso8601: DEBUG: Got u'10' for 'minute' with default None iso8601.iso8601: DEBUG: Got u'58' for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2013-10-25T06:10:58Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'06', 'tz_hour': None, 'month': u'10', 'timezone': u'Z', 'second': u'58', 'tz_minute': None, 'year': u'2013', 'separator': u'T', 'day': u'25', 'minute': u'10'} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'2013' for 'year' with default None iso8601.iso8601: DEBUG: Got u'10' for 'month' with default None iso8601.iso8601: DEBUG: Got u'25' for 'day' with default None iso8601.iso8601: DEBUG: Got u'06' for 'hour' with default None iso8601.iso8601: DEBUG: Got u'10' for 'minute' with default None iso8601.iso8601: DEBUG: Got u'58' for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Matched GET /images/detail routes.middleware: DEBUG: Route path: '/images/detail', defaults: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} routes.middleware: DEBUG: Match dict: {'action': u'detail', 'controller': <glance.common.wsgi.Resource object at 0x60a9110>} iso8601.iso8601: DEBUG: Parsed 2011-09-05 into {'tz_sign': None, 'second_fraction': None, 'hour': None, 'tz_hour': None, 'month': u'09', 'timezone': None, 'second': None, 'tz_minute': None, 'year': u'2011', 'separator': None, 'day': u'05', 'minute': None} with default timezone <iso8601.iso8601.Utc object at 0x22e2d50> iso8601.iso8601: DEBUG: Got u'2011' for 'year' with default None iso8601.iso8601: DEBUG: Got u'09' for 'month' with default None iso8601.iso8601: DEBUG: Got u'05' for 'day' with default None iso8601.iso8601: DEBUG: Got None for 'hour' with default None iso8601.iso8601: DEBUG: Got None for 'minute' with default None iso8601.iso8601: DEBUG: Got None for 'second' with default None glance.registry.api.v1.images: INFO: Returning detailed image list --------------------- >> end captured logging << --------------------- ---------------------------------------------------------------------- XML: nosetests.xml Slowest 5 tests took 68.47 secs: [31m 14.26 TestGlanceControl.test_bouncing[0m [31m 14.19 TestScrubber.test_delayed_delete[0m [31m 13.82 TestGlanceControl.test_reload[0m [31m 13.57 TestGlanceControl.test_respawn[0m [31m 12.62 TestApi.test_unsupported_default_store[0m ---------------------------------------------------------------------- Ran 932 tests in 533.781s FAILED (SKIP=89, failures=2) ERROR: InvocationError: '<https://jenkins01.openstack.org/job/periodic-glance-python27-stable-folsom/ws/.tox/py27/bin/nosetests'> ___________________________________ summary ____________________________________ ERROR: py27: commands failed + result=1 + echo 'Begin pip freeze output from test virtualenv:' Begin pip freeze output from test virtualenv: + echo ====================================================================== ====================================================================== + .tox/py27/bin/pip freeze Babel==1.3 Jinja2==2.7.1 MarkupSafe==0.18 Paste==1.7.5.1 PasteDeploy==1.5.0 Pygments==1.6 Routes==1.13 SQLAlchemy==0.7.9 Sphinx==1.2b1 Tempita==0.5.1 WebOb==1.0.8 amqp==1.3.0 anyjson==0.3.3 argparse==1.2.1 boto==2.1.1 cffi==0.7.2 colorama==0.2.7 coverage==3.7 decorator==3.4.0 distribute==0.7.3 docutils==0.10 eventlet==0.14.0 glance==jenkins-periodic-glance-python27-stable-folsom-36 greenlet==0.4.1 httplib2==0.8 iso8601==0.1.7 jsonschema==2.2.0 kombu==3.0.0 lxml==3.2.3 mox==0.5.3 nose==1.3.0 nose-exclude==0.1.10 nosehtmloutput==0.0.5 openstack.nose-plugin==0.11 passlib==1.6.1 pep8==1.1 pycparser==2.10 pycrypto==2.6.1 pysendfile==2.0.0 python-swiftclient==1.8.0 pytz==2013.7 repoze.lru==0.6 requests==2.0.0 simplejson==3.3.1 sqlalchemy-migrate==0.7.2 termcolor==1.1.0 wsgiref==0.1.2 xattr==0.7.2 + echo ====================================================================== ====================================================================== + '[' -d .testrepository ']' + sudo /usr/local/jenkins/slave_scripts/jenkins-sudo-grep.sh post + sudoresult=0 + '[' 0 -ne 0 ']' + /usr/local/jenkins/slave_scripts/jenkins-oom-grep.sh post + oomresult=0 + '[' 0 -ne 0 ']' ++ find . -name nose_results.html + htmlreport=./nose_results.html + '[' -f ./nose_results.html ']' ++ grep -c 'tr class=.passClass' ./nose_results.html + passcount=95 + '[' 95 -eq 0 ']' + exit 1 + rm -rf /tmp/tmp.vZ0LxTT7xD Build step 'Execute shell' marked build as failure [SCP] Connecting to static.openstack.org [SCP] uploading file: '/srv/static/logs/periodic/periodic-glance-python27-stable-folsom/36/nose_results.html' [SCP] Connecting to static.openstack.org [SCP] Trying to create /srv/static/logs/periodic/periodic-glance-python27-stable-folsom/precise1/36 [SCP] Copying console log.