neutron/neutron/db/standardattrdescription_db.py
Kevin Benton 5dacbba701 Add a description field to all standard resources
In order to give users and operators more flexibility in
annotating the purpose of various Neutron resources, this patch
adds a description field limited to 255 chars to all of the
Neutron resources that reference the standard attribute table.
The resource that reference the table are the following:
security_group_rules, security_groups, ports, subnets,
networks, routers, floatingips, subnetpools

This patch adds a description table related to standard attributes
and migrates over the existing security group description to the new
table as well.

Co-Authored-By: James Dempsey <jamesd@catalyst.net.nz>

APIImpact
DocImpact: Adds a description field to all resources outline in
           commit message.
Closes-Bug: #1483480
Change-Id: I6e1ef53d7aae7d04a5485810cc1db0a8eb125953
2016-03-05 02:29:35 +00:00

36 lines
1.4 KiB
Python

# 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.
from neutron.api.v2 import attributes
from neutron.db import common_db_mixin
from neutron.extensions import l3
from neutron.extensions import securitygroup
class StandardAttrDescriptionMixin(object):
supported_extension_aliases = ['standard-attr-description']
def _extend_standard_attr_description(self, res, db_object):
if not hasattr(db_object, 'description'):
return
res['description'] = db_object.description
for resource in [attributes.NETWORKS, attributes.PORTS,
attributes.SUBNETS, attributes.SUBNETPOOLS,
securitygroup.SECURITYGROUPS,
securitygroup.SECURITYGROUPRULES,
l3.ROUTERS, l3.FLOATINGIPS]:
common_db_mixin.CommonDbMixin.register_dict_extend_funcs(
resource, ['_extend_standard_attr_description'])