Update allocations, reshaper and usage APIs to accept and present consumer_type in microversion 1.38. ensure_consumer in placement/handlers/util.py is updated to be consumer type aware. allocation, usage and reshaper schema and handlers are updated gabbits/consumer-types-1.38.yaml adds tests across the various URIs A TODO is left in placement/handlers/allocation.py where the database is being accessed in a way that is not ideal. This will be cleared up in a followup patch (to add use of an AttributeCache). Co-Authored-By: Surya Seetharaman <suryaseetharaman.9@gmail.com> Co-Authored-By: melanie witt <melwittt@gmail.com> Story: 2005473 Task: 36421 Change-Id: I24c2315093e07dbf25c4fb53152e6a4de7477a51
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
"""Placement API schemas for usage information."""
|
|
|
|
import copy
|
|
|
|
from placement.schemas import common
|
|
|
|
|
|
# Represents the allowed query string parameters to GET /usages
|
|
GET_USAGES_SCHEMA_1_9 = {
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 255,
|
|
},
|
|
"user_id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 255,
|
|
},
|
|
},
|
|
"required": [
|
|
"project_id"
|
|
],
|
|
"additionalProperties": False,
|
|
}
|
|
|
|
|
|
# An optional consumer type was added to the usage dicts in this
|
|
# version of GET /usages.
|
|
|
|
GET_USAGES_SCHEMA_V1_38 = copy.deepcopy(GET_USAGES_SCHEMA_1_9)
|
|
GET_USAGES_SCHEMA_V1_38['properties']['consumer_type'] = {
|
|
"type": "string",
|
|
"pattern": common.CONSUMER_TYPE_GET_PATTERN,
|
|
"minLength": 1,
|
|
"maxLength": 255,
|
|
}
|