diff --git a/octavia_tempest_plugin/common/barbican_client_mgr.py b/octavia_tempest_plugin/common/barbican_client_mgr.py index eba1715a..3bd28077 100644 --- a/octavia_tempest_plugin/common/barbican_client_mgr.py +++ b/octavia_tempest_plugin/common/barbican_client_mgr.py @@ -73,7 +73,7 @@ class BarbicanClientManager(object): p12_secret.name = data_utils.rand_name("lb_member_barbican") p12_secret.payload = secret secret_ref = p12_secret.store() - LOG.debug('Secret {0} has ref {1}'.format(p12_secret.name, secret_ref)) + LOG.debug('Secret %s has ref %s', p12_secret.name, secret_ref) return secret_ref def delete_secret(self, secret_ref): @@ -84,5 +84,5 @@ class BarbicanClientManager(object): users=[user_id], project_access=True) acl_ref = acl_entity.submit() - LOG.debug('Secret ACL {0} added user {1}'.format(acl_ref, user_id)) + LOG.debug('Secret ACL %s added user %s', acl_ref, user_id) return acl_ref diff --git a/octavia_tempest_plugin/hacking/checks.py b/octavia_tempest_plugin/hacking/checks.py index eec74760..70089940 100644 --- a/octavia_tempest_plugin/hacking/checks.py +++ b/octavia_tempest_plugin/hacking/checks.py @@ -66,8 +66,6 @@ untranslated_exception_re = re.compile(r"raise (?:\w*)\((.*)\)") no_eventlet_re = re.compile(r'(import|from)\s+[(]?eventlet') no_line_continuation_backslash_re = re.compile(r'.*(\\)\n') no_logging_re = re.compile(r'(import|from)\s+[(]?logging') -import_mock_re = re.compile(r"\bimport[\s]+mock\b") -import_from_mock_re = re.compile(r"\bfrom[\s]+mock[\s]+import\b") def _translation_checks_not_enforced(filename): @@ -147,7 +145,7 @@ def no_log_warn(logical_line): O339 """ if logical_line.startswith('LOG.warn('): - yield(0, "O339:Use LOG.warning() rather than LOG.warn()") + yield (0, "O339:Use LOG.warning() rather than LOG.warn()") @core.flake8ext @@ -260,18 +258,3 @@ def check_no_logging_imports(logical_line): if no_logging_re.match(logical_line): msg = 'O348 Usage of Python logging module not allowed, use oslo_log' yield logical_line.index('logging'), msg - - -@core.flake8ext -def check_no_import_mock(logical_line): - """O349 - Test code must not import mock library. - - :param logical_line: The logical line to check. - :returns: None if the logical line passes the check, otherwise a tuple - is yielded that contains the offending index in logical line - and a message describe the check validation failure. - """ - if (import_mock_re.match(logical_line) or - import_from_mock_re.match(logical_line)): - msg = 'O349 Test code must not import mock library, use unittest.mock' - yield 0, msg diff --git a/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby.py b/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby.py index e3f6338a..66cb59b0 100644 --- a/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby.py +++ b/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby.py @@ -69,7 +69,7 @@ class ActiveStandbyScenarioTest(test_base.LoadBalancerBaseTestWithCompute): floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('lb1_floating_ip: {}'.format(floating_ip)) + LOG.info('lb1_floating_ip: %s', floating_ip) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_float_ip_client.delete_floatingip, diff --git a/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby_iptables.py b/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby_iptables.py index e7dccb6e..ce2c94f0 100644 --- a/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby_iptables.py +++ b/octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby_iptables.py @@ -76,7 +76,7 @@ class ActiveStandbyIptablesScenarioTest( floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('lb1_floating_ip: {}'.format(floating_ip)) + LOG.info('lb1_floating_ip: %s', floating_ip) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_float_ip_client.delete_floatingip, diff --git a/octavia_tempest_plugin/tests/api/v2/test_listener.py b/octavia_tempest_plugin/tests/api/v2/test_listener.py index cd320f46..06a68487 100644 --- a/octavia_tempest_plugin/tests/api/v2/test_listener.py +++ b/octavia_tempest_plugin/tests/api/v2/test_listener.py @@ -568,8 +568,8 @@ class ListenerAPITest(test_base.LoadBalancerBaseTest): fs = e.resp_body.get('faultstring', '') if ("Invalid input for field/attribute protocol." in fs and "Value should be one of:" in fs): - LOG.info("Skipping unsupported protocol: {}".format( - listener_kwargs[const.PROTOCOL])) + LOG.info("Skipping unsupported protocol: %s", + listener_kwargs[const.PROTOCOL]) else: raise e else: @@ -598,8 +598,8 @@ class ListenerAPITest(test_base.LoadBalancerBaseTest): fs = e.resp_body.get('faultstring', '') if ("Invalid input for field/attribute protocol." in fs and "Value should be one of:" in fs): - LOG.info("Skipping unsupported protocol: {}".format( - listener_kwargs[const.PROTOCOL])) + LOG.info("Skipping unsupported protocol: %s", + listener_kwargs[const.PROTOCOL]) else: raise e else: @@ -646,8 +646,8 @@ class ListenerAPITest(test_base.LoadBalancerBaseTest): fs = e.resp_body.get('faultstring', '') if ("Invalid input for field/attribute protocol." in fs and "Value should be one of:" in fs): - LOG.info("Skipping unsupported protocol: {}".format( - listener_kwargs[const.PROTOCOL])) + LOG.info("Skipping unsupported protocol: %s", + listener_kwargs[const.PROTOCOL]) else: raise e else: diff --git a/octavia_tempest_plugin/tests/api/v2/test_member.py b/octavia_tempest_plugin/tests/api/v2/test_member.py index 1e18af36..ed3fba6f 100644 --- a/octavia_tempest_plugin/tests/api/v2/test_member.py +++ b/octavia_tempest_plugin/tests/api/v2/test_member.py @@ -29,6 +29,7 @@ from octavia_tempest_plugin.tests import waiters CONF = config.CONF + # Member port numbers need to be unique on the shared pools so generate them @misc.singleton class MemberPort(object): diff --git a/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py b/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py index 3c921815..62be8352 100644 --- a/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py +++ b/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py @@ -220,7 +220,7 @@ class TLSWithBarbicanTest(test_base.LoadBalancerBaseTestWithCompute): floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('lb1_floating_ip: {}'.format(floating_ip)) + LOG.info('lb1_floating_ip: %s', floating_ip) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_float_ip_client.delete_floatingip, @@ -349,9 +349,9 @@ class TLSWithBarbicanTest(test_base.LoadBalancerBaseTestWithCompute): # Make sure the certificate is the one we generated self.assertEqual(expected_cn, received_cn, message=msg) else: - LOG.error('Certificate with CN: {0} failed validation with ' - 'OpenSSL verify errno {1}'.format( - x509.get_subject().commonName, errno)) + LOG.error('Certificate with CN: %s failed validation with ' + 'OpenSSL verify errno %s', + x509.get_subject().commonName, errno) return False return True @@ -487,9 +487,9 @@ class TLSWithBarbicanTest(test_base.LoadBalancerBaseTestWithCompute): # Make sure the certificate is the one we generated self.assertEqual(expected_cn, received_cn, message=msg) else: - LOG.error('Certificate with CN: {0} failed validation with ' - 'OpenSSL verify errno {1}'.format( - x509.get_subject().commonName, errno)) + LOG.error('Certificate with CN: %s failed validation with ' + 'OpenSSL verify errno %s', + x509.get_subject().commonName, errno) return False return True @@ -660,9 +660,9 @@ class TLSWithBarbicanTest(test_base.LoadBalancerBaseTestWithCompute): # Make sure the certificate is the one we generated self.assertEqual(expected_cn, received_cn, message=msg) else: - LOG.error('Certificate with CN: {0} failed validation with ' - 'OpenSSL verify errno {1}'.format( - x509.get_subject().commonName, errno)) + LOG.error('Certificate with CN: %s failed validation with ' + 'OpenSSL verify errno %s', + x509.get_subject().commonName, errno) return False return True diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py index 00838876..db92352d 100644 --- a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py +++ b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py @@ -79,7 +79,7 @@ class TrafficOperationsScenarioTest(test_base.LoadBalancerBaseTestWithCompute): floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('lb1_floating_ip: {}'.format(floating_ip)) + LOG.info('lb1_floating_ip: %s', floating_ip) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_float_ip_client.delete_floatingip, @@ -1351,7 +1351,7 @@ class TrafficOperationsScenarioTest(test_base.LoadBalancerBaseTestWithCompute): test_url = 'http://{}:{}/request'.format( self.lb_vip_address, listener_port) data = self.validate_URL_response(test_url) - LOG.info('Received payload is: {}'.format(data)) + LOG.info('Received payload is: %s', data) # Detect source IP that is used to create TCP socket toward LB_VIP. try: @@ -1398,7 +1398,7 @@ class TrafficOperationsScenarioTest(test_base.LoadBalancerBaseTestWithCompute): # Initiate HTTP traffic data = self.validate_URL_response(test_url) - LOG.info('Received payload is: {}'.format(data)) + LOG.info('Received payload is: %s', data) expected_headers = {const.X_FORWARDED_PORT: '{}'.format( listener_port), const.X_FORWARDED_PROTO: const.HTTP.lower()} received_headers = _data_parser(data, expected_headers) @@ -1550,7 +1550,7 @@ class TrafficOperationsScenarioTest(test_base.LoadBalancerBaseTestWithCompute): # For each test case, update HM and validate that members' # "Operation Status" is changed to expected value. for ff in flip_flop: - LOG.info('Tested test case is: {}'.format(ff)) + LOG.info('Tested test case is: %s', ff) self.mem_healthmonitor_client.update_healthmonitor( hm_id, expected_codes=ff['code'], http_method=ff['mthd'], url_path=ff['url_path']) diff --git a/octavia_tempest_plugin/tests/spare_pool_scenario/v2/test_spare_pool.py b/octavia_tempest_plugin/tests/spare_pool_scenario/v2/test_spare_pool.py index 0ccfe551..26866c36 100644 --- a/octavia_tempest_plugin/tests/spare_pool_scenario/v2/test_spare_pool.py +++ b/octavia_tempest_plugin/tests/spare_pool_scenario/v2/test_spare_pool.py @@ -82,7 +82,7 @@ class SparePoolTest(test_base.LoadBalancerBaseTestWithCompute): floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('lb1_floating_ip: {}'.format(floating_ip)) + LOG.info('lb1_floating_ip: %s', floating_ip) self.addClassResourceCleanup( waiters.wait_for_not_found, self.lb_mem_float_ip_client.delete_floatingip, diff --git a/octavia_tempest_plugin/tests/test_base.py b/octavia_tempest_plugin/tests/test_base.py index a04f1cba..7f4ae3ef 100644 --- a/octavia_tempest_plugin/tests/test_base.py +++ b/octavia_tempest_plugin/tests/test_base.py @@ -364,31 +364,31 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, else: cls._create_networks() - LOG.debug('Octavia Setup: lb_member_vip_net = {}'.format( - cls.lb_member_vip_net[const.ID])) + LOG.debug('Octavia Setup: lb_member_vip_net = %s', + cls.lb_member_vip_net[const.ID]) if cls.lb_member_vip_subnet: - LOG.debug('Octavia Setup: lb_member_vip_subnet = {}'.format( - cls.lb_member_vip_subnet[const.ID])) - LOG.debug('Octavia Setup: lb_member_1_net = {}'.format( - cls.lb_member_1_net[const.ID])) + LOG.debug('Octavia Setup: lb_member_vip_subnet = %s', + cls.lb_member_vip_subnet[const.ID]) + LOG.debug('Octavia Setup: lb_member_1_net = %s', + cls.lb_member_1_net[const.ID]) if cls.lb_member_1_subnet: - LOG.debug('Octavia Setup: lb_member_1_subnet = {}'.format( - cls.lb_member_1_subnet[const.ID])) - LOG.debug('Octavia Setup: lb_member_2_net = {}'.format( - cls.lb_member_2_net[const.ID])) + LOG.debug('Octavia Setup: lb_member_1_subnet = %s', + cls.lb_member_1_subnet[const.ID]) + LOG.debug('Octavia Setup: lb_member_2_net = %s', + cls.lb_member_2_net[const.ID]) if cls.lb_member_2_subnet: - LOG.debug('Octavia Setup: lb_member_2_subnet = {}'.format( - cls.lb_member_2_subnet[const.ID])) + LOG.debug('Octavia Setup: lb_member_2_subnet = %s', + cls.lb_member_2_subnet[const.ID]) if CONF.load_balancer.test_with_ipv6: if cls.lb_member_vip_ipv6_subnet: - LOG.debug('Octavia Setup: lb_member_vip_ipv6_subnet = ' - '{}'.format(cls.lb_member_vip_ipv6_subnet[const.ID])) + LOG.debug('Octavia Setup: lb_member_vip_ipv6_subnet = %s', + cls.lb_member_vip_ipv6_subnet[const.ID]) if cls.lb_member_1_ipv6_subnet: - LOG.debug('Octavia Setup: lb_member_1_ipv6_subnet = {}'.format( - cls.lb_member_1_ipv6_subnet[const.ID])) + LOG.debug('Octavia Setup: lb_member_1_ipv6_subnet = %s', + cls.lb_member_1_ipv6_subnet[const.ID]) if cls.lb_member_2_ipv6_subnet: - LOG.debug('Octavia Setup: lb_member_2_ipv6_subnet = {}'.format( - cls.lb_member_2_ipv6_subnet[const.ID])) + LOG.debug('Octavia Setup: lb_member_2_ipv6_subnet = %s', + cls.lb_member_2_ipv6_subnet[const.ID]) @classmethod # Neutron can be slow to clean up ports from the subnets/networks. @@ -403,8 +403,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, try: cls.lb_mem_net_client.delete_network(net_id) except Exception: - LOG.error('Unable to delete network {}. Active ports:'.format( - net_id)) + LOG.error('Unable to delete network %s. Active ports:', net_id) LOG.error(cls.lb_mem_ports_client.list_ports()) raise @@ -421,8 +420,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, try: cls.lb_mem_subnet_client.delete_subnet(subnet_id) except Exception: - LOG.error('Unable to delete subnet {}. Active ports:'.format( - subnet_id)) + LOG.error('Unable to delete subnet %s. Active ports:', subnet_id) LOG.error(cls.lb_mem_ports_client.list_ports()) raise @@ -450,7 +448,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, network_kwargs['port_security_enabled'] = True result = cls.lb_mem_net_client.create_network(**network_kwargs) cls.lb_member_vip_net = result['network'] - LOG.info('lb_member_vip_net: {}'.format(cls.lb_member_vip_net)) + LOG.info('lb_member_vip_net: %s', cls.lb_member_vip_net) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_network, @@ -465,7 +463,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, 'ip_version': 4} result = cls.lb_mem_subnet_client.create_subnet(**subnet_kwargs) cls.lb_member_vip_subnet = result['subnet'] - LOG.info('lb_member_vip_subnet: {}'.format(cls.lb_member_vip_subnet)) + LOG.info('lb_member_vip_subnet: %s', cls.lb_member_vip_subnet) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_subnet, @@ -507,8 +505,8 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, cls.lb_mem_subnet_client.show_subnet, cls.lb_member_vip_ipv6_subnet['id']) - LOG.info('lb_member_vip_ipv6_subnet: {}'.format( - cls.lb_member_vip_ipv6_subnet)) + LOG.info('lb_member_vip_ipv6_subnet: %s', + cls.lb_member_vip_ipv6_subnet) # Create tenant member 1 network network_kwargs = { @@ -520,7 +518,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, network_kwargs['port_security_enabled'] = False result = cls.lb_mem_net_client.create_network(**network_kwargs) cls.lb_member_1_net = result['network'] - LOG.info('lb_member_1_net: {}'.format(cls.lb_member_1_net)) + LOG.info('lb_member_1_net: %s', cls.lb_member_1_net) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_network, @@ -535,7 +533,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, 'ip_version': 4} result = cls.lb_mem_subnet_client.create_subnet(**subnet_kwargs) cls.lb_member_1_subnet = result['subnet'] - LOG.info('lb_member_1_subnet: {}'.format(cls.lb_member_1_subnet)) + LOG.info('lb_member_1_subnet: %s', cls.lb_member_1_subnet) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_subnet, @@ -553,10 +551,10 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, cls.lb_member_1_subnet_prefix = ( CONF.load_balancer.member_1_ipv6_subnet_cidr.rpartition('/')[2] ) - assert(cls.lb_member_1_subnet_prefix.isdigit()) + assert (cls.lb_member_1_subnet_prefix.isdigit()) cls.lb_member_1_ipv6_subnet = result['subnet'] - LOG.info('lb_member_1_ipv6_subnet: {}'.format( - cls.lb_member_1_ipv6_subnet)) + LOG.info('lb_member_1_ipv6_subnet: %s', + cls.lb_member_1_ipv6_subnet) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_subnet, @@ -573,7 +571,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, network_kwargs['port_security_enabled'] = False result = cls.lb_mem_net_client.create_network(**network_kwargs) cls.lb_member_2_net = result['network'] - LOG.info('lb_member_2_net: {}'.format(cls.lb_member_2_net)) + LOG.info('lb_member_2_net: %s', cls.lb_member_2_net) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_network, @@ -588,7 +586,7 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, 'ip_version': 4} result = cls.lb_mem_subnet_client.create_subnet(**subnet_kwargs) cls.lb_member_2_subnet = result['subnet'] - LOG.info('lb_member_2_subnet: {}'.format(cls.lb_member_2_subnet)) + LOG.info('lb_member_2_subnet: %s', cls.lb_member_2_subnet) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_subnet, @@ -606,10 +604,10 @@ class LoadBalancerBaseTest(validators.ValidatorsMixin, cls.lb_member_2_subnet_prefix = ( CONF.load_balancer.member_2_ipv6_subnet_cidr.rpartition('/')[2] ) - assert(cls.lb_member_2_subnet_prefix.isdigit()) + assert (cls.lb_member_2_subnet_prefix.isdigit()) cls.lb_member_2_ipv6_subnet = result['subnet'] - LOG.info('lb_member_2_ipv6_subnet: {}'.format( - cls.lb_member_2_ipv6_subnet)) + LOG.info('lb_member_2_ipv6_subnet: %s', + cls.lb_member_2_ipv6_subnet) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls._logging_delete_subnet, @@ -696,7 +694,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): result = cls.lb_mem_keypairs_client.create_keypair( name=keypair_name) cls.lb_member_keypair = result['keypair'] - LOG.info('lb_member_keypair: {}'.format(cls.lb_member_keypair)) + LOG.info('lb_member_keypair: %s', cls.lb_member_keypair) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_keypairs_client.delete_keypair, @@ -866,7 +864,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): cls.lb_mem_SGr_client.show_security_group_rule, SGr['id']) - LOG.info('lb_member_sec_group: {}'.format(cls.lb_member_sec_group)) + LOG.info('lb_member_sec_group: %s', cls.lb_member_sec_group) # Setup backend member reencryption PKI cls._create_backend_reencryption_pki() @@ -880,14 +878,12 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): cls.webserver1_ipv6 = server_details.get('ipv6_address') cls.webserver1_public_ip = server_details['public_ipv4_address'] - LOG.debug('Octavia Setup: lb_member_webserver1 = {}'.format( - cls.lb_member_webserver1[const.ID])) - LOG.debug('Octavia Setup: webserver1_ip = {}'.format( - cls.webserver1_ip)) - LOG.debug('Octavia Setup: webserver1_ipv6 = {}'.format( - cls.webserver1_ipv6)) - LOG.debug('Octavia Setup: webserver1_public_ip = {}'.format( - cls.webserver1_public_ip)) + LOG.debug('Octavia Setup: lb_member_webserver1 = %s', + cls.lb_member_webserver1[const.ID]) + LOG.debug('Octavia Setup: webserver1_ip = %s', cls.webserver1_ip) + LOG.debug('Octavia Setup: webserver1_ipv6 = %s', cls.webserver1_ipv6) + LOG.debug('Octavia Setup: webserver1_public_ip = %s', + cls.webserver1_public_ip) # Create webserver 2 instance server_details = cls._create_webserver('lb_member_webserver2', @@ -898,14 +894,12 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): cls.webserver2_ipv6 = server_details.get('ipv6_address') cls.webserver2_public_ip = server_details['public_ipv4_address'] - LOG.debug('Octavia Setup: lb_member_webserver2 = {}'.format( - cls.lb_member_webserver2[const.ID])) - LOG.debug('Octavia Setup: webserver2_ip = {}'.format( - cls.webserver2_ip)) - LOG.debug('Octavia Setup: webserver2_ipv6 = {}'.format( - cls.webserver2_ipv6)) - LOG.debug('Octavia Setup: webserver2_public_ip = {}'.format( - cls.webserver2_public_ip)) + LOG.debug('Octavia Setup: lb_member_webserver2 = %s', + cls.lb_member_webserver2[const.ID]) + LOG.debug('Octavia Setup: webserver2_ip = %s', cls.webserver2_ip) + LOG.debug('Octavia Setup: webserver2_ipv6 = %s', cls.webserver2_ipv6) + LOG.debug('Octavia Setup: webserver2_public_ip = %s', + cls.webserver2_public_ip) if CONF.load_balancer.test_with_ipv6: # Enable the IPv6 nic in webserver 1 @@ -954,7 +948,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): external_gateway_info=dict( network_id=CONF.network.public_network_id)) cls.lb_member_router = result['router'] - LOG.info('lb_member_router: {}'.format(cls.lb_member_router)) + LOG.info('lb_member_router: %s', cls.lb_member_router) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_routers_client.delete_router, @@ -1069,7 +1063,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): CONF.load_balancer.build_timeout, root_tag='server') webserver_details = {'server': server} - LOG.info('Created server: {}'.format(server)) + LOG.info('Created server: %s', server) addresses = server['addresses'] if CONF.load_balancer.disable_boot_network: @@ -1091,7 +1085,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): floating_network_id=CONF.network.public_network_id, port_id=port_id) floating_ip = result['floatingip'] - LOG.info('webserver1_floating_ip: {}'.format(floating_ip)) + LOG.info('webserver1_floating_ip: %s', floating_ip) cls.addClassResourceCleanup( waiters.wait_for_not_found, cls.lb_mem_float_ip_client.delete_floatingip, @@ -1126,7 +1120,7 @@ class LoadBalancerBaseTestWithCompute(LoadBalancerBaseTest): # the new default (SFTP protocol) doesn't work with # cirros VMs. ssh_version = cls._get_openssh_version() - LOG.debug("ssh_version = {}".format(ssh_version)) + LOG.debug("ssh_version = %s", ssh_version) return (ssh_version[0] > 8 or (ssh_version[0] == 8 and ssh_version[1] >= 7)) diff --git a/octavia_tempest_plugin/tests/validators.py b/octavia_tempest_plugin/tests/validators.py index 34e8148f..5ff7bd51 100644 --- a/octavia_tempest_plugin/tests/validators.py +++ b/octavia_tempest_plugin/tests/validators.py @@ -105,7 +105,7 @@ class ValidatorsMixin(test.BaseTestCase): return response_text except requests.exceptions.Timeout: # Don't sleep as we have already waited the interval. - LOG.info('Request for {} timed out. Retrying.'.format(URL)) + LOG.info('Request for %s timed out. Retrying.', URL) except (exceptions.InvalidHttpSuccessCode, exceptions.InvalidHTTPResponseBody, requests.exceptions.SSLError): @@ -113,8 +113,8 @@ class ValidatorsMixin(test.BaseTestCase): session.close() raise except Exception as e: - LOG.info('Validate URL got exception: {0}. ' - 'Retrying.'.format(e)) + LOG.info('Validate URL got exception: %s. ' + 'Retrying.', e) time.sleep(request_interval) if requests_session is None: session.close() @@ -443,8 +443,8 @@ class ValidatorsMixin(test.BaseTestCase): retry_number = 0 received_data = None while retry_number < number_of_retries: - LOG.info('make_udp_requests_with_retries attempt ' - 'number:{}'.format(retry_number)) + LOG.info('make_udp_requests_with_retries attempt number: %s', + retry_number) retry_number += 1 try: received_data = self.make_udp_request( @@ -452,6 +452,5 @@ class ValidatorsMixin(test.BaseTestCase): source_port=src_port) break except Exception as e: - LOG.warning('make_udp_request has failed with: ' - '{}'.format(e)) + LOG.warning('make_udp_request has failed with: %s', e) return received_data diff --git a/octavia_tempest_plugin/tests/waiters.py b/octavia_tempest_plugin/tests/waiters.py index fa6c1129..820831a3 100644 --- a/octavia_tempest_plugin/tests/waiters.py +++ b/octavia_tempest_plugin/tests/waiters.py @@ -48,8 +48,8 @@ def wait_for_status(show_client, id, status_key, status, :returns: The object details from the show client. """ start = int(time.time()) - LOG.info('Waiting for {name} status to update to {status}'.format( - name=show_client.__name__, status=status)) + LOG.info('Waiting for %s status to update to %s', + show_client.__name__, status) while True: if status == const.DELETED: try: @@ -65,8 +65,8 @@ def wait_for_status(show_client, id, status_key, status, object_details = response if object_details[status_key] == status: - LOG.info('{name}\'s status updated to {status}.'.format( - name=show_client.__name__, status=status)) + LOG.info('%s\'s status updated to %s.', + show_client.__name__, status) return object_details elif object_details[status_key] == 'ERROR' and not error_ok: message = ('{name} {field} updated to an invalid state of ' @@ -148,8 +148,8 @@ def wait_for_deleted_status_or_not_found( :returns: None """ start = int(time.time()) - LOG.info('Waiting for {name} status to update to DELETED or be not ' - 'found(404)'.format(name=show_client.__name__)) + LOG.info('Waiting for %s status to update to DELETED or be not found(404)', + show_client.__name__) while True: try: response = show_client(id, **kwargs) @@ -162,8 +162,8 @@ def wait_for_deleted_status_or_not_found( object_details = response if object_details[status_key] == const.DELETED: - LOG.info('{name}\'s status updated to DELETED.'.format( - name=show_client.__name__)) + LOG.info('%s\'s status updated to DELETED.', + show_client.__name__) return elif int(time.time()) - start >= check_timeout: message = ( diff --git a/test-requirements.txt b/test-requirements.txt index 2125ea04..bb4fcfe8 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,7 +2,7 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -hacking>=3.0.1,<3.1.0;python_version>='3.5' # Apache-2.0 +hacking>=6.1.0,<6.2.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 python-subunit>=1.0.0 # Apache-2.0/BSD diff --git a/tox.ini b/tox.ini index 29df1ca4..d8c77d67 100644 --- a/tox.ini +++ b/tox.ini @@ -98,7 +98,6 @@ extension = O346 = checks:check_line_continuation_no_backslash O347 = checks:revert_must_have_kwargs O348 = checks:check_no_logging_imports - O349 = checks:check_no_import_mock paths = ./octavia_tempest_plugin/hacking