Revert dependency on oslo.config 1.2.0
Fixes bug #1185174 This reverts commitb8b2c4e
,2f13345
,362bd7f
,8da2fb7
and956b873
. 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
c3e24c87fc
commit
3102bd700a
@ -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…
Reference in New Issue
Block a user