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 subnetpool
|
||||||
from neutron_lib.api.definitions import trunk
|
from neutron_lib.api.definitions import trunk
|
||||||
from neutron_lib.api.definitions import trunk_details
|
from neutron_lib.api.definitions import trunk_details
|
||||||
|
from neutron_lib.api.definitions import vlantransparent
|
||||||
|
|
||||||
|
|
||||||
_ALL_API_DEFINITIONS = {
|
_ALL_API_DEFINITIONS = {
|
||||||
|
@ -118,5 +119,6 @@ _ALL_API_DEFINITIONS = {
|
||||||
subnet_onboard,
|
subnet_onboard,
|
||||||
subnetpool,
|
subnetpool,
|
||||||
trunk,
|
trunk,
|
||||||
trunk_details
|
trunk_details,
|
||||||
|
vlantransparent
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = {}
|
|
@ -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