MANY flake8 error fixes, all cosmetic

This commit is contained in:
Insequent
2014-06-11 17:35:00 +00:00
parent 58b56e6a65
commit 235d3f362c
22 changed files with 86 additions and 100 deletions

View File

@@ -259,7 +259,7 @@ def ip_address_find(context, lock_mode=False, **filters):
query = query.outerjoin(stmt, stmt.c.id == models.IPAddress.id)
#!@# HACK(amir): replace once attributes are configured in ip address
# !@# HACK(amir): replace once attributes are configured in ip address
# extension correctly
if "True" in ip_shared:
query = query.filter(stmt.c.ports_count > 1)

View File

@@ -17,7 +17,7 @@ from quark.db.custom_types import INET
def upgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.create_table(
'quark_mac_address_ranges',
sa.Column('id', sa.String(length=36), nullable=False),
@@ -260,11 +260,11 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], ['quark_ports.id'], ),
mysql_engine='InnoDB'
)
### end Alembic commands ###
# end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.drop_table('quark_port_ip_address_associations')
op.drop_table('quark_dns_nameservers')
op.drop_index('ix_quark_ip_addresses_version',
@@ -299,4 +299,4 @@ def downgrade():
op.drop_table('quark_ip_policy')
op.drop_table('quark_tag_associations')
op.drop_table('quark_mac_address_ranges')
### end Alembic commands ###
# end Alembic commands ###

View File

@@ -14,7 +14,7 @@ from alembic import op
def upgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.create_index(op.f('ix_quark_mac_addresses_deallocated'),
'quark_mac_addresses',
['deallocated'],
@@ -22,12 +22,12 @@ def upgrade():
op.create_unique_constraint('mac_address_range_id_address',
'quark_mac_addresses',
['mac_address_range_id', 'address'])
### end Alembic commands ###
# end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.drop_constraint('mac_address_range_id_address', 'quark_mac_addresses')
op.drop_index(op.f('ix_quark_mac_addresses_deallocated'),
table_name='quark_mac_addresses')
### end Alembic commands ###
# end Alembic commands ###

View File

@@ -14,15 +14,15 @@ from alembic import op
def upgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.create_unique_constraint(
'subnet_id_address',
'quark_ip_addresses',
['subnet_id', 'address'])
### end Alembic commands ###
# end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
# commands auto generated by Alembic - please adjust! ###
op.drop_constraint('subnet_id_address', 'quark_ip_addresses')
### end Alembic commands ###
# end Alembic commands ###

View File

@@ -28,5 +28,5 @@ def main():
config.neutron_config = cli.CONF
cli.CONF()
#TODO(gongysh) enable logging
# TODO(gongysh) enable logging
cli.CONF.command.func(config, cli.CONF.command.name)

View File

@@ -28,9 +28,9 @@ from neutron.openstack.common import log as logging
from neutron.openstack.common import timeutils
from quark.db import custom_types
#NOTE(mdietz): This is the only way to actually create the quotas table,
# NOTE(mdietz): This is the only way to actually create the quotas table,
# regardless if we need it. This is how it's done upstream.
#NOTE(jhammond): If it isn't obvious quota_driver is unused and that's ok.
# NOTE(jhammond): If it isn't obvious quota_driver is unused and that's ok.
# DO NOT DELETE IT!!!
from quark import quota_driver # noqa

View File

@@ -70,16 +70,16 @@ class BaseDriver(object):
def delete_security_group(self, context, group_id, **kwargs):
LOG.info("Deleting security profile %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def update_security_group(self, context, group_id, **kwargs):
LOG.info("Updating security profile %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def create_security_group_rule(self, context, group_id, rule):
LOG.info("Creating security rule on group %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def delete_security_group_rule(self, context, group_id, rule):
LOG.info("Deleting security rule on group %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))

View File

@@ -88,7 +88,7 @@ class NVPDriver(base.BaseDriver):
return "NVP"
def load_config(self):
#NOTE(mdietz): What does default_tz actually mean?
# NOTE(mdietz): What does default_tz actually mean?
# We don't have one default.
# NOTE(jkoelker): Transport Zone
default_tz = CONF.NVP.default_tz
@@ -248,7 +248,7 @@ class NVPDriver(base.BaseDriver):
'packets': stats['rx_packets'],
'bytes': stats['rx_bytes'],
'errors': stats['rx_errors']
},
},
'transmitted': {
'packets': stats['tx_packets'],
'bytes': stats['tx_bytes'],
@@ -433,7 +433,7 @@ class NVPDriver(base.BaseDriver):
if phys_net and not net_type:
raise exceptions.ProvidernetParamError(
msg="provider:network_type parameter required")
if not net_type in ("bridge", "vlan") and segment_id:
if net_type not in ("bridge", "vlan") and segment_id:
raise exceptions.SegmentIdUnsupported(net_type=net_type)
if net_type == "vlan" and not segment_id:
raise exceptions.SegmentIdRequired(net_type=net_type)
@@ -460,7 +460,7 @@ class NVPDriver(base.BaseDriver):
# if type maps to 'bridge', then segment_id, which maps
# to vlan_id, is conditionally provided
LOG.debug("Creating new lswitch for %s network %s" %
(context.tenant_id, network_name))
(context.tenant_id, network_name))
tenant_id = context.tenant_id
connection = self.get_connection()

View File

@@ -74,16 +74,16 @@ class UnmanagedDriver(object):
def delete_security_group(self, context, group_id, **kwargs):
LOG.info("Deleting security profile %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def update_security_group(self, context, group_id, **kwargs):
LOG.info("Updating security profile %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def create_security_group_rule(self, context, group_id, rule):
LOG.info("Creating security rule on group %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))
def delete_security_group_rule(self, context, group_id, rule):
LOG.info("Deleting security rule on group %s for tenant %s" %
(group_id, context.tenant_id))
(group_id, context.tenant_id))

View File

@@ -4,7 +4,6 @@ import sys
from gunicorn.app import base
from gunicorn import config as gconfig
from oslo.config import cfg
from neutron.common import config
from neutron.common import legacy
from neutron.common import utils

View File

@@ -19,15 +19,12 @@ Quark Pluggable IPAM
import random
import uuid
import netaddr
from neutron.common import exceptions
from neutron.openstack.common import log as logging
from neutron.openstack.common.notifier import api as notifier_api
from neutron.openstack.common import timeutils
from oslo.config import cfg
from quark.db import api as db_api
from quark.db import models
from quark import exceptions as q_exc
@@ -61,7 +58,7 @@ MAGIC_INT = 144115188075855872
def rfc2462_ip(mac, cidr):
#NOTE(mdietz): see RFC2462
# NOTE(mdietz): see RFC2462
int_val = netaddr.IPNetwork(cidr).value
mac = netaddr.EUI(mac)
int_val += mac.eui64().value
@@ -213,7 +210,7 @@ class QuarkIpam(object):
address = db_api.ip_address_find(elevated, **ip_kwargs)
if address:
#NOTE(mdietz): We should always be in the CIDR but we
# NOTE(mdietz): We should always be in the CIDR but we
# also said that before :-/
subnet = address.get('subnet')
if subnet:
@@ -295,8 +292,7 @@ class QuarkIpam(object):
This should provide a performance boost over attempting to check
each and every subnet in the existing reallocate logic, as we'd
have to iterate over each and every subnet returned
"""
have to iterate over each and every subnet returned """
if not (ip_address is None and "mac_address" in kwargs and
kwargs["mac_address"]):
return self._allocate_from_subnet(context, net_id, subnet,
@@ -312,7 +308,7 @@ class QuarkIpam(object):
ip_address = netaddr.IPAddress(ip_address)
#NOTE(mdietz): treating the IPSet as a boolean caused netaddr
# NOTE(mdietz): treating the IPSet as a boolean caused netaddr
# to attempt to enumerate the entire set!
if (ip_policy_cidrs is not None and
ip_address in ip_policy_cidrs):

View File

@@ -17,13 +17,11 @@
v2 Neutron Plug-in API Quark Implementation
"""
from oslo.config import cfg
from neutron.db import api as neutron_db_api
from neutron.extensions import securitygroup as sg_ext
from neutron import neutron_plugin_base_v2
from neutron.openstack.common import log as logging
from neutron import quota
from quark.api import extensions
from quark.db import models
from quark.plugin_modules import ip_addresses
@@ -75,7 +73,7 @@ def sessioned(func):
res = func(self, context, *args, **kwargs)
context.session.close()
#NOTE(mdietz): Forces neutron to get a fresh session
# NOTE(mdietz): Forces neutron to get a fresh session
# if it needs it after our call
context._session = None
return res
@@ -122,16 +120,16 @@ class Plugin(neutron_plugin_base_v2.NeutronPluginBaseV2,
def delete_mac_address_range(self, context, id):
mac_address_ranges.delete_mac_address_range(context, id)
#TODO(dietz/perkins): passing in net_driver as a stopgap,
#XXX DO NOT DEPLOY!! XXX see redmine #2487
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
@sessioned
def create_security_group(self, context, security_group, net_driver):
self._fix_missing_tenant_id(context, security_group["security_group"])
return security_groups.create_security_group(context, security_group,
net_driver)
#TODO(dietz/perkins): passing in net_driver as a stopgap,
#XXX DO NOT DEPLOY!! XXX see redmine #2487
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
@sessioned
def create_security_group_rule(self, context, security_group,
security_group_rule, net_driver):
@@ -140,14 +138,14 @@ class Plugin(neutron_plugin_base_v2.NeutronPluginBaseV2,
security_group_rule,
net_driver)
#TODO(dietz/perkins): passing in net_driver as a stopgap,
#XXX DO NOT DEPLOY!! XXX see redmine #2487
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
@sessioned
def delete_security_group(self, context, id, net_driver):
security_groups.delete_security_group(context, id, net_driver)
#TODO(dietz/perkins): passing in net_driver as a stopgap,
#XXX DO NOT DEPLOY!! XXX see redmine #2487
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
@sessioned
def delete_security_group_rule(self, context, id, net_driver):
security_groups.delete_security_group_rule(context, id, net_driver)
@@ -176,8 +174,8 @@ class Plugin(neutron_plugin_base_v2.NeutronPluginBaseV2,
fields, sorts, limit,
marker, page_reverse)
#TODO(dietz/perkins): passing in net_driver as a stopgap,
#XXX DO NOT DEPLOY!! XXX see redmine #2487
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
@sessioned
def update_security_group(self, context, id, security_group, net_driver):
return security_groups.update_security_group(context, id,

View File

@@ -14,12 +14,10 @@
# under the License.
import webob
from neutron.common import exceptions
from neutron.openstack.common import importutils
from neutron.openstack.common import log as logging
from oslo.config import cfg
from quark.db import api as db_api
from quark import exceptions as quark_exceptions
from quark import plugin_views as v
@@ -39,7 +37,7 @@ def get_ip_addresses(context, **filters):
def get_ip_address(context, id):
LOG.info("get_ip_address %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
addr = db_api.ip_address_find(context, id=id, scope=db_api.ONE)
if not addr:
raise quark_exceptions.IpAddressNotFound(addr_id=id)
@@ -101,7 +99,7 @@ def _get_deallocated_override():
def update_ip_address(context, id, ip_address):
LOG.info("update_ip_address %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
with context.session.begin():
address = db_api.ip_address_find(

View File

@@ -15,7 +15,6 @@
import netaddr
from neutron.openstack.common import log as logging
from quark.db import api as db_api
from quark import exceptions as quark_exceptions
from quark import plugin_views as v
@@ -27,7 +26,7 @@ def _to_mac_range(val):
cidr_parts = val.split("/")
prefix = cidr_parts[0]
#FIXME(anyone): replace is slow, but this doesn't really
# FIXME(anyone): replace is slow, but this doesn't really
# get called ever. Fix maybe?
prefix = prefix.replace(':', '')
prefix = prefix.replace('-', '')
@@ -61,7 +60,7 @@ def get_mac_address_range(context, id, fields=None):
will be returned.
"""
LOG.info("get_mac_address_range %s for tenant %s fields %s" %
(id, context.tenant_id, fields))
(id, context.tenant_id, fields))
mac_address_range = db_api.mac_address_range_find(
context, id=id, scope=db_api.ONE)

View File

@@ -38,7 +38,7 @@ ipam_driver = (importutils.import_class(CONF.QUARK.ipam_driver))()
def _adapt_provider_nets(context, network):
#TODO(mdietz) going to ignore all the boundary and network
# TODO(mdietz) going to ignore all the boundary and network
# type checking for now.
attrs = network["network"]
net_type = utils.pop_param(attrs, pnet.NETWORK_TYPE)
@@ -72,7 +72,7 @@ def create_network(context, network):
else:
net_uuid = uuidutils.generate_uuid()
#TODO(mdietz) this will be the first component registry hook, but
# TODO(mdietz) this will be the first component registry hook, but
# lets make it work first
pnet_type, phys_net, seg_id = _adapt_provider_nets(context, network)
@@ -111,7 +111,7 @@ def create_network(context, network):
new_subnets.append(s)
new_net["subnets"] = new_subnets
#if not security_groups.get_security_groups(
# if not security_groups.get_security_groups(
# context,
# filters={"id": security_groups.DEFAULT_SG_UUID}):
# security_groups._create_default_security_group(context)
@@ -129,7 +129,7 @@ def update_network(context, id, network):
neutron/api/v2/attributes.py.
"""
LOG.info("update_network %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
with context.session.begin():
net = db_api.network_find(context, id=id, scope=db_api.ONE)
if not net:
@@ -150,7 +150,7 @@ def get_network(context, id, fields=None):
will be returned.
"""
LOG.info("get_network %s for tenant %s fields %s" %
(id, context.tenant_id, fields))
(id, context.tenant_id, fields))
network = db_api.network_find(context, id=id, join_subnets=True,
scope=db_api.ONE)
@@ -179,7 +179,7 @@ def get_networks(context, filters=None, fields=None):
will be returned.
"""
LOG.info("get_networks for tenant %s with filters %s, fields %s" %
(context.tenant_id, filters, fields))
(context.tenant_id, filters, fields))
nets = db_api.network_find(context, join_subnets=True, **filters) or []
nets = [v._make_network_dict(net, fields=fields) for net in nets]
return nets
@@ -203,7 +203,7 @@ def get_networks_count(context, filters=None):
defined plugin API.
"""
LOG.info("get_networks_count for tenant %s filters %s" %
(context.tenant_id, filters))
(context.tenant_id, filters))
return db_api.network_count_all(context)

View File

@@ -203,7 +203,7 @@ def update_port(context, id, port):
fixed_ips = port["port"].pop("fixed_ips", None)
if fixed_ips is not None:
#NOTE(mdietz): we want full control over IPAM since
# NOTE(mdietz): we want full control over IPAM since
# we're allocating by subnet instead of
# network.
ipam_driver = ipam.IPAM_REGISTRY.get_strategy(
@@ -272,7 +272,7 @@ def update_port(context, id, port):
with context.session.begin():
port = db_api.port_update(context, port_db, **port["port"])
#NOTE(mdietz): fix for issue 112, we wanted the IPs to be in
# NOTE(mdietz): fix for issue 112, we wanted the IPs to be in
# allocated_at order, so get a fresh object every time
if port_db in context.session:
context.session.expunge(port_db)
@@ -344,7 +344,7 @@ def get_port(context, id, fields=None):
will be returned.
"""
LOG.info("get_port %s for tenant %s fields %s" %
(id, context.tenant_id, fields))
(id, context.tenant_id, fields))
results = db_api.port_find(context, id=id, fields=fields,
scope=db_api.ONE)
@@ -374,7 +374,7 @@ def get_ports(context, filters=None, fields=None):
will be returned.
"""
LOG.info("get_ports for tenant %s filters %s fields %s" %
(context.tenant_id, filters, fields))
(context.tenant_id, filters, fields))
if filters is None:
filters = {}
@@ -411,7 +411,7 @@ def get_ports_count(context, filters=None):
defined plugin API.
"""
LOG.info("get_ports_count for tenant %s filters %s" %
(context.tenant_id, filters))
(context.tenant_id, filters))
return db_api.port_count_all(context, join_security_groups=True, **filters)
@@ -422,7 +422,7 @@ def delete_port(context, id):
: param id: UUID representing the port to delete.
"""
LOG.info("delete_port %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
port = db_api.port_find(context, id=id, scope=db_api.ONE)
if not port:
@@ -453,7 +453,7 @@ def disassociate_port(context, id, ip_address_id):
disassociate.
"""
LOG.info("disassociate_port %s for tenant %s ip_address_id %s" %
(id, context.tenant_id, ip_address_id))
(id, context.tenant_id, ip_address_id))
with context.session.begin():
port = db_api.port_find(context, id=id, ip_address_id=[ip_address_id],
scope=db_api.ONE)

View File

@@ -71,7 +71,7 @@ def create_route(context, route):
def delete_route(context, id):
#TODO(mdietz): This is probably where we check to see that someone is
# TODO(mdietz): This is probably where we check to see that someone is
# admin and only filter on tenant if they aren't. Correct
# for all the above later
LOG.info("delete_route %s for tenant %s" % (id, context.tenant_id))

View File

@@ -67,9 +67,9 @@ def _validate_security_group_rule(context, rule):
def create_security_group(context, security_group, net_driver):
# TODO(dietz/perkins): passing in net_driver as a stopgap,
# XXX DO NOT DEPLOY!! XXX see redmine #2487
# XXX DO NOT DEPLOY!! XXX see redmine # 2487
LOG.info("create_security_group for tenant %s" %
(context.tenant_id))
(context.tenant_id))
group = security_group["security_group"]
group_name = group.get('name', '')
if group_name == "default":
@@ -121,7 +121,7 @@ def _create_default_security_group(context, net_driver):
def create_security_group_rule(context, security_group_rule, net_driver):
LOG.info("create_security_group for tenant %s" %
(context.tenant_id))
(context.tenant_id))
with context.session.begin():
rule = _validate_security_group_rule(
@@ -146,12 +146,12 @@ def create_security_group_rule(context, security_group_rule, net_driver):
def delete_security_group(context, id, net_driver):
LOG.info("delete_security_group %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
with context.session.begin():
group = db_api.security_group_find(context, id=id, scope=db_api.ONE)
#TODO(anyone): name and ports are lazy-loaded. Could be good op later
# TODO(anyone): name and ports are lazy-loaded. Could be good op later
if not group:
raise sg_ext.SecurityGroupNotFound(group_id=id)
if id == DEFAULT_SG_UUID or group.name == "default":
@@ -164,7 +164,7 @@ def delete_security_group(context, id, net_driver):
def delete_security_group_rule(context, id, net_driver):
LOG.info("delete_security_group %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
with context.session.begin():
rule = db_api.security_group_rule_find(context, id=id,
scope=db_api.ONE)
@@ -185,7 +185,7 @@ def delete_security_group_rule(context, id, net_driver):
def get_security_group(context, id, fields=None):
LOG.info("get_security_group %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
group = db_api.security_group_find(context, id=id, scope=db_api.ONE)
if not group:
raise sg_ext.SecurityGroupNotFound(group_id=id)
@@ -194,7 +194,7 @@ def get_security_group(context, id, fields=None):
def get_security_group_rule(context, id, fields=None):
LOG.info("get_security_group_rule %s for tenant %s" %
(id, context.tenant_id))
(id, context.tenant_id))
rule = db_api.security_group_rule_find(context, id=id,
scope=db_api.ONE)
if not rule:
@@ -206,7 +206,7 @@ def get_security_groups(context, filters=None, fields=None,
sorts=None, limit=None, marker=None,
page_reverse=False):
LOG.info("get_security_groups for tenant %s" %
(context.tenant_id))
(context.tenant_id))
groups = db_api.security_group_find(context, **filters)
return [v._make_security_group_dict(group) for group in groups]
@@ -215,7 +215,7 @@ def get_security_group_rules(context, filters=None, fields=None,
sorts=None, limit=None, marker=None,
page_reverse=False):
LOG.info("get_security_group_rules for tenant %s" %
(context.tenant_id))
(context.tenant_id))
rules = db_api.security_group_rule_find(context, **filters)
return [v._make_security_group_rule_dict(rule) for rule in rules]

View File

@@ -248,7 +248,7 @@ def get_subnet(context, id, fields=None):
will be returned.
"""
LOG.info("get_subnet %s for tenant %s with fields %s" %
(id, context.tenant_id, fields))
(id, context.tenant_id, fields))
subnet = db_api.subnet_find(context, id=id, join_dns=True,
join_routes=True, scope=db_api.ONE)
if not subnet:
@@ -282,7 +282,7 @@ def get_subnets(context, filters=None, fields=None):
will be returned.
"""
LOG.info("get_subnets for tenant %s with filters %s fields %s" %
(context.tenant_id, filters, fields))
(context.tenant_id, filters, fields))
subnets = db_api.subnet_find(context, join_dns=True, join_routes=True,
**filters)
return v._make_subnets_list(subnets, fields=fields)
@@ -306,7 +306,7 @@ def get_subnets_count(context, filters=None):
defined plugin API.
"""
LOG.info("get_subnets_count for tenant %s with filters %s" %
(context.tenant_id, filters))
(context.tenant_id, filters))
return db_api.subnet_count_all(context, **filters)

View File

@@ -18,11 +18,9 @@ View Helpers for Quark Plugin
"""
import netaddr
from neutron.extensions import securitygroup as sg_ext
from neutron.openstack.common import log as logging
from oslo.config import cfg
from quark.db import api as db_api
from quark.db import models
from quark import network_strategy
@@ -115,18 +113,18 @@ def _make_subnet_dict(subnet, fields=None):
return {"destination": route["cidr"],
"nexthop": route["gateway"]}
#TODO(mdietz): really inefficient, should go away
# TODO(mdietz): really inefficient, should go away
res["gateway_ip"] = None
res["host_routes"] = []
default_found = False
for route in subnet["routes"]:
netroute = netaddr.IPNetwork(route["cidr"])
if _is_default_route(netroute):
#NOTE(mdietz): This has the potential to find more than one default
# route. Quark normally won't allow you to create
# more than one, but it's plausible one exists
# regardless. As such, we're going to pretend
# it isn't possible, but log it anyway.
# NOTE(mdietz): This has the potential to find more than one
# default route. Quark normally won't allow you to create
# more than one, but it's plausible one exists regardless.
# As such, we're going to pretend it isn't possible, but
# log it anyway.
if default_found:
LOG.info(_("Default route %(gateway_ip)s already found for "
"subnet %(id)s") % res)
@@ -178,7 +176,7 @@ def _port_dict(port, fields=None):
mac = str(netaddr.EUI(res["mac_address"])).replace('-', ':')
res["mac_address"] = mac
#NOTE(mdietz): more pythonic key in dict check fails here. Leave as get
# NOTE(mdietz): more pythonic key in dict check fails here. Leave as get
if port.get("bridge"):
res["bridge"] = port["bridge"]
return res

View File

@@ -73,9 +73,9 @@ class TestNVPDriver(test_base.TestBase):
def _create_lport_query(self, switch_count, profiles=[]):
query = mock.Mock()
port_list = {"_relations":
{"LogicalSwitchConfig":
{"uuid": self.lswitch_uuid,
"security_profiles": profiles}}}
{"LogicalSwitchConfig":
{"uuid": self.lswitch_uuid,
"security_profiles": profiles}}}
port_query = {"results": [port_list], "result_count": switch_count}
query.results = mock.Mock(return_value=port_query)
query.security_profile_uuid().results.return_value = {

View File

@@ -14,6 +14,7 @@
# under the License.
import contextlib
import cProfile as profiler
import gc
try:
@@ -23,9 +24,6 @@ except Exception:
pass
import sys
import time
import contextlib
from neutron.api.v2 import attributes
from neutron.openstack.common import log as logging