Merge "rehome vlantransparent api def"
This commit is contained in:
commit
cd07c7bc09
@ -63,6 +63,7 @@ from neutron_lib.api.definitions import subnet_onboard
|
||||
from neutron_lib.api.definitions import subnetpool
|
||||
from neutron_lib.api.definitions import trunk
|
||||
from neutron_lib.api.definitions import trunk_details
|
||||
from neutron_lib.api.definitions import vlantransparent
|
||||
|
||||
|
||||
_ALL_API_DEFINITIONS = {
|
||||
@ -118,5 +119,6 @@ _ALL_API_DEFINITIONS = {
|
||||
subnet_onboard,
|
||||
subnetpool,
|
||||
trunk,
|
||||
trunk_details
|
||||
trunk_details,
|
||||
vlantransparent
|
||||
}
|
||||
|
60
neutron_lib/api/definitions/vlantransparent.py
Normal file
60
neutron_lib/api/definitions/vlantransparent.py
Normal file
@ -0,0 +1,60 @@
|
||||
# Copyright (c) 2015 Cisco Systems, 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.
|
||||
|
||||
from neutron_lib.api import converters
|
||||
from neutron_lib.api.definitions import network
|
||||
from neutron_lib.api import validators
|
||||
from neutron_lib import constants
|
||||
|
||||
|
||||
VLANTRANSPARENT = 'vlan_transparent'
|
||||
|
||||
|
||||
def get_vlan_transparent(network):
|
||||
"""Get the value of vlan_transparent from a network if set.
|
||||
|
||||
:param network: The network dict to retrieve the value of vlan_transparent
|
||||
from.
|
||||
:returns: The value of vlan_transparent from the network dict if set in
|
||||
the dict, otherwise False is returned.
|
||||
"""
|
||||
return (network[VLANTRANSPARENT]
|
||||
if (VLANTRANSPARENT in network and
|
||||
validators.is_attr_set(network[VLANTRANSPARENT]))
|
||||
else False)
|
||||
|
||||
|
||||
ALIAS = 'vlan-transparent'
|
||||
IS_SHIM_EXTENSION = False
|
||||
IS_STANDARD_ATTR_EXTENSION = False
|
||||
NAME = 'Vlantransparent'
|
||||
API_PREFIX = ''
|
||||
DESCRIPTION = 'Provides Vlan Transparent Networks'
|
||||
UPDATED_TIMESTAMP = '2015-03-23T09:00:00-00:00'
|
||||
RESOURCE_ATTRIBUTE_MAP = {
|
||||
network.COLLECTION_NAME: {
|
||||
VLANTRANSPARENT: {
|
||||
'allow_post': True,
|
||||
'allow_put': False,
|
||||
'convert_to': converters.convert_to_boolean,
|
||||
'default': constants.ATTR_NOT_SPECIFIED,
|
||||
'is_visible': True
|
||||
}
|
||||
}
|
||||
}
|
||||
SUB_RESOURCE_ATTRIBUTE_MAP = {}
|
||||
ACTION_MAP = {}
|
||||
REQUIRED_EXTENSIONS = []
|
||||
OPTIONAL_EXTENSIONS = []
|
||||
ACTION_STATUS = {}
|
21
neutron_lib/exceptions/vlantransparent.py
Normal file
21
neutron_lib/exceptions/vlantransparent.py
Normal file
@ -0,0 +1,21 @@
|
||||
# Copyright (c) 2015 Cisco Systems, 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.
|
||||
|
||||
from neutron_lib._i18n import _
|
||||
from neutron_lib import exceptions
|
||||
|
||||
|
||||
class VlanTransparencyDriverError(exceptions.NeutronException):
|
||||
"""Vlan Transparency not supported by all mechanism drivers."""
|
||||
message = _("Backend does not support VLAN Transparency.")
|
@ -0,0 +1,28 @@
|
||||
# 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_lib.api.definitions import vlantransparent
|
||||
from neutron_lib.tests.unit.api.definitions import base
|
||||
|
||||
|
||||
class VlantransparentDefinitionTestCase(base.DefinitionBaseTestCase):
|
||||
extension_module = vlantransparent
|
||||
extension_resources = ()
|
||||
extension_attributes = (vlantransparent.VLANTRANSPARENT,)
|
||||
|
||||
def test_get_vlan_transparent(self):
|
||||
self.assertTrue(vlantransparent.get_vlan_transparent(
|
||||
{vlantransparent.VLANTRANSPARENT: True, 'vlan': '1'}))
|
||||
|
||||
def test_get_vlan_transparent_not_set(self):
|
||||
self.assertFalse(vlantransparent.get_vlan_transparent(
|
||||
{'vlanxtx': True, 'vlan': '1'}))
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- The ``vlan-transparent`` extension's API definition is now available in
|
||||
``neutron_lib.api.definitions.vlantransparent``.
|
||||
- The ``get_vlan_transparent`` function from the ``vlan-transparent``
|
||||
extension is available in ``neutron_lib.api.definitions.vlantransparent``.
|
Loading…
Reference in New Issue
Block a user