Fix flake8 H404 errors

Fix H404 error and start enforcing it.

Trivialfix

Change-Id: Iaa6fb4f1f07dee32a944259ab65204360d9db7ea
This commit is contained in:
Brian Haley 2018-10-04 14:19:16 -04:00 committed by Manjeet Singh Bhatia
parent c4b16aa492
commit 2b57f08576
34 changed files with 89 additions and 88 deletions

View File

@ -30,7 +30,8 @@ LOG = logging.getLogger(__name__)
class RouterFipRateLimitMaps(qos_base.RateLimitMaps): class RouterFipRateLimitMaps(qos_base.RateLimitMaps):
def __init__(self): def __init__(self):
""" """Initialize RouterFipRateLimitMaps
The router_floating_ips will be: The router_floating_ips will be:
router_floating_ips = { router_floating_ips = {
router_id_1: set(fip1, fip2), router_id_1: set(fip1, fip2),

View File

@ -760,7 +760,8 @@ class Dnsmasq(DhcpLocalProcess):
return leases return leases
def _read_leases_file_leases(self, filename, ip_version=None): def _read_leases_file_leases(self, filename, ip_version=None):
""" """Read dnsmasq dhcp leases file
Read information from leases file, which is needed to pass to Read information from leases file, which is needed to pass to
dhcp_release6 command line utility if some of these leases are not dhcp_release6 command line utility if some of these leases are not
needed anymore needed anymore

View File

@ -257,8 +257,7 @@ def remove_conf_files(cfg_root, uuid):
def get_root_helper_child_pid(pid, expected_cmd, run_as_root=False): def get_root_helper_child_pid(pid, expected_cmd, run_as_root=False):
""" """Get the first non root_helper child pid in the process hierarchy.
Get the first non root_helper child pid in the process hierarchy.
If root helper was used, two or more processes would be created: If root helper was used, two or more processes would be created:

View File

@ -31,8 +31,8 @@ Connection = moves.moved_class(_connection.Connection, 'Connection', __name__)
def configure_ssl_conn(): def configure_ssl_conn():
""" """Configures required settings for an SSL based OVSDB client connection
Configures required settings for an SSL based OVSDB client connection
:return: None :return: None
""" """

View File

@ -48,7 +48,8 @@ def setup_conf():
def get_bridge_deletable_ports(br): def get_bridge_deletable_ports(br):
""" """Get bridge deletable ports
Return a list of OVS Bridge ports, excluding the ports who should not be Return a list of OVS Bridge ports, excluding the ports who should not be
cleaned. such ports are tagged with the 'skip_cleanup' key in external_ids. cleaned. such ports are tagged with the 'skip_cleanup' key in external_ids.
""" """

View File

@ -295,7 +295,8 @@ def _hex_format(port, mask=0):
def _gen_rules_port_min(port_min, top_bit): def _gen_rules_port_min(port_min, top_bit):
""" """Generate rules for port_min
Encode a port range range(port_min, (port_min | (top_bit - 1)) + 1) into Encode a port range range(port_min, (port_min | (top_bit - 1)) + 1) into
a set of bit value/masks. a set of bit value/masks.
""" """
@ -376,7 +377,8 @@ def _gen_rules_port_min(port_min, top_bit):
def _gen_rules_port_max(port_max, top_bit): def _gen_rules_port_max(port_max, top_bit):
""" """Generate rules for port_max
Encode a port range range(port_max & ~(top_bit - 1), port_max + 1) into Encode a port range range(port_max & ~(top_bit - 1), port_max + 1) into
a set of bit value/masks. a set of bit value/masks.
""" """
@ -624,8 +626,7 @@ def transaction_guard(f):
def wait_until_true(predicate, timeout=60, sleep=1, exception=None): def wait_until_true(predicate, timeout=60, sleep=1, exception=None):
""" """Wait until callable predicate is evaluated as True
Wait until callable predicate is evaluated as True
:param predicate: Callable deciding whether waiting should continue. :param predicate: Callable deciding whether waiting should continue.
Best practice is to instantiate predicate with functools.partial() Best practice is to instantiate predicate with functools.partial()
@ -662,7 +663,8 @@ class _AuthenticBase(object):
class AuthenticEUI(_AuthenticBase, netaddr.EUI): class AuthenticEUI(_AuthenticBase, netaddr.EUI):
''' '''AuthenticEUI class
This class retains the format of the MAC address string passed during This class retains the format of the MAC address string passed during
initialization. initialization.
@ -672,7 +674,8 @@ class AuthenticEUI(_AuthenticBase, netaddr.EUI):
class AuthenticIPNetwork(_AuthenticBase, netaddr.IPNetwork): class AuthenticIPNetwork(_AuthenticBase, netaddr.IPNetwork):
''' '''AuthenticIPNetwork class
This class retains the format of the IP network string passed during This class retains the format of the IP network string passed during
initialization. initialization.

View File

@ -287,8 +287,7 @@ class DVRResourceOperationHandler(object):
def _delete_dvr_internal_ports(self, event, trigger, resource, def _delete_dvr_internal_ports(self, event, trigger, resource,
context, router, network_id, context, router, network_id,
new_network_id, **kwargs): new_network_id, **kwargs):
""" """GW port AFTER_DELETE event handler to cleanup DVR ports.
GW port AFTER_DELETE event handler to cleanup DVR ports.
This event is emitted when a router gateway port is being deleted, This event is emitted when a router gateway port is being deleted,
so go ahead and delete the csnat ports and the floatingip so go ahead and delete the csnat ports and the floatingip

View File

@ -48,8 +48,7 @@ def get_inspector():
def get_tables(): def get_tables():
""" """Returns hardcoded list of tables which have ``tenant_id`` column.
Returns hardcoded list of tables which have ``tenant_id`` column.
DB head can be changed. To prevent possible problems, when models will be DB head can be changed. To prevent possible problems, when models will be
updated, return hardcoded list of tables, up-to-date for this day. updated, return hardcoded list of tables, up-to-date for this day.

View File

@ -46,8 +46,7 @@ def upgrade():
def contract_creation_exceptions(): def contract_creation_exceptions():
""" """Return create exceptions.
Return create exceptions.
These elements depend on the networksegments table which was renamed These elements depend on the networksegments table which was renamed
in the contract branch. in the contract branch.

View File

@ -87,8 +87,7 @@ def upgrade():
def contract_creation_exceptions(): def contract_creation_exceptions():
""" """Return create exceptions.
Return create exceptions.
These elements depend on the networksegments table which are added These elements depend on the networksegments table which are added
in the contract branch. in the contract branch.

View File

@ -60,7 +60,8 @@ def upgrade():
def expand_drop_exceptions(): def expand_drop_exceptions():
""" """Drop and extend the ML2 port bindings key contraint
Drop the existing primary key constraint and then extend it to include Drop the existing primary key constraint and then extend it to include
host as the primary key to support multiple bindings for the same port. host as the primary key to support multiple bindings for the same port.
This is needed to use drop in expand migration to pass test_branches. This is needed to use drop in expand migration to pass test_branches.

View File

@ -58,7 +58,8 @@ def upgrade():
def expand_drop_exceptions(): def expand_drop_exceptions():
""" """Drop and replace the QoS policy foreign key contraint
Drop the existing QoS policy foreign key uniq constraint and then replace Drop the existing QoS policy foreign key uniq constraint and then replace
it with new unique constraint for pair (policy_id, direction). it with new unique constraint for pair (policy_id, direction).

View File

@ -494,7 +494,8 @@ def _get_head_file_path(config):
def _get_heads_file_path(config): def _get_heads_file_path(config):
''' '''Get heads file path
Return the path of the file that was once used to maintain the list of Return the path of the file that was once used to maintain the list of
latest heads. latest heads.
''' '''
@ -504,18 +505,14 @@ def _get_heads_file_path(config):
def _get_contract_head_file_path(config): def _get_contract_head_file_path(config):
''' '''Return the path of the file that is used to maintain contract head'''
Return the path of the file that is used to maintain contract head
'''
return os.path.join( return os.path.join(
_get_root_versions_dir(config), _get_root_versions_dir(config),
CONTRACT_HEAD_FILENAME) CONTRACT_HEAD_FILENAME)
def _get_expand_head_file_path(config): def _get_expand_head_file_path(config):
''' '''Return the path of the file that is used to maintain expand head'''
Return the path of the file that is used to maintain expand head
'''
return os.path.join( return os.path.join(
_get_root_versions_dir(config), _get_root_versions_dir(config),
EXPAND_HEAD_FILENAME) EXPAND_HEAD_FILENAME)

View File

@ -127,7 +127,8 @@ class AnySubnetRequest(SubnetRequest):
def __init__(self, tenant_id, subnet_id, version, prefixlen, def __init__(self, tenant_id, subnet_id, version, prefixlen,
gateway_ip=None, allocation_pools=None): gateway_ip=None, allocation_pools=None):
""" """Initialize AnySubnetRequest
:param version: Either constants.IPv4 or constants.IPv6 :param version: Either constants.IPv4 or constants.IPv6
:param prefixlen: The prefix len requested. Must be within the min and :param prefixlen: The prefix len requested. Must be within the min and
max allowed. max allowed.
@ -158,7 +159,8 @@ class SpecificSubnetRequest(SubnetRequest):
""" """
def __init__(self, tenant_id, subnet_id, subnet_cidr, def __init__(self, tenant_id, subnet_id, subnet_cidr,
gateway_ip=None, allocation_pools=None): gateway_ip=None, allocation_pools=None):
""" """Initialize SpecificSubnetRequest
:param subnet: The subnet requested. Can be IPv4 or IPv6. However, :param subnet: The subnet requested. Can be IPv4 or IPv6. However,
when IPAM tries to fulfill this request, the IP version must match when IPAM tries to fulfill this request, the IP version must match
the version of the address scope being used. the version of the address scope being used.
@ -190,7 +192,8 @@ class AddressRequest(object):
class SpecificAddressRequest(AddressRequest): class SpecificAddressRequest(AddressRequest):
"""For requesting a specified address from IPAM""" """For requesting a specified address from IPAM"""
def __init__(self, address): def __init__(self, address):
""" """Initialize SpecificAddressRequest
:param address: The address being requested :param address: The address being requested
:type address: A netaddr.IPAddress or convertible to one. :type address: A netaddr.IPAddress or convertible to one.
""" """
@ -226,7 +229,8 @@ class AutomaticAddressRequest(SpecificAddressRequest):
_address_generators = {EUI64: _generate_eui64_address} _address_generators = {EUI64: _generate_eui64_address}
def __init__(self, address_type=EUI64, **kwargs): def __init__(self, address_type=EUI64, **kwargs):
""" """Initialize AutomaticAddressRequest
This constructor builds an automatic IP address. Parameter needed for This constructor builds an automatic IP address. Parameter needed for
generating it can be passed as optional keyword arguments. generating it can be passed as optional keyword arguments.
@ -256,7 +260,8 @@ class AddressRequestFactory(object):
@classmethod @classmethod
def get_request(cls, context, port, ip_dict): def get_request(cls, context, port, ip_dict):
""" """Initialize AddressRequestFactory
:param context: context (not used here, but can be used in sub-classes) :param context: context (not used here, but can be used in sub-classes)
:param port: port dict (not used here, but can be used in sub-classes) :param port: port dict (not used here, but can be used in sub-classes)
:param ip_dict: dict that can contain 'ip_address', 'mac' and :param ip_dict: dict that can contain 'ip_address', 'mac' and

View File

@ -65,12 +65,14 @@ def register_filter_hook_on_model(model, filter_name):
class Pager(object): class Pager(object):
''' '''Pager class
This class represents a pager object. It is consumed by get_objects to This class represents a pager object. It is consumed by get_objects to
specify sorting and pagination criteria. specify sorting and pagination criteria.
''' '''
def __init__(self, sorts=None, limit=None, page_reverse=None, marker=None): def __init__(self, sorts=None, limit=None, page_reverse=None, marker=None):
''' '''Initialize
:param sorts: A list of (key, direction) tuples. :param sorts: A list of (key, direction) tuples.
direction: True == ASC, False == DESC direction: True == ASC, False == DESC
:param limit: maximum number of items to return :param limit: maximum number of items to return
@ -447,7 +449,8 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def modify_fields_to_db(cls, fields): def modify_fields_to_db(cls, fields):
""" """Modify the fields before data is inserted into DB.
This method enables to modify the fields and its This method enables to modify the fields and its
content before data is inserted into DB. content before data is inserted into DB.
@ -537,7 +540,8 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def get_object(cls, context, **kwargs): def get_object(cls, context, **kwargs):
""" """Fetch a single object
Return the first result of given context or None if the result doesn't Return the first result of given context or None if the result doesn't
contain any row. Next, convert it to a versioned object. contain any row. Next, convert it to a versioned object.
@ -561,7 +565,8 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def get_objects(cls, context, _pager=None, validate_filters=True, def get_objects(cls, context, _pager=None, validate_filters=True,
**kwargs): **kwargs):
""" """Fetch a list of objects
Fetch all results from DB and convert them to versioned objects. Fetch all results from DB and convert them to versioned objects.
:param context: :param context:
@ -581,8 +586,7 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def update_object(cls, context, values, validate_filters=True, **kwargs): def update_object(cls, context, values, validate_filters=True, **kwargs):
""" """Update an object that match filtering criteria from DB.
Update an object that match filtering criteria from DB.
:param context: :param context:
:param values: multiple keys to update in matching objects :param values: multiple keys to update in matching objects
@ -610,8 +614,7 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def update_objects(cls, context, values, validate_filters=True, **kwargs): def update_objects(cls, context, values, validate_filters=True, **kwargs):
""" """Update objects that match filtering criteria from DB.
Update objects that match filtering criteria from DB.
:param context: :param context:
:param values: multiple keys to update in matching objects :param values: multiple keys to update in matching objects
@ -636,8 +639,7 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def delete_objects(cls, context, validate_filters=True, **kwargs): def delete_objects(cls, context, validate_filters=True, **kwargs):
""" """Delete objects that match filtering criteria from DB.
Delete objects that match filtering criteria from DB.
:param context: :param context:
:param validate_filters: Raises an error in case of passing an unknown :param validate_filters: Raises an error in case of passing an unknown
@ -701,7 +703,8 @@ class NeutronDbObject(NeutronObject):
return fields return fields
def load_synthetic_db_fields(self, db_obj=None): def load_synthetic_db_fields(self, db_obj=None):
""" """Load synthetic DB fields
Load the synthetic fields that are stored in a different table from the Load the synthetic fields that are stored in a different table from the
main object. main object.
@ -816,8 +819,7 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def count(cls, context, validate_filters=True, **kwargs): def count(cls, context, validate_filters=True, **kwargs):
""" """Count the number of objects matching filtering criteria.
Count the number of objects matching filtering criteria.
:param context: :param context:
:param validate_filters: Raises an error in case of passing an unknown :param validate_filters: Raises an error in case of passing an unknown
@ -833,8 +835,7 @@ class NeutronDbObject(NeutronObject):
@classmethod @classmethod
def objects_exist(cls, context, validate_filters=True, **kwargs): def objects_exist(cls, context, validate_filters=True, **kwargs):
""" """Check if objects are present in DB.
Check if objects are present in DB.
:param context: :param context:
:param validate_filters: Raises an error in case of passing an unknown :param validate_filters: Raises an error in case of passing an unknown

View File

@ -110,9 +110,7 @@ class OVSPort(object):
@profiler.trace_cls("ovs_dvr_agent") @profiler.trace_cls("ovs_dvr_agent")
class OVSDVRNeutronAgent(object): class OVSDVRNeutronAgent(object):
''' '''Implements OVS-based DVR (Distributed Virtual Router) agent'''
Implements OVS-based DVR(Distributed Virtual Router), for overlay networks.
'''
# history # history
# 1.0 Initial version # 1.0 Initial version

View File

@ -1744,7 +1744,8 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
def update_port_status(self, context, port_id, status, host=None, def update_port_status(self, context, port_id, status, host=None,
network=None): network=None):
""" """Update port status
Returns port_id (non-truncated uuid) if the port exists. Returns port_id (non-truncated uuid) if the port exists.
Otherwise returns None. Otherwise returns None.
'network' is deprecated and has no effect 'network' is deprecated and has no effect

View File

@ -101,7 +101,8 @@ class ResourceValidateRequest(object):
return self.validate_methods return self.validate_methods
def validate_request(self, context, log_data): def validate_request(self, context, log_data):
""" """Validate request
This method will get validated method according to resource_type. An This method will get validated method according to resource_type. An
InvalidLogResourceType exception will be raised if there is no logging InvalidLogResourceType exception will be raised if there is no logging
driver that supports resource_type as logging resource. In addition, driver that supports resource_type as logging resource. In addition,

View File

@ -228,7 +228,8 @@ class SubPortsValidator(object):
return subport_mtus return subport_mtus
def _get_port_mtu(self, context, port_id): def _get_port_mtu(self, context, port_id):
""" """Get port MTU
Return MTU for the network where the given port belongs to. Return MTU for the network where the given port belongs to.
If the network or port cannot be obtained, or if MTU is not defined, If the network or port cannot be obtained, or if MTU is not defined,
returns None. returns None.

View File

@ -119,9 +119,7 @@ def get_rootwrap_daemon_cmd():
class AttributeDict(dict): class AttributeDict(dict):
""" """Provide attribute access (dict.key) to dictionary values."""
Provide attribute access (dict.key) to dictionary values.
"""
def __getattr__(self, name): def __getattr__(self, name):
"""Allow attribute access for all keys in the dict.""" """Allow attribute access for all keys in the dict."""

View File

@ -423,7 +423,8 @@ class NetcatTester(object):
def __init__(self, client_namespace, server_namespace, address, def __init__(self, client_namespace, server_namespace, address,
dst_port, protocol, server_address=None, src_port=None): dst_port, protocol, server_address=None, src_port=None):
""" """Initialize NetcatTester
Tool for testing connectivity on transport layer using netcat Tool for testing connectivity on transport layer using netcat
executable. executable.

View File

@ -324,7 +324,8 @@ class Environment(fixtures.Fixture):
""" """
def __init__(self, env_desc, hosts_desc): def __init__(self, env_desc, hosts_desc):
""" """Initialize Environment
:param env_desc: An EnvironmentDescription instance. :param env_desc: An EnvironmentDescription instance.
:param hosts_desc: A list of HostDescription instances. :param hosts_desc: A list of HostDescription instances.
""" """

View File

@ -61,9 +61,7 @@ class AdminDirFixture(fixtures.Fixture):
class SleepyProcessFixture(fixtures.Fixture): class SleepyProcessFixture(fixtures.Fixture):
""" """Process fixture to perform time.sleep for a given number of seconds."""
Process fixture that performs time.sleep for the given number of seconds.
"""
def __init__(self, timeout=60): def __init__(self, timeout=60):
super(SleepyProcessFixture, self).__init__() super(SleepyProcessFixture, self).__init__()

View File

@ -27,7 +27,8 @@ TEST_PATH = os.path.dirname(os.path.abspath(__file__))
class APIPolicyTestCase(base.BaseTestCase): class APIPolicyTestCase(base.BaseTestCase):
""" """Base class for API policy tests
Tests for REST API policy checks. Ideally this would be done against an Tests for REST API policy checks. Ideally this would be done against an
environment with an instantiated plugin, but there appears to be problems environment with an instantiated plugin, but there appears to be problems
with instantiating a plugin against an sqlite environment and as yet, there with instantiating a plugin against an sqlite environment and as yet, there
@ -59,7 +60,8 @@ class APIPolicyTestCase(base.BaseTestCase):
return policy.check(context, 'get_network', self._network_definition()) return policy.check(context, 'get_network', self._network_definition())
def test_premature_loading(self): def test_premature_loading(self):
""" """Test premature policy loading
Verifies that loading policies by way of admin context before Verifies that loading policies by way of admin context before
populating extensions and extending the resource map results in populating extensions and extending the resource map results in
networks with router:external is true being invisible to regular networks with router:external is true being invisible to regular
@ -74,7 +76,8 @@ class APIPolicyTestCase(base.BaseTestCase):
self.assertFalse(self._check_external_router_policy(tenant_context)) self.assertFalse(self._check_external_router_policy(tenant_context))
def test_proper_load_order(self): def test_proper_load_order(self):
""" """Test proper policy load order
Verifies that loading policies by way of admin context after Verifies that loading policies by way of admin context after
populating extensions and extending the resource map results in populating extensions and extending the resource map results in
networks with router:external are visible to regular tenants. networks with router:external are visible to regular tenants.

View File

@ -36,8 +36,7 @@ class BaseLoggingTestCase(base.BaseTestCase):
class BaseSudoTestCase(BaseLoggingTestCase): class BaseSudoTestCase(BaseLoggingTestCase):
""" """Base class for tests requiring invocation of commands via a root helper.
Base class for tests requiring invocation of commands via a root helper.
This class skips (during setUp) its tests unless sudo is enabled, ie: This class skips (during setUp) its tests unless sudo is enabled, ie:
OS_SUDO_TESTING is set to '1' or 'True' in the test execution environment. OS_SUDO_TESTING is set to '1' or 'True' in the test execution environment.

View File

@ -67,8 +67,7 @@ OPTS = [
class ProcessSpawn(daemon.Daemon): class ProcessSpawn(daemon.Daemon):
""" """This class is part of the functional test of the netns_cleanup module.
This class is part of the functional test of the netns_cleanup module.
It allows spawning processes that listen on random ports either on It allows spawning processes that listen on random ports either on
tcp(6), udp(6) or unix sockets. Also it allows handling or ignoring tcp(6), udp(6) or unix sockets. Also it allows handling or ignoring

View File

@ -87,8 +87,7 @@ class NetnsCleanupTest(base.BaseSudoTestCase):
@staticmethod @staticmethod
def _launch_processes(namespaces): def _launch_processes(namespaces):
""" """Launch processes in the specified namespaces.
Launch processes in the specified namespaces.
This function will spawn processes inside the given namespaces: This function will spawn processes inside the given namespaces:
- 6 processes listening on tcp ports (parent + 5 children) - 6 processes listening on tcp ports (parent + 5 children)

View File

@ -36,9 +36,7 @@ load_tests = testlib_api.module_load_tests
class IpamTestCase(testlib_api.SqlTestCase): class IpamTestCase(testlib_api.SqlTestCase):
""" """Base class for tests that aim to test ip allocation."""
Base class for tests that aim to test ip allocation.
"""
def setUp(self): def setUp(self):
super(IpamTestCase, self).setUp() super(IpamTestCase, self).setUp()
cfg.CONF.set_override('notify_nova_on_port_status_changes', False) cfg.CONF.set_override('notify_nova_on_port_status_changes', False)

View File

@ -25,7 +25,8 @@ __all__ = ['FunctionalTest']
class FunctionalTest(unittest2.TestCase): class FunctionalTest(unittest2.TestCase):
""" """Pecan wsgi functional test base class
Used for functional tests where you need to test your Used for functional tests where you need to test your
literal application and its integration with the framework. literal application and its integration with the framework.
""" """

View File

@ -823,8 +823,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
def _test_ext_gw_updated_dvr_edge_router(self, host_match, def _test_ext_gw_updated_dvr_edge_router(self, host_match,
snat_hosted_before=True): snat_hosted_before=True):
""" """Helper to test external gw update for edge router on dvr_snat agent
Helper to test external gw update for edge router on dvr_snat agent
:param host_match: True if new gw host should be the same as agent host :param host_match: True if new gw host should be the same as agent host
:param snat_hosted_before: True if agent has already been hosting :param snat_hosted_before: True if agent has already been hosting

View File

@ -780,9 +780,7 @@ class NeutronDbPluginV2TestCase(testlib_api.WebTestCase):
self.assertEqual(expected_res, [n['id'] for n in item_res]) self.assertEqual(expected_res, [n['id'] for n in item_res])
def _compare_resource(self, observed_res, expected_res, res_name): def _compare_resource(self, observed_res, expected_res, res_name):
''' '''Compare the observed and expected resources (ie compare subnets)'''
Compare the observed and expected resources (ie compare subnets)
'''
for k in expected_res: for k in expected_res:
self.assertIn(k, observed_res[res_name]) self.assertIn(k, observed_res[res_name])
if isinstance(expected_res[k], list): if isinstance(expected_res[k], list):

View File

@ -282,8 +282,8 @@ class FakeNeutronObjectUniqueKey(base.NeutronDbObject):
@base.NeutronObjectRegistry.register_if(False) @base.NeutronObjectRegistry.register_if(False)
class FakeNeutronObjectRenamedField(base.NeutronDbObject): class FakeNeutronObjectRenamedField(base.NeutronDbObject):
""" """Testing renaming the parameter from DB to NeutronDbObject
Testing renaming the parameter from DB to NeutronDbObject
For tests: For tests:
- db fields: id, field_db, field2 - db fields: id, field_db, field2
- object: id, field_ovo, field2 - object: id, field_ovo, field2

View File

@ -2282,7 +2282,8 @@ class TestOvsNeutronAgent(object):
self.assertEqual([], ofport_changed_ports) self.assertEqual([], ofport_changed_ports)
def test__setup_tunnel_port_while_new_mapping_is_added(self): def test__setup_tunnel_port_while_new_mapping_is_added(self):
""" """Test setup_tunnel_port while adding a new mapping
Test that _setup_tunnel_port doesn't fail if new vlan mapping is Test that _setup_tunnel_port doesn't fail if new vlan mapping is
added in a different coroutine while iterating over existing mappings. added in a different coroutine while iterating over existing mappings.
See bug 1449944 for more info. See bug 1449944 for more info.

View File

@ -155,7 +155,6 @@ commands = sphinx-build -W -b linkcheck doc/source doc/build/linkcheck
# E125 continuation line does not distinguish itself from next logical line # E125 continuation line does not distinguish itself from next logical line
# E126 continuation line over-indented for hanging indent # E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent # E128 continuation line under-indented for visual indent
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line # H405 multi line docstring summary not separated with an empty line
# N530 direct neutron imports not allowed # N530 direct neutron imports not allowed
# TODO(ihrachys) figure out what to do with N534 # TODO(ihrachys) figure out what to do with N534
@ -163,7 +162,7 @@ commands = sphinx-build -W -b linkcheck doc/source doc/build/linkcheck
# TODO(amotoki) check the following new rules should be fixed or ignored # TODO(amotoki) check the following new rules should be fixed or ignored
# E731 do not assign a lambda expression, use a def # E731 do not assign a lambda expression, use a def
# W504 line break after binary operator # W504 line break after binary operator
ignore = E125,E126,E128,E731,H404,H405,N530,N534,W504 ignore = E125,E126,E128,E731,H405,N530,N534,W504
# H106: Don't put vim configuration in source files # H106: Don't put vim configuration in source files
# H203: Use assertIs(Not)None to check for None # H203: Use assertIs(Not)None to check for None
# H204: Use assert(Not)Equal to check for equality # H204: Use assert(Not)Equal to check for equality