venv run-test: commands[0] | tempest verify-config -uro /tmp/tmp.ycOSrIfXhB
/opt/stack/tempest/tempest/lib/services/clients.py:211: DeprecationWarning: Class 'tempest.lib.services.volume.v2.extensions_client.ExtensionsClient' has moved to 'tempest.lib.services.volume.v3.extensions_client.ExtensionsClient' in version 'Rocky' and will be removed in a future version
_client = klass(auth_provider=auth_provider, **kwargs)
Traceback (most recent call last):
File "/opt/stack/tempest/tempest/cmd/verify_tempest_config.py", line 490, in take_action
main(parsed_args)
File "/opt/stack/tempest/tempest/cmd/verify_tempest_config.py", line 462, in main
results = verify_extensions(os, service, results)
File "/opt/stack/tempest/tempest/cmd/verify_tempest_config.py", line 262, in verify_extensions
resp = extensions_client.list_extensions()
File "/opt/stack/tempest/tempest/lib/services/compute/extensions_client.py", line 29, in list_extensions
self.validate_response(schema.list_extensions, resp, body)
File "/opt/stack/tempest/tempest/lib/common/rest_client.py", line 976, in validate_response
format_checker=FORMAT_CHECKER)
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 965, in validate
error = exceptions.best_match(validator.iter_errors(instance))
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/exceptions.py", line 354, in best_match
best = next(errors, None)
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 224, in iter_errors
for error in errors:
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/_validators.py", line 333, in properties
schema_path=property,
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 240, in descend
for error in self.evolve(schema=schema).iter_errors(instance):
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 224, in iter_errors
for error in errors:
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/_legacy_validators.py", line 94, in items_draft3_draft4
yield from validator.descend(item, items, path=index)
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 240, in descend
for error in self.evolve(schema=schema).iter_errors(instance):
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 224, in iter_errors
for error in errors:
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/_validators.py", line 333, in properties
schema_path=property,
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 240, in descend
for error in self.evolve(schema=schema).iter_errors(instance):
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/validators.py", line 224, in iter_errors
for error in errors:
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/_validators.py", line 238, in format
validator.format_checker.check(instance, format)
File "/opt/stack/tempest/.tox/venv/lib/python3.6/site-packages/jsonschema/_format.py", line 97, in check
result = func(instance)
File "/opt/stack/tempest/tempest/lib/common/jsonschema_validator.py", line 35, in _validate_datetime_format
if isinstance(instance, jsonschema.compat.str_types):
AttributeError: module 'jsonschema' has no attribute 'compat'
Tempest uses a non public interface (compat.py):
https://github.com/Julian/jsonschema/blob/v3.2.0/jsonschema/compat.py
which got removed and therefore it's failing.
In the year when it was added - https://opendev.org/openstack/tempest/commit/f9ded3536646bb3998325f3417ef4ed588e05b7d
the interface wasn't marked as non public back then - that got changed in 2018 - https://github.com/Julian/jsonschema/commit/3c9b61c4ef302cf3463f8d82b7976be7e3400147#diff-0b60cfc7f89b490c3e18c14d830f4619c1f75ae9876b92cae8065b9c8a8004f5
It seems that the compat.py module was just for py2/3 compatibility.
This matches what I see in recent tempest job failures in neutron stable/stein: /zuul.opendev. org/t/openstack /build/ 5b5c49d55c4740d 9af2bc64e72927f dc /zuul.opendev. org/t/openstack /build/ 4badace1f2bd474 49eb2b09b5bfe53 db
https:/
And similarly in grenade in stable/train:
https:/
Interestingly, newer branches (and especially master) recent patches do not seem to have the issue, validator not being called?