api: Add support for new cyborg extra specs

There's currently only one, as noted at [1].

[1] https://specs.openstack.org/openstack/nova-specs/specs/train/approved/nova-cyborg-interaction.html

Change-Id: Ie70a0aef4f6647510750b7e0bdd2f040331b79e8
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2020-03-31 10:44:10 +01:00
parent 58784943f7
commit 1b606da3f1
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,36 @@
# Copyright 2020 Red Hat, Inc. All rights reserved.
#
# 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.
"""Validators for ``accel`` namespaced extra specs."""
from nova.api.validation.extra_specs import base
EXTRA_SPEC_VALIDATORS = [
base.ExtraSpecValidator(
name='accel:device_profile',
description=(
'The name of a device profile to configure for the instance. '
'A device profile may be viewed as a "flavor for devices".'
),
value={
'type': str,
'description': 'A name of a device profile.',
},
),
]
def register():
return EXTRA_SPEC_VALIDATORS

View File

@ -47,6 +47,7 @@ oslo.policy.policies =
# aggregate method.
nova = nova.policies:list_rules
nova.api.extra_spec_validators =
accel = nova.api.validation.extra_specs.accel
aggregate_instance_extra_specs = nova.api.validation.extra_specs.aggregate_instance_extra_specs
capabilities = nova.api.validation.extra_specs.capabilities
hw = nova.api.validation.extra_specs.hw