26707bdbe7
We have git to track authorship, so let's not pad source files with it as well. A hacking check has been added for this. The value is N322. Change-Id: Iab0b64d417e0bb41a6b455e2ac377deee64ec3ee
53 lines
2.0 KiB
Python
53 lines
2.0 KiB
Python
# Copyright 2014 Embrane, 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 heleosapi import info as h_info
|
|
|
|
from neutron.common import constants
|
|
from neutron import manager
|
|
from neutron.plugins.embrane.l2base import support_base as base
|
|
from neutron.plugins.embrane.l2base import support_exceptions as exc
|
|
|
|
|
|
class Ml2Support(base.SupportBase):
|
|
"""Modular Layer 2 plugin support.
|
|
|
|
Obtains the information needed to build the user security zones.
|
|
|
|
"""
|
|
|
|
def __init__(self):
|
|
super(Ml2Support, self).__init__()
|
|
|
|
def retrieve_utif_info(self, context, neutron_port):
|
|
plugin = manager.NeutronManager.get_plugin()
|
|
network = plugin.get_network(
|
|
context, neutron_port['network_id'])
|
|
is_gw = (neutron_port["device_owner"] ==
|
|
constants.DEVICE_OWNER_ROUTER_GW)
|
|
network_type = network.get('provider:network_type')
|
|
if network_type != 'vlan':
|
|
raise exc.UtifInfoError(
|
|
err_msg=_("Network type %s not supported. Please be sure "
|
|
"that tenant_network_type is vlan") % network_type)
|
|
result = h_info.UtifInfo(network.get('provider:segmentation_id'),
|
|
network['name'],
|
|
network['id'],
|
|
is_gw,
|
|
network['tenant_id'],
|
|
neutron_port['id'],
|
|
neutron_port['mac_address'])
|
|
return result
|