2b8e492ca9
Enhances provider extension to support flat networks and VLANs on multiple physical networks. Implements blueprint provider-networks. To create a flat network using the CLI with admin rights: net-create --tenant_id <tenant-id> <net-name> --provider:network_type flat --provider:physical_network <physical-network> To create a VLAN network using the CLI with admin rights: net-create --tenant_id <tenant-id> <net-name> --provider:network_type vlan --provider:physical_network <physical-network> --provider:vlan_id <vlan-id> The provider extension is supported by the linuxbridge and openvswitch plugins and their agents [openvswitch phase 2 implementation is in-progress, and does not yet support flat networks or multiple interfaces]. Ranges of VLANs available on named physical networks for normal allocation are specified in the plugin's config file via the ListOpt syntax: network_vlan_ranges = <physical_network>:<vlan_min>:<vlan_max> The mapping of each named physical network to its physical network interface is specified (per-agent-host) in the agent's config file via the ListOpt syntax: physical_interface_mappings = <physical_network>:<physical_interface> See quantum/plugins/linuxbridge/README for details and examples of network_vlan_ranges and physical_interface_mappings usage. Also, bulk operations are enabled for the linuxbridge plugin. Change-Id: I93402bd5cc6316e9408ea71c3b3989d06898ee30
56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
#
|
|
# Copyright 2012 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.
|
|
#
|
|
# @author: Sumit Naiksatam, Cisco Systems, Inc.
|
|
# @author: Rohit Agarwalla, Cisco Systems, Inc.
|
|
|
|
from quantum.openstack.common import cfg
|
|
|
|
DEFAULT_VLAN_RANGES = ['default:1000:2999']
|
|
DEFAULT_INTERFACE_MAPPINGS = ['default:eth1']
|
|
|
|
|
|
vlan_opts = [
|
|
cfg.ListOpt('network_vlan_ranges',
|
|
default=DEFAULT_VLAN_RANGES,
|
|
help="List of <physical_network>:<vlan_min>:<vlan_max> "
|
|
"or <physical_network>"),
|
|
]
|
|
|
|
database_opts = [
|
|
cfg.StrOpt('sql_connection', default='sqlite://'),
|
|
cfg.IntOpt('sql_max_retries', default=-1),
|
|
cfg.IntOpt('reconnect_interval', default=2),
|
|
]
|
|
|
|
bridge_opts = [
|
|
cfg.ListOpt('physical_interface_mappings',
|
|
default=DEFAULT_INTERFACE_MAPPINGS,
|
|
help="List of <physical_network>:<physical_interface>"),
|
|
]
|
|
|
|
agent_opts = [
|
|
cfg.IntOpt('polling_interval', default=2),
|
|
cfg.StrOpt('root_helper', default='sudo'),
|
|
cfg.BoolOpt('rpc', default=True),
|
|
]
|
|
|
|
|
|
cfg.CONF.register_opts(vlan_opts, "VLANS")
|
|
cfg.CONF.register_opts(database_opts, "DATABASE")
|
|
cfg.CONF.register_opts(bridge_opts, "LINUX_BRIDGE")
|
|
cfg.CONF.register_opts(agent_opts, "AGENT")
|