[placement] Fix an error message in API validation

Fix the error message in validation of the following API
when the name exceeds max character length(255).

* PUT /traits/{name}

Conflicts:
      nova/tests/functional/api/openstack/placement/gabbits/traits.yaml

NOTE(mriedem): The conflict is due to not having commit
f269023c49 in Pike.

Change-Id: I2bbbadd7842bf4652d3c32ae3e5c74e2e159990b
Closes-Bug: #1735343
(cherry picked from commit e51a14bc93)
This commit is contained in:
Takashi NATSUME 2017-11-30 16:19:42 +09:00
parent 7687dadccf
commit fa36ccefd2
2 changed files with 11 additions and 5 deletions

View File

@ -99,9 +99,9 @@ def put_trait(req):
jsonschema.validate(name, CUSTOM_TRAIT)
except jsonschema.ValidationError:
raise webob.exc.HTTPBadRequest(
_('The trait is invalid. A valid trait must include prefix '
'"CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and '
'"_"'))
_('The trait is invalid. A valid trait must be no longer than '
'255 characters, start with the prefix "CUSTOM_" and use '
'following characters: "A"-"Z", "0"-"9" and "_"'))
trait = objects.Trait(context)
trait.name = name

View File

@ -13,13 +13,19 @@ tests:
PUT: /traits/TRAIT_X
status: 400
response_strings:
- 'The trait is invalid. A valid trait must include prefix "CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and "_"'
- 'The trait is invalid. A valid trait must be no longer than 255 characters, start with the prefix "CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and "_"'
- name: create a trait with invalid characters
PUT: /traits/CUSTOM_ABC:1
status: 400
response_strings:
- 'The trait is invalid. A valid trait must include prefix "CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and "_"'
- 'The trait is invalid. A valid trait must be no longer than 255 characters, start with the prefix "CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and "_"'
- name: create a trait with name exceed max characters
PUT: /traits/CUSTOM_ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNO
status: 400
response_strings:
- 'The trait is invalid. A valid trait must be no longer than 255 characters, start with the prefix "CUSTOM_" and use following characters: "A"-"Z", "0"-"9" and "_"'
- name: create a trait
PUT: /traits/CUSTOM_TRAIT_1