Add check for invalid allocation amounts

This patch adds a check for the amounts in allocations passed to the
placement API, and returns an error if any amount is not greater than
zero.

Partial-Bug: #1673227

Change-Id: I2a8dc038d6489e82ad51fdc27d22cf0ab2d66322
(cherry picked from commit 6a6d021f81)
This commit is contained in:
EdLeafe 2017-01-04 22:09:15 +00:00 committed by Elod Illes
parent a0b74ff12a
commit 43ae6df96b
2 changed files with 30 additions and 1 deletions

View File

@ -51,7 +51,8 @@ ALLOCATION_SCHEMA = {
"type": "object",
"patternProperties": {
"^[0-9A-Z_]+$": {
"type": "integer"
"type": "integer",
"minimum": 1,
}
},
"additionalProperties": False

View File

@ -93,6 +93,34 @@ tests:
max_unit: 1024
status: 201
- name: put an allocation with zero usage
PUT: /allocations/599ffd2d-526a-4b2e-8683-f13ad25f9958
request_headers:
content-type: application/json
data:
allocations:
- resource_provider:
uuid: $ENVIRON['RP_UUID']
resources:
DISK_GB: 0
status: 400
response_strings:
- "JSON does not validate: 0 is less than the minimum of 1"
- Failed validating 'minimum' in schema
- name: put an allocation with omitted usage
PUT: /allocations/599ffd2d-526a-4b2e-8683-f13ad25f9958
request_headers:
content-type: application/json
data:
allocations:
- resource_provider:
uuid: $ENVIRON['RP_UUID']
status: 400
response_strings:
- Failed validating 'required' in schema
- name: put an allocation
PUT: /allocations/599ffd2d-526a-4b2e-8683-f13ad25f9958
request_headers: