Revert dependency on oslo.config 1.2.0
Fixes bug #1185174 This reverts commit b8b2c4e, 2f13345, 362bd7f, 8da2fb7 and 956b873. We don't yet have the infrastructure in place to use latest oslo.config in the gate or even get the correct metadata for it in our packaging. The gory details are here: http://lists.openstack.org/pipermail/openstack-dev/2013-May/009586.html Change-Id: Idf89ca418df158e6f94279c9c5fa44f23073a9d7
This commit is contained in:
parent
915cbf92d2
commit
5ff72abb7f
@ -263,7 +263,7 @@ notification_topics = notifications
|
|||||||
#ssl_ca_file = /path/to/cafile
|
#ssl_ca_file = /path/to/cafile
|
||||||
# ======== end of WSGI parameters related to the API server ==========
|
# ======== end of WSGI parameters related to the API server ==========
|
||||||
|
|
||||||
[quotas]
|
[QUOTAS]
|
||||||
# resource name(s) that are supported in quota features
|
# resource name(s) that are supported in quota features
|
||||||
# quota_items = network,subnet,port
|
# quota_items = network,subnet,port
|
||||||
|
|
||||||
@ -288,7 +288,7 @@ notification_topics = notifications
|
|||||||
# default driver to use for quota checks
|
# default driver to use for quota checks
|
||||||
# quota_driver = quantum.quota.ConfDriver
|
# quota_driver = quantum.quota.ConfDriver
|
||||||
|
|
||||||
[default_servicetype]
|
[DEFAULT_SERVICETYPE]
|
||||||
# Description of the default service type (optional)
|
# Description of the default service type (optional)
|
||||||
# description = "default service type"
|
# description = "default service type"
|
||||||
# Enter a service definition line for each advanced service provided
|
# Enter a service definition line for each advanced service provided
|
||||||
|
@ -23,7 +23,7 @@ reconnect_interval = 2
|
|||||||
# Timeout in seconds before idle sql connections are reaped
|
# Timeout in seconds before idle sql connections are reaped
|
||||||
# sql_idle_timeout = 3600
|
# sql_idle_timeout = 3600
|
||||||
|
|
||||||
[ovs]
|
[OVS]
|
||||||
# Do not change this parameter unless you have a good reason to.
|
# Do not change this parameter unless you have a good reason to.
|
||||||
# This is the name of the OVS integration bridge. There is one per hypervisor.
|
# This is the name of the OVS integration bridge. There is one per hypervisor.
|
||||||
# The integration bridge acts as a virtual "patch port". All VM VIFs are
|
# The integration bridge acts as a virtual "patch port". All VM VIFs are
|
||||||
|
@ -91,7 +91,7 @@ sql_connection = sqlite://
|
|||||||
# sql_idle_timeout = 3600
|
# sql_idle_timeout = 3600
|
||||||
|
|
||||||
|
|
||||||
[quotas]
|
[QUOTAS]
|
||||||
# number of network gateways allowed per tenant, -1 means unlimited
|
# number of network gateways allowed per tenant, -1 means unlimited
|
||||||
# quota_network_gateway = 5
|
# quota_network_gateway = 5
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ reconnect_interval = 2
|
|||||||
# Timeout in seconds before idle sql connections are reaped
|
# Timeout in seconds before idle sql connections are reaped
|
||||||
# sql_idle_timeout = 3600
|
# sql_idle_timeout = 3600
|
||||||
|
|
||||||
[ovs]
|
[OVS]
|
||||||
# (StrOpt) Type of network to allocate for tenant networks. The
|
# (StrOpt) Type of network to allocate for tenant networks. The
|
||||||
# default value 'local' is useful only for single-box testing and
|
# default value 'local' is useful only for single-box testing and
|
||||||
# provides no connectivity between hosts. You MUST either change this
|
# provides no connectivity between hosts. You MUST either change this
|
||||||
@ -108,7 +108,7 @@ polling_interval = 2
|
|||||||
# 1. With VLANs on eth1.
|
# 1. With VLANs on eth1.
|
||||||
# [DATABASE]
|
# [DATABASE]
|
||||||
# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
|
# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
|
||||||
# [ovs]
|
# [OVS]
|
||||||
# network_vlan_ranges = default:2000:3999
|
# network_vlan_ranges = default:2000:3999
|
||||||
# tunnel_id_ranges =
|
# tunnel_id_ranges =
|
||||||
# integration_bridge = br-int
|
# integration_bridge = br-int
|
||||||
@ -119,7 +119,7 @@ polling_interval = 2
|
|||||||
# 2. With tunneling.
|
# 2. With tunneling.
|
||||||
# [DATABASE]
|
# [DATABASE]
|
||||||
# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
|
# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
|
||||||
# [ovs]
|
# [OVS]
|
||||||
# network_vlan_ranges =
|
# network_vlan_ranges =
|
||||||
# tunnel_id_ranges = 1:1000
|
# tunnel_id_ranges = 1:1000
|
||||||
# integration_bridge = br-int
|
# integration_bridge = br-int
|
||||||
|
@ -13,7 +13,7 @@ sql_connection = sqlite://
|
|||||||
# Timeout in seconds before idle sql connections are reaped
|
# Timeout in seconds before idle sql connections are reaped
|
||||||
# sql_idle_timeout = 3600
|
# sql_idle_timeout = 3600
|
||||||
|
|
||||||
[ovs]
|
[OVS]
|
||||||
integration_bridge = br-int
|
integration_bridge = br-int
|
||||||
|
|
||||||
# openflow_rest_api = <host IP address of ofp rest api service>:<port: 8080>
|
# openflow_rest_api = <host IP address of ofp rest api service>:<port: 8080>
|
||||||
|
@ -91,7 +91,7 @@ def build_options():
|
|||||||
|
|
||||||
|
|
||||||
def is_db_quota_enabled():
|
def is_db_quota_enabled():
|
||||||
return quantum_config.quotas.quota_driver == DATABASE_QUOTA_DRIVER
|
return quantum_config.QUOTAS.quota_driver == DATABASE_QUOTA_DRIVER
|
||||||
|
|
||||||
|
|
||||||
if context.is_offline_mode():
|
if context.is_offline_mode():
|
||||||
|
@ -45,7 +45,7 @@ _db_opts = [
|
|||||||
CONF = cfg.ConfigOpts()
|
CONF = cfg.ConfigOpts()
|
||||||
CONF.register_opts(_core_opts)
|
CONF.register_opts(_core_opts)
|
||||||
CONF.register_opts(_db_opts, 'DATABASE')
|
CONF.register_opts(_db_opts, 'DATABASE')
|
||||||
CONF.register_opts(_quota_opts, 'quotas')
|
CONF.register_opts(_quota_opts, 'QUOTAS')
|
||||||
|
|
||||||
|
|
||||||
def do_alembic_command(config, cmd, *args, **kwargs):
|
def do_alembic_command(config, cmd, *args, **kwargs):
|
||||||
|
@ -43,13 +43,13 @@ default_servicetype_opts = [
|
|||||||
'using the format: <service>:<plugin>[:<driver>]'))
|
'using the format: <service>:<plugin>[:<driver>]'))
|
||||||
]
|
]
|
||||||
|
|
||||||
cfg.CONF.register_opts(default_servicetype_opts, 'default_servicetype')
|
cfg.CONF.register_opts(default_servicetype_opts, 'DEFAULT_SERVICETYPE')
|
||||||
|
|
||||||
|
|
||||||
def parse_service_definition_opt():
|
def parse_service_definition_opt():
|
||||||
"""Parse service definition opts and returns result."""
|
"""Parse service definition opts and returns result."""
|
||||||
results = []
|
results = []
|
||||||
svc_def_opt = cfg.CONF.default_servicetype.service_definition
|
svc_def_opt = cfg.CONF.DEFAULT_SERVICETYPE.service_definition
|
||||||
try:
|
try:
|
||||||
for svc_def_str in svc_def_opt:
|
for svc_def_str in svc_def_opt:
|
||||||
split = svc_def_str.split(':')
|
split = svc_def_str.split(':')
|
||||||
@ -72,7 +72,7 @@ def parse_service_definition_opt():
|
|||||||
class NoDefaultServiceDefinition(q_exc.QuantumException):
|
class NoDefaultServiceDefinition(q_exc.QuantumException):
|
||||||
message = _("No default service definition in configuration file. "
|
message = _("No default service definition in configuration file. "
|
||||||
"Please add service definitions using the service_definition "
|
"Please add service definitions using the service_definition "
|
||||||
"variable in the [default_servicetype] section")
|
"variable in the [DEFAULT_SERVICETYPE] section")
|
||||||
|
|
||||||
|
|
||||||
class ServiceTypeNotFound(q_exc.NotFound):
|
class ServiceTypeNotFound(q_exc.NotFound):
|
||||||
@ -129,12 +129,12 @@ class ServiceTypeManager(object):
|
|||||||
self._initialize_db()
|
self._initialize_db()
|
||||||
ctx = context.get_admin_context()
|
ctx = context.get_admin_context()
|
||||||
# Init default service type from configuration file
|
# Init default service type from configuration file
|
||||||
svc_defs = cfg.CONF.default_servicetype.service_definition
|
svc_defs = cfg.CONF.DEFAULT_SERVICETYPE.service_definition
|
||||||
if not svc_defs:
|
if not svc_defs:
|
||||||
raise NoDefaultServiceDefinition()
|
raise NoDefaultServiceDefinition()
|
||||||
def_service_type = {'name': DEFAULT_SVCTYPE_NAME,
|
def_service_type = {'name': DEFAULT_SVCTYPE_NAME,
|
||||||
'description':
|
'description':
|
||||||
cfg.CONF.default_servicetype.description,
|
cfg.CONF.DEFAULT_SERVICETYPE.description,
|
||||||
'service_definitions':
|
'service_definitions':
|
||||||
parse_service_definition_opt(),
|
parse_service_definition_opt(),
|
||||||
'default': True}
|
'default': True}
|
||||||
|
@ -159,7 +159,7 @@ l3_quota_opts = [
|
|||||||
help=_('Number of floating IPs allowed per tenant, '
|
help=_('Number of floating IPs allowed per tenant, '
|
||||||
'-1 for unlimited')),
|
'-1 for unlimited')),
|
||||||
]
|
]
|
||||||
cfg.CONF.register_opts(l3_quota_opts, 'quotas')
|
cfg.CONF.register_opts(l3_quota_opts, 'QUOTAS')
|
||||||
|
|
||||||
|
|
||||||
class L3(extensions.ExtensionDescriptor):
|
class L3(extensions.ExtensionDescriptor):
|
||||||
|
@ -43,7 +43,7 @@ class QuotaSetsController(wsgi.Controller):
|
|||||||
def __init__(self, plugin):
|
def __init__(self, plugin):
|
||||||
self._resource_name = RESOURCE_NAME
|
self._resource_name = RESOURCE_NAME
|
||||||
self._plugin = plugin
|
self._plugin = plugin
|
||||||
self._driver = importutils.import_class(cfg.CONF.quotas.quota_driver)
|
self._driver = importutils.import_class(cfg.CONF.QUOTAS.quota_driver)
|
||||||
self._update_extended_attributes = True
|
self._update_extended_attributes = True
|
||||||
|
|
||||||
def _update_attributes(self):
|
def _update_attributes(self):
|
||||||
@ -117,7 +117,7 @@ class Quotasv2(extensions.ExtensionDescriptor):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def get_description(cls):
|
def get_description(cls):
|
||||||
description = 'Expose functions for quotas management'
|
description = 'Expose functions for quotas management'
|
||||||
if cfg.CONF.quotas.quota_driver == DB_QUOTA_DRIVER:
|
if cfg.CONF.QUOTAS.quota_driver == DB_QUOTA_DRIVER:
|
||||||
description += ' per tenant'
|
description += ' per tenant'
|
||||||
return description
|
return description
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ security_group_quota_opts = [
|
|||||||
help=_('Number of security rules allowed per tenant, '
|
help=_('Number of security rules allowed per tenant, '
|
||||||
'-1 for unlimited')),
|
'-1 for unlimited')),
|
||||||
]
|
]
|
||||||
cfg.CONF.register_opts(security_group_quota_opts, 'quotas')
|
cfg.CONF.register_opts(security_group_quota_opts, 'QUOTAS')
|
||||||
|
|
||||||
|
|
||||||
class Securitygroup(extensions.ExtensionDescriptor):
|
class Securitygroup(extensions.ExtensionDescriptor):
|
||||||
|
@ -22,7 +22,7 @@ core_plugin = quantum.plugins.cisco.network_plugin.PluginV2
|
|||||||
# The messaging module to use, defaults to kombu.
|
# The messaging module to use, defaults to kombu.
|
||||||
rpc_backend = quantum.openstack.common.rpc.impl_fake
|
rpc_backend = quantum.openstack.common.rpc.impl_fake
|
||||||
|
|
||||||
[quotas]
|
[QUOTAS]
|
||||||
# resource name(s) that are supported in quota features
|
# resource name(s) that are supported in quota features
|
||||||
quota_items = network,subnet,port
|
quota_items = network,subnet,port
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ def main():
|
|||||||
logging_config.setup_logging(config.CONF)
|
logging_config.setup_logging(config.CONF)
|
||||||
|
|
||||||
# Determine which agent type to use.
|
# Determine which agent type to use.
|
||||||
integ_br = config.ovs.integration_bridge
|
integ_br = config.OVS.integration_bridge
|
||||||
root_helper = config.AGENT.root_helper
|
root_helper = config.AGENT.root_helper
|
||||||
polling_interval = config.AGENT.polling_interval
|
polling_interval = config.AGENT.polling_interval
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ ofc_opts = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
cfg.CONF.register_opts(ovs_opts, "ovs")
|
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||||
cfg.CONF.register_opts(ofc_opts, "OFC")
|
cfg.CONF.register_opts(ofc_opts, "OFC")
|
||||||
config.register_agent_state_opts_helper(cfg.CONF)
|
config.register_agent_state_opts_helper(cfg.CONF)
|
||||||
@ -60,6 +60,6 @@ cfg.CONF.register_opts(scheduler.AGENTS_SCHEDULER_OPTS)
|
|||||||
|
|
||||||
# shortcuts
|
# shortcuts
|
||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
OVS = cfg.CONF.ovs
|
OVS = cfg.CONF.OVS
|
||||||
AGENT = cfg.CONF.AGENT
|
AGENT = cfg.CONF.AGENT
|
||||||
OFC = cfg.CONF.OFC
|
OFC = cfg.CONF.OFC
|
||||||
|
@ -34,7 +34,7 @@ quota_packet_filter_opts = [
|
|||||||
"-1 for unlimited"))
|
"-1 for unlimited"))
|
||||||
]
|
]
|
||||||
# Register the configuration options
|
# Register the configuration options
|
||||||
cfg.CONF.register_opts(quota_packet_filter_opts, 'quotas')
|
cfg.CONF.register_opts(quota_packet_filter_opts, 'QUOTAS')
|
||||||
|
|
||||||
|
|
||||||
PACKET_FILTER_ACTION_REGEX = "(?i)^(allow|accept|drop|deny)$"
|
PACKET_FILTER_ACTION_REGEX = "(?i)^(allow|accept|drop|deny)$"
|
||||||
|
@ -93,7 +93,7 @@ nw_gw_quota_opts = [
|
|||||||
'-1 for unlimited'))
|
'-1 for unlimited'))
|
||||||
]
|
]
|
||||||
|
|
||||||
cfg.CONF.register_opts(nw_gw_quota_opts, 'quotas')
|
cfg.CONF.register_opts(nw_gw_quota_opts, 'QUOTAS')
|
||||||
|
|
||||||
attributes.validators['type:device_list'] = _validate_device_list
|
attributes.validators['type:device_list'] = _validate_device_list
|
||||||
|
|
||||||
|
@ -500,7 +500,7 @@ class OVSQuantumAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
|
|||||||
:returns: the integration bridge
|
:returns: the integration bridge
|
||||||
'''
|
'''
|
||||||
int_br = ovs_lib.OVSBridge(bridge_name, self.root_helper)
|
int_br = ovs_lib.OVSBridge(bridge_name, self.root_helper)
|
||||||
int_br.delete_port(cfg.CONF.ovs.int_peer_patch_port)
|
int_br.delete_port(cfg.CONF.OVS.int_peer_patch_port)
|
||||||
int_br.remove_all_flows()
|
int_br.remove_all_flows()
|
||||||
# switch all traffic using L2 learning
|
# switch all traffic using L2 learning
|
||||||
int_br.add_flow(priority=1, actions="normal")
|
int_br.add_flow(priority=1, actions="normal")
|
||||||
@ -517,9 +517,9 @@ class OVSQuantumAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
|
|||||||
self.tun_br = ovs_lib.OVSBridge(tun_br, self.root_helper)
|
self.tun_br = ovs_lib.OVSBridge(tun_br, self.root_helper)
|
||||||
self.tun_br.reset_bridge()
|
self.tun_br.reset_bridge()
|
||||||
self.patch_tun_ofport = self.int_br.add_patch_port(
|
self.patch_tun_ofport = self.int_br.add_patch_port(
|
||||||
cfg.CONF.ovs.int_peer_patch_port, cfg.CONF.ovs.tun_peer_patch_port)
|
cfg.CONF.OVS.int_peer_patch_port, cfg.CONF.OVS.tun_peer_patch_port)
|
||||||
self.patch_int_ofport = self.tun_br.add_patch_port(
|
self.patch_int_ofport = self.tun_br.add_patch_port(
|
||||||
cfg.CONF.ovs.tun_peer_patch_port, cfg.CONF.ovs.int_peer_patch_port)
|
cfg.CONF.OVS.tun_peer_patch_port, cfg.CONF.OVS.int_peer_patch_port)
|
||||||
if int(self.patch_tun_ofport) < 0 or int(self.patch_int_ofport) < 0:
|
if int(self.patch_tun_ofport) < 0 or int(self.patch_int_ofport) < 0:
|
||||||
LOG.error(_("Failed to create OVS patch port. Cannot have "
|
LOG.error(_("Failed to create OVS patch port. Cannot have "
|
||||||
"tunneling enabled on this agent, since this version "
|
"tunneling enabled on this agent, since this version "
|
||||||
@ -735,18 +735,18 @@ def create_agent_config_map(config):
|
|||||||
:returns: a map of agent configuration parameters
|
:returns: a map of agent configuration parameters
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
bridge_mappings = q_utils.parse_mappings(config.ovs.bridge_mappings)
|
bridge_mappings = q_utils.parse_mappings(config.OVS.bridge_mappings)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
raise ValueError(_("Parsing bridge_mappings failed: %s.") % e)
|
raise ValueError(_("Parsing bridge_mappings failed: %s.") % e)
|
||||||
|
|
||||||
kwargs = dict(
|
kwargs = dict(
|
||||||
integ_br=config.ovs.integration_bridge,
|
integ_br=config.OVS.integration_bridge,
|
||||||
tun_br=config.ovs.tunnel_bridge,
|
tun_br=config.OVS.tunnel_bridge,
|
||||||
local_ip=config.ovs.local_ip,
|
local_ip=config.OVS.local_ip,
|
||||||
bridge_mappings=bridge_mappings,
|
bridge_mappings=bridge_mappings,
|
||||||
root_helper=config.AGENT.root_helper,
|
root_helper=config.AGENT.root_helper,
|
||||||
polling_interval=config.AGENT.polling_interval,
|
polling_interval=config.AGENT.polling_interval,
|
||||||
enable_tunneling=config.ovs.enable_tunneling,
|
enable_tunneling=config.OVS.enable_tunneling,
|
||||||
)
|
)
|
||||||
|
|
||||||
if kwargs['enable_tunneling'] and not kwargs['local_ip']:
|
if kwargs['enable_tunneling'] and not kwargs['local_ip']:
|
||||||
|
@ -61,7 +61,7 @@ agent_opts = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
cfg.CONF.register_opts(ovs_opts, "ovs")
|
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||||
config.register_agent_state_opts_helper(cfg.CONF)
|
config.register_agent_state_opts_helper(cfg.CONF)
|
||||||
config.register_root_helper(cfg.CONF)
|
config.register_root_helper(cfg.CONF)
|
||||||
|
@ -263,7 +263,7 @@ class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
|||||||
ovs_db_v2.initialize()
|
ovs_db_v2.initialize()
|
||||||
self._parse_network_vlan_ranges()
|
self._parse_network_vlan_ranges()
|
||||||
ovs_db_v2.sync_vlan_allocations(self.network_vlan_ranges)
|
ovs_db_v2.sync_vlan_allocations(self.network_vlan_ranges)
|
||||||
self.tenant_network_type = cfg.CONF.ovs.tenant_network_type
|
self.tenant_network_type = cfg.CONF.OVS.tenant_network_type
|
||||||
if self.tenant_network_type not in [constants.TYPE_LOCAL,
|
if self.tenant_network_type not in [constants.TYPE_LOCAL,
|
||||||
constants.TYPE_VLAN,
|
constants.TYPE_VLAN,
|
||||||
constants.TYPE_GRE,
|
constants.TYPE_GRE,
|
||||||
@ -272,7 +272,7 @@ class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
|||||||
"Agent terminated!"),
|
"Agent terminated!"),
|
||||||
self.tenant_network_type)
|
self.tenant_network_type)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
self.enable_tunneling = cfg.CONF.ovs.enable_tunneling
|
self.enable_tunneling = cfg.CONF.OVS.enable_tunneling
|
||||||
self.tunnel_id_ranges = []
|
self.tunnel_id_ranges = []
|
||||||
if self.enable_tunneling:
|
if self.enable_tunneling:
|
||||||
self._parse_tunnel_id_ranges()
|
self._parse_tunnel_id_ranges()
|
||||||
@ -304,14 +304,14 @@ class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
|||||||
def _parse_network_vlan_ranges(self):
|
def _parse_network_vlan_ranges(self):
|
||||||
try:
|
try:
|
||||||
self.network_vlan_ranges = plugin_utils.parse_network_vlan_ranges(
|
self.network_vlan_ranges = plugin_utils.parse_network_vlan_ranges(
|
||||||
cfg.CONF.ovs.network_vlan_ranges)
|
cfg.CONF.OVS.network_vlan_ranges)
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
LOG.error(_("%s. Agent terminated!"), ex)
|
LOG.error(_("%s. Agent terminated!"), ex)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
LOG.info(_("Network VLAN ranges: %s"), self.network_vlan_ranges)
|
LOG.info(_("Network VLAN ranges: %s"), self.network_vlan_ranges)
|
||||||
|
|
||||||
def _parse_tunnel_id_ranges(self):
|
def _parse_tunnel_id_ranges(self):
|
||||||
for entry in cfg.CONF.ovs.tunnel_id_ranges:
|
for entry in cfg.CONF.OVS.tunnel_id_ranges:
|
||||||
entry = entry.strip()
|
entry = entry.strip()
|
||||||
try:
|
try:
|
||||||
tun_min, tun_max = entry.split(':')
|
tun_min, tun_max = entry.split(':')
|
||||||
|
@ -69,7 +69,7 @@ def _get_my_ip():
|
|||||||
def _get_ip(cfg_ip_str, cfg_interface_str):
|
def _get_ip(cfg_ip_str, cfg_interface_str):
|
||||||
ip = None
|
ip = None
|
||||||
try:
|
try:
|
||||||
ip = getattr(cfg.CONF.ovs, cfg_ip_str)
|
ip = getattr(cfg.CONF.OVS, cfg_ip_str)
|
||||||
except (cfg.NoSuchOptError, cfg.NoSuchGroupError):
|
except (cfg.NoSuchOptError, cfg.NoSuchGroupError):
|
||||||
pass
|
pass
|
||||||
if ip:
|
if ip:
|
||||||
@ -77,7 +77,7 @@ def _get_ip(cfg_ip_str, cfg_interface_str):
|
|||||||
|
|
||||||
iface = None
|
iface = None
|
||||||
try:
|
try:
|
||||||
iface = getattr(cfg.CONF.ovs, cfg_interface_str)
|
iface = getattr(cfg.CONF.OVS, cfg_interface_str)
|
||||||
except (cfg.NoSuchOptError, cfg.NoSuchGroupError):
|
except (cfg.NoSuchOptError, cfg.NoSuchGroupError):
|
||||||
pass
|
pass
|
||||||
if iface:
|
if iface:
|
||||||
@ -278,13 +278,13 @@ def main():
|
|||||||
|
|
||||||
logging_config.setup_logging(cfg.CONF)
|
logging_config.setup_logging(cfg.CONF)
|
||||||
|
|
||||||
integ_br = cfg.CONF.ovs.integration_bridge
|
integ_br = cfg.CONF.OVS.integration_bridge
|
||||||
polling_interval = cfg.CONF.AGENT.polling_interval
|
polling_interval = cfg.CONF.AGENT.polling_interval
|
||||||
root_helper = cfg.CONF.AGENT.root_helper
|
root_helper = cfg.CONF.AGENT.root_helper
|
||||||
|
|
||||||
tunnel_ip = _get_tunnel_ip()
|
tunnel_ip = _get_tunnel_ip()
|
||||||
LOG.debug(_('tunnel_ip %s'), tunnel_ip)
|
LOG.debug(_('tunnel_ip %s'), tunnel_ip)
|
||||||
ovsdb_port = cfg.CONF.ovs.ovsdb_port
|
ovsdb_port = cfg.CONF.OVS.ovsdb_port
|
||||||
LOG.debug(_('ovsdb_port %s'), ovsdb_port)
|
LOG.debug(_('ovsdb_port %s'), ovsdb_port)
|
||||||
ovsdb_ip = _get_ovsdb_ip()
|
ovsdb_ip = _get_ovsdb_ip()
|
||||||
LOG.debug(_('ovsdb_ip %s'), ovsdb_ip)
|
LOG.debug(_('ovsdb_ip %s'), ovsdb_ip)
|
||||||
|
@ -47,6 +47,6 @@ agent_opts = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
cfg.CONF.register_opts(ovs_opts, "ovs")
|
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||||
config.register_root_helper(cfg.CONF)
|
config.register_root_helper(cfg.CONF)
|
||||||
|
@ -101,8 +101,8 @@ class RyuQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
|||||||
def __init__(self, configfile=None):
|
def __init__(self, configfile=None):
|
||||||
db.configure_db()
|
db.configure_db()
|
||||||
self.tunnel_key = db_api_v2.TunnelKey(
|
self.tunnel_key = db_api_v2.TunnelKey(
|
||||||
cfg.CONF.ovs.tunnel_key_min, cfg.CONF.ovs.tunnel_key_max)
|
cfg.CONF.OVS.tunnel_key_min, cfg.CONF.OVS.tunnel_key_max)
|
||||||
self.ofp_api_host = cfg.CONF.ovs.openflow_rest_api
|
self.ofp_api_host = cfg.CONF.OVS.openflow_rest_api
|
||||||
if not self.ofp_api_host:
|
if not self.ofp_api_host:
|
||||||
raise q_exc.Invalid(_('Invalid configuration. check ryu.ini'))
|
raise q_exc.Invalid(_('Invalid configuration. check ryu.ini'))
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ quota_opts = [
|
|||||||
help=_('Default driver to use for quota checks')),
|
help=_('Default driver to use for quota checks')),
|
||||||
]
|
]
|
||||||
# Register the configuration options
|
# Register the configuration options
|
||||||
cfg.CONF.register_opts(quota_opts, 'quotas')
|
cfg.CONF.register_opts(quota_opts, 'QUOTAS')
|
||||||
|
|
||||||
|
|
||||||
class ConfDriver(object):
|
class ConfDriver(object):
|
||||||
@ -164,9 +164,9 @@ class BaseResource(object):
|
|||||||
@property
|
@property
|
||||||
def default(self):
|
def default(self):
|
||||||
"""Return the default value of the quota."""
|
"""Return the default value of the quota."""
|
||||||
return getattr(cfg.CONF.quotas,
|
return getattr(cfg.CONF.QUOTAS,
|
||||||
self.flag,
|
self.flag,
|
||||||
cfg.CONF.quotas.default_quota)
|
cfg.CONF.QUOTAS.default_quota)
|
||||||
|
|
||||||
|
|
||||||
class CountableResource(BaseResource):
|
class CountableResource(BaseResource):
|
||||||
@ -206,7 +206,7 @@ class QuotaEngine(object):
|
|||||||
"""Initialize a Quota object."""
|
"""Initialize a Quota object."""
|
||||||
|
|
||||||
if not quota_driver_class:
|
if not quota_driver_class:
|
||||||
quota_driver_class = cfg.CONF.quotas.quota_driver
|
quota_driver_class = cfg.CONF.QUOTAS.quota_driver
|
||||||
|
|
||||||
if isinstance(quota_driver_class, basestring):
|
if isinstance(quota_driver_class, basestring):
|
||||||
quota_driver_class = importutils.import_object(quota_driver_class)
|
quota_driver_class = importutils.import_object(quota_driver_class)
|
||||||
@ -306,7 +306,7 @@ def _count_resource(context, plugin, resources, tenant_id):
|
|||||||
|
|
||||||
def register_resources_from_config():
|
def register_resources_from_config():
|
||||||
resources = []
|
resources = []
|
||||||
for resource_item in cfg.CONF.quotas.quota_items:
|
for resource_item in cfg.CONF.QUOTAS.quota_items:
|
||||||
resources.append(CountableResource(resource_item, _count_resource,
|
resources.append(CountableResource(resource_item, _count_resource,
|
||||||
'quota_' + resource_item))
|
'quota_' + resource_item))
|
||||||
QUOTAS.register_resources(resources)
|
QUOTAS.register_resources(resources)
|
||||||
|
@ -25,7 +25,7 @@ lock_path = $state_path/lock
|
|||||||
[DATABASE]
|
[DATABASE]
|
||||||
sql_connection = 'sqlite:///:memory:'
|
sql_connection = 'sqlite:///:memory:'
|
||||||
|
|
||||||
[default_servicetype]
|
[DEFAULT_SERVICETYPE]
|
||||||
description = "default service type"
|
description = "default service type"
|
||||||
service_definition=dummy:quantum.tests.unit.dummy_plugin.QuantumDummyPlugin
|
service_definition=dummy:quantum.tests.unit.dummy_plugin.QuantumDummyPlugin
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ class TestCiscoPortsV2(CiscoNetworkPluginV2TestCase,
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
ovs_config: {
|
ovs_config: {
|
||||||
'ovs': {'bridge_mappings': 'physnet1:br-eth1',
|
'OVS': {'bridge_mappings': 'physnet1:br-eth1',
|
||||||
'network_vlan_ranges': [range_str],
|
'network_vlan_ranges': [range_str],
|
||||||
'tenant_network_type': 'vlan'}
|
'tenant_network_type': 'vlan'}
|
||||||
},
|
},
|
||||||
|
@ -22,8 +22,7 @@ from quantum.tests import base
|
|||||||
class ConfigurationTest(base.BaseTestCase):
|
class ConfigurationTest(base.BaseTestCase):
|
||||||
|
|
||||||
def test_defaults(self):
|
def test_defaults(self):
|
||||||
self.assertEqual('br-int', config.CONF.ovs.integration_bridge)
|
self.assertEqual('br-int', config.CONF.OVS.integration_bridge)
|
||||||
|
|
||||||
self.assertEqual(2, config.CONF.AGENT.polling_interval)
|
self.assertEqual(2, config.CONF.AGENT.polling_interval)
|
||||||
self.assertEqual('sudo', config.CONF.AGENT.root_helper)
|
self.assertEqual('sudo', config.CONF.AGENT.root_helper)
|
||||||
|
|
||||||
@ -36,7 +35,7 @@ class ConfigurationTest(base.BaseTestCase):
|
|||||||
self.assertIsNone(config.CONF.OFC.cert_file)
|
self.assertIsNone(config.CONF.OFC.cert_file)
|
||||||
|
|
||||||
def test_shortcuts(self):
|
def test_shortcuts(self):
|
||||||
self.assertEqual(config.CONF.ovs.integration_bridge,
|
self.assertEqual(config.CONF.OVS.integration_bridge,
|
||||||
config.OVS.integration_bridge)
|
config.OVS.integration_bridge)
|
||||||
self.assertEqual(config.CONF.AGENT.polling_interval,
|
self.assertEqual(config.CONF.AGENT.polling_interval,
|
||||||
config.AGENT.polling_interval)
|
config.AGENT.polling_interval)
|
||||||
|
@ -25,7 +25,7 @@ lock_path = $state_path/lock
|
|||||||
[DATABASE]
|
[DATABASE]
|
||||||
sql_connection = 'sqlite:///:memory:'
|
sql_connection = 'sqlite:///:memory:'
|
||||||
|
|
||||||
[default_servicetype]
|
[DEFAULT_SERVICETYPE]
|
||||||
description = "default service type"
|
description = "default service type"
|
||||||
service_definition=dummy:quantum.tests.unit.dummy_plugin.QuantumDummyPlugin
|
service_definition=dummy:quantum.tests.unit.dummy_plugin.QuantumDummyPlugin
|
||||||
|
|
||||||
|
@ -22,12 +22,12 @@ from quantum.tests import base
|
|||||||
class ConfigurationTest(base.BaseTestCase):
|
class ConfigurationTest(base.BaseTestCase):
|
||||||
|
|
||||||
def test_defaults(self):
|
def test_defaults(self):
|
||||||
self.assertEqual('br-int', cfg.CONF.ovs.integration_bridge)
|
self.assertEqual('br-int', cfg.CONF.OVS.integration_bridge)
|
||||||
self.assertFalse(cfg.CONF.ovs.enable_tunneling)
|
self.assertFalse(cfg.CONF.OVS.enable_tunneling)
|
||||||
self.assertEqual('br-tun', cfg.CONF.ovs.tunnel_bridge)
|
self.assertEqual('br-tun', cfg.CONF.OVS.tunnel_bridge)
|
||||||
self.assertEqual(2, cfg.CONF.AGENT.polling_interval)
|
self.assertEqual(2, cfg.CONF.AGENT.polling_interval)
|
||||||
self.assertEqual('sudo', cfg.CONF.AGENT.root_helper)
|
self.assertEqual('sudo', cfg.CONF.AGENT.root_helper)
|
||||||
self.assertEqual('local', cfg.CONF.ovs.tenant_network_type)
|
self.assertEqual('local', cfg.CONF.OVS.tenant_network_type)
|
||||||
self.assertEqual(0, len(cfg.CONF.ovs.bridge_mappings))
|
self.assertEqual(0, len(cfg.CONF.OVS.bridge_mappings))
|
||||||
self.assertEqual(0, len(cfg.CONF.ovs.network_vlan_ranges))
|
self.assertEqual(0, len(cfg.CONF.OVS.network_vlan_ranges))
|
||||||
self.assertEqual(0, len(cfg.CONF.ovs.tunnel_id_ranges))
|
self.assertEqual(0, len(cfg.CONF.OVS.tunnel_id_ranges))
|
||||||
|
@ -40,7 +40,7 @@ class CreateAgentConfigMap(base.BaseTestCase):
|
|||||||
def test_create_agent_config_map_fails_for_invalid_tunnel_config(self):
|
def test_create_agent_config_map_fails_for_invalid_tunnel_config(self):
|
||||||
self.addCleanup(cfg.CONF.reset)
|
self.addCleanup(cfg.CONF.reset)
|
||||||
# An ip address is required for tunneling but there is no default
|
# An ip address is required for tunneling but there is no default
|
||||||
cfg.CONF.set_override('enable_tunneling', True, group='ovs')
|
cfg.CONF.set_override('enable_tunneling', True, group='OVS')
|
||||||
with testtools.ExpectedException(ValueError):
|
with testtools.ExpectedException(ValueError):
|
||||||
ovs_quantum_agent.create_agent_config_map(cfg.CONF)
|
ovs_quantum_agent.create_agent_config_map(cfg.CONF)
|
||||||
|
|
||||||
|
@ -24,10 +24,10 @@ from quantum.tests import base
|
|||||||
class ConfigurationTest(base.BaseTestCase):
|
class ConfigurationTest(base.BaseTestCase):
|
||||||
"""Configuration file Tests."""
|
"""Configuration file Tests."""
|
||||||
def test_defaults(self):
|
def test_defaults(self):
|
||||||
self.assertEqual('br-int', cfg.CONF.ovs.integration_bridge)
|
self.assertEqual('br-int', cfg.CONF.OVS.integration_bridge)
|
||||||
self.assertEqual(2, cfg.CONF.AGENT.polling_interval)
|
self.assertEqual(2, cfg.CONF.AGENT.polling_interval)
|
||||||
self.assertEqual('sudo', cfg.CONF.AGENT.root_helper)
|
self.assertEqual('sudo', cfg.CONF.AGENT.root_helper)
|
||||||
self.assertEqual('127.0.0.1:8080', cfg.CONF.ovs.openflow_rest_api)
|
self.assertEqual('127.0.0.1:8080', cfg.CONF.OVS.openflow_rest_api)
|
||||||
self.assertEqual(1, cfg.CONF.ovs.tunnel_key_min)
|
self.assertEqual(1, cfg.CONF.OVS.tunnel_key_min)
|
||||||
self.assertEqual(0xffffff, cfg.CONF.ovs.tunnel_key_max)
|
self.assertEqual(0xffffff, cfg.CONF.OVS.tunnel_key_max)
|
||||||
self.assertEqual(6634, cfg.CONF.ovs.ovsdb_port)
|
self.assertEqual(6634, cfg.CONF.OVS.ovsdb_port)
|
||||||
|
@ -494,7 +494,7 @@ class TestRyuQuantumAgent(RyuAgentTestCase):
|
|||||||
netifs_attrs = {'AF_INET': 0,
|
netifs_attrs = {'AF_INET': 0,
|
||||||
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
||||||
with nested(
|
with nested(
|
||||||
mock.patch('oslo.config.cfg.CONF.ovs', **cfg_attrs),
|
mock.patch('oslo.config.cfg.CONF.OVS', **cfg_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
||||||
return_value='172.16.0.1')
|
return_value='172.16.0.1')
|
||||||
@ -511,7 +511,7 @@ class TestRyuQuantumAgent(RyuAgentTestCase):
|
|||||||
netifs_attrs = {'AF_INET': 0,
|
netifs_attrs = {'AF_INET': 0,
|
||||||
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
||||||
with nested(
|
with nested(
|
||||||
mock.patch('oslo.config.cfg.CONF.ovs', **cfg_attrs),
|
mock.patch('oslo.config.cfg.CONF.OVS', **cfg_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
||||||
return_value='172.16.0.1')
|
return_value='172.16.0.1')
|
||||||
@ -530,7 +530,7 @@ class TestRyuQuantumAgent(RyuAgentTestCase):
|
|||||||
netifs_attrs = {'AF_INET': 0,
|
netifs_attrs = {'AF_INET': 0,
|
||||||
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
'ifaddresses.return_value': [[{'addr': '10.0.0.1'}]]}
|
||||||
with nested(
|
with nested(
|
||||||
mock.patch('oslo.config.cfg.CONF.ovs', **cfg_attrs),
|
mock.patch('oslo.config.cfg.CONF.OVS', **cfg_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
mock.patch(self._AGENT_NAME + '.netifaces', **netifs_attrs),
|
||||||
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
mock.patch(self._AGENT_NAME + '._get_my_ip',
|
||||||
return_value='172.16.0.1')
|
return_value='172.16.0.1')
|
||||||
@ -564,8 +564,8 @@ class TestRyuQuantumAgent(RyuAgentTestCase):
|
|||||||
self.assertEqual(ip, '1.2.3.4')
|
self.assertEqual(ip, '1.2.3.4')
|
||||||
|
|
||||||
def mock_main(self):
|
def mock_main(self):
|
||||||
cfg_attrs = {'ovs.integration_bridge': 'integ_br',
|
cfg_attrs = {'OVS.integration_bridge': 'integ_br',
|
||||||
'ovs.ovsdb_port': 16634,
|
'OVS.ovsdb_port': 16634,
|
||||||
'AGENT.root_helper': 'helper'}
|
'AGENT.root_helper': 'helper'}
|
||||||
with nested(
|
with nested(
|
||||||
mock.patch('oslo.config.cfg.CONF', **cfg_attrs),
|
mock.patch('oslo.config.cfg.CONF', **cfg_attrs),
|
||||||
|
@ -1299,7 +1299,7 @@ class NotificationTest(APIv2TestBase):
|
|||||||
|
|
||||||
class QuotaTest(APIv2TestBase):
|
class QuotaTest(APIv2TestBase):
|
||||||
def test_create_network_quota(self):
|
def test_create_network_quota(self):
|
||||||
cfg.CONF.set_override('quota_network', 1, group='quotas')
|
cfg.CONF.set_override('quota_network', 1, group='QUOTAS')
|
||||||
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
||||||
full_input = {'network': {'admin_state_up': True, 'subnets': []}}
|
full_input = {'network': {'admin_state_up': True, 'subnets': []}}
|
||||||
full_input['network'].update(initial_input['network'])
|
full_input['network'].update(initial_input['network'])
|
||||||
@ -1314,7 +1314,7 @@ class QuotaTest(APIv2TestBase):
|
|||||||
res.json['QuantumError'])
|
res.json['QuantumError'])
|
||||||
|
|
||||||
def test_create_network_quota_no_counts(self):
|
def test_create_network_quota_no_counts(self):
|
||||||
cfg.CONF.set_override('quota_network', 1, group='quotas')
|
cfg.CONF.set_override('quota_network', 1, group='QUOTAS')
|
||||||
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
||||||
full_input = {'network': {'admin_state_up': True, 'subnets': []}}
|
full_input = {'network': {'admin_state_up': True, 'subnets': []}}
|
||||||
full_input['network'].update(initial_input['network'])
|
full_input['network'].update(initial_input['network'])
|
||||||
@ -1331,7 +1331,7 @@ class QuotaTest(APIv2TestBase):
|
|||||||
res.json['QuantumError'])
|
res.json['QuantumError'])
|
||||||
|
|
||||||
def test_create_network_quota_without_limit(self):
|
def test_create_network_quota_without_limit(self):
|
||||||
cfg.CONF.set_override('quota_network', -1, group='quotas')
|
cfg.CONF.set_override('quota_network', -1, group='QUOTAS')
|
||||||
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
initial_input = {'network': {'name': 'net1', 'tenant_id': _uuid()}}
|
||||||
instance = self.plugin.return_value
|
instance = self.plugin.return_value
|
||||||
instance.get_networks_count.return_value = 3
|
instance.get_networks_count.return_value = 3
|
||||||
|
@ -1949,7 +1949,7 @@ class TestNetworksV2(QuantumDbPluginV2TestCase):
|
|||||||
if self._skip_native_bulk:
|
if self._skip_native_bulk:
|
||||||
self.skipTest("Plugin does not support native bulk network create")
|
self.skipTest("Plugin does not support native bulk network create")
|
||||||
quota = 4
|
quota = 4
|
||||||
cfg.CONF.set_override('quota_network', quota, group='quotas')
|
cfg.CONF.set_override('quota_network', quota, group='QUOTAS')
|
||||||
res = self._create_network_bulk(self.fmt, quota + 1, 'test', True)
|
res = self._create_network_bulk(self.fmt, quota + 1, 'test', True)
|
||||||
self._validate_behavior_on_bulk_failure(res, 'networks', errcode=409)
|
self._validate_behavior_on_bulk_failure(res, 'networks', errcode=409)
|
||||||
|
|
||||||
@ -1957,7 +1957,7 @@ class TestNetworksV2(QuantumDbPluginV2TestCase):
|
|||||||
if self._skip_native_bulk:
|
if self._skip_native_bulk:
|
||||||
self.skipTest("Plugin does not support native bulk network create")
|
self.skipTest("Plugin does not support native bulk network create")
|
||||||
quota = 2
|
quota = 2
|
||||||
cfg.CONF.set_override('quota_network', quota, group='quotas')
|
cfg.CONF.set_override('quota_network', quota, group='QUOTAS')
|
||||||
networks = [{'network': {'name': 'n1',
|
networks = [{'network': {'name': 'n1',
|
||||||
'tenant_id': self._tenant_id}},
|
'tenant_id': self._tenant_id}},
|
||||||
{'network': {'name': 'n2',
|
{'network': {'name': 'n2',
|
||||||
@ -1974,7 +1974,7 @@ class TestNetworksV2(QuantumDbPluginV2TestCase):
|
|||||||
if self._skip_native_bulk:
|
if self._skip_native_bulk:
|
||||||
self.skipTest("Plugin does not support native bulk network create")
|
self.skipTest("Plugin does not support native bulk network create")
|
||||||
quota = 2
|
quota = 2
|
||||||
cfg.CONF.set_override('quota_network', quota, group='quotas')
|
cfg.CONF.set_override('quota_network', quota, group='QUOTAS')
|
||||||
networks = [{'network': {'name': 'n1',
|
networks = [{'network': {'name': 'n1',
|
||||||
'tenant_id': self._tenant_id}},
|
'tenant_id': self._tenant_id}},
|
||||||
{'network': {'name': 'n2',
|
{'network': {'name': 'n2',
|
||||||
|
@ -50,7 +50,7 @@ class QuotaExtensionTestCase(testlib_api.WebTestCase):
|
|||||||
cfg.CONF.set_override(
|
cfg.CONF.set_override(
|
||||||
'quota_items',
|
'quota_items',
|
||||||
['network', 'subnet', 'port', 'extra1'],
|
['network', 'subnet', 'port', 'extra1'],
|
||||||
group='quotas')
|
group='QUOTAS')
|
||||||
quota.QUOTAS = quota.QuotaEngine()
|
quota.QUOTAS = quota.QuotaEngine()
|
||||||
quota.register_resources_from_config()
|
quota.register_resources_from_config()
|
||||||
self._plugin_patcher = mock.patch(TARGET_PLUGIN, autospec=True)
|
self._plugin_patcher = mock.patch(TARGET_PLUGIN, autospec=True)
|
||||||
@ -85,7 +85,7 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
|
|||||||
cfg.CONF.set_override(
|
cfg.CONF.set_override(
|
||||||
'quota_driver',
|
'quota_driver',
|
||||||
'quantum.db.quota_db.DbQuotaDriver',
|
'quantum.db.quota_db.DbQuotaDriver',
|
||||||
group='quotas')
|
group='QUOTAS')
|
||||||
super(QuotaExtensionDbTestCase, self).setUp()
|
super(QuotaExtensionDbTestCase, self).setUp()
|
||||||
|
|
||||||
def test_quotas_loaded_right(self):
|
def test_quotas_loaded_right(self):
|
||||||
|
@ -169,7 +169,7 @@ class RouterServiceInsertionTestCase(base.BaseTestCase):
|
|||||||
#just stubbing core plugin with LoadBalancer plugin
|
#just stubbing core plugin with LoadBalancer plugin
|
||||||
cfg.CONF.set_override('core_plugin', plugin)
|
cfg.CONF.set_override('core_plugin', plugin)
|
||||||
cfg.CONF.set_override('service_plugins', [])
|
cfg.CONF.set_override('service_plugins', [])
|
||||||
cfg.CONF.set_override('quota_router', -1, group='quotas')
|
cfg.CONF.set_override('quota_router', -1, group='QUOTAS')
|
||||||
self.addCleanup(cfg.CONF.reset)
|
self.addCleanup(cfg.CONF.reset)
|
||||||
|
|
||||||
# Ensure 'stale' patched copies of the plugin are never returned
|
# Ensure 'stale' patched copies of the plugin are never returned
|
||||||
|
@ -252,7 +252,7 @@ class ServiceTypeManagerTestCase(ServiceTypeTestCaseBase):
|
|||||||
servicetype_db.ServiceTypeManager._instance = None
|
servicetype_db.ServiceTypeManager._instance = None
|
||||||
plugin_name = "%s.%s" % (dp.__name__, dp.DummyServicePlugin.__name__)
|
plugin_name = "%s.%s" % (dp.__name__, dp.DummyServicePlugin.__name__)
|
||||||
cfg.CONF.set_override('service_definition', ['dummy:%s' % plugin_name],
|
cfg.CONF.set_override('service_definition', ['dummy:%s' % plugin_name],
|
||||||
group='default_servicetype')
|
group='DEFAULT_SERVICETYPE')
|
||||||
self.addCleanup(db_api.clear_db)
|
self.addCleanup(db_api.clear_db)
|
||||||
super(ServiceTypeManagerTestCase, self).setUp()
|
super(ServiceTypeManagerTestCase, self).setUp()
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ sqlalchemy>=0.7.8,<=0.7.99
|
|||||||
WebOb>=1.2
|
WebOb>=1.2
|
||||||
python-keystoneclient>=0.2.0
|
python-keystoneclient>=0.2.0
|
||||||
alembic>=0.4.1
|
alembic>=0.4.1
|
||||||
http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a2.tar.gz#egg=oslo.config
|
oslo.config>=1.1.0
|
||||||
six
|
six
|
||||||
|
|
||||||
# Cisco plugin dependencies
|
# Cisco plugin dependencies
|
||||||
|
Loading…
x
Reference in New Issue
Block a user