Minor improvement of validation rules
We can put in validation message only tags that are missing. Change-Id: Idc6b52c87de0c37bc7f54ab53f5acc2245bde8b4 Closes-bug: 1455410
This commit is contained in:
parent
2c2864a348
commit
f60f22d1a4
@ -395,9 +395,9 @@ def check_required_image_tags(plugin_name, hadoop_version, image_id):
|
||||
image = api.get_image(id=image_id)
|
||||
plugin = plugin_base.PLUGINS.get_plugin(plugin_name)
|
||||
req_tags = set(plugin.get_required_image_tags(hadoop_version))
|
||||
if not req_tags.issubset(set(image.tags)):
|
||||
raise ex.InvalidReferenceException(
|
||||
_("Tags of requested image '%(image)s' don't contain required"
|
||||
" tags ['%(name)s', '%(version)s']")
|
||||
% {'image': image_id, 'name': plugin_name,
|
||||
'version': hadoop_version})
|
||||
req_tags = list(req_tags.difference(set(image.tags)))
|
||||
if req_tags:
|
||||
raise ex.InvalidReferenceException(
|
||||
_("Requested image '%(image)s' doesn't contain required"
|
||||
" tags: %(tags)s")
|
||||
% {'image': image_id, 'tags': req_tags})
|
||||
|
@ -184,7 +184,7 @@ def start_patch(patch_templates=True):
|
||||
if self.name == 'test':
|
||||
return ['vanilla', '1.2.1']
|
||||
else:
|
||||
return ['wrong_tag']
|
||||
return ['vanilla', 'wrong_tag']
|
||||
|
||||
def _get_image(id):
|
||||
if id == '550e8400-e29b-41d4-a716-446655440000':
|
||||
@ -414,7 +414,7 @@ class ValidationTestCase(base.SaharaTestCase):
|
||||
self._assert_create_object_validation(
|
||||
data=data,
|
||||
bad_req_i=(1, 'INVALID_REFERENCE',
|
||||
"Tags of requested image "
|
||||
"Requested image "
|
||||
"'813fe450-40d2-4acc-ade5-ea753a1bd5bc' "
|
||||
"don't contain required tags "
|
||||
"['vanilla', '1.2.1']"))
|
||||
"doesn't contain required tags: "
|
||||
"['1.2.1']"))
|
||||
|
Loading…
Reference in New Issue
Block a user