mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-09 14:50:02 -07:00
Remove automatic use of system six
* Enable the pylint no-name-in-module check. Checks that identifiers in
imports actually exist. When we do this, we also have to ignore
_MovedItems used in our bundled six. This means pylint won't check
for bad imports below ansible.module_utils.six.moves but that's
something that pylint punts on with a system copy of six so this is
still an improvement.
* Remove automatic use of system six. The exec in the six code which
tried to use a system library if available destroyed pylint's ability
to check for imports of identifiers which did not exist (the
no-name-in-module check). That test is important enough that we
should sacrifice the bundling detection in favour of the test.
Distributions that want to unbundle six can replace the bundled six in
ansible/module_utils/six/__init__.py to unbundle. however, be aware
that six is tricky to unbundle. They may want to base their efforts
off the code we were using:
2fff690caa/lib/ansible/module_utils/six/__init__.py
* Update tests for new location of bundled six Several code-smell tests
whitelist the bundled six library. Update the path to the library so
that they work.
* Also check for basestring in modules as the enabled pylint tests will
also point out basestring usage for us.
This commit is contained in:
parent
da3d3d512e
commit
9f7b0dfc30
16 changed files with 895 additions and 995 deletions
|
@ -296,7 +296,7 @@ def get_target_from_rule(module, ec2, rule, name, group, groups, vpc_id):
|
|||
elif 'group_id' in rule and re.match(FOREIGN_SECURITY_GROUP_REGEX, rule['group_id']):
|
||||
# this is a foreign Security Group. Since you can't fetch it you must create an instance of it
|
||||
owner_id, group_id, group_name = re.match(FOREIGN_SECURITY_GROUP_REGEX, rule['group_id']).groups()
|
||||
group_instance = SecurityGroup(owner_id=owner_id, group_name=group_name, id=group_id)
|
||||
group_instance = ec2.SecurityGroup(owner_id=owner_id, group_name=group_name, id=group_id)
|
||||
groups[group_id] = group_instance
|
||||
groups[group_name] = group_instance
|
||||
elif 'group_id' in rule:
|
||||
|
|
|
@ -65,6 +65,8 @@ EXAMPLES = '''
|
|||
# fix this
|
||||
RETURN = '''# '''
|
||||
|
||||
import traceback
|
||||
|
||||
try:
|
||||
import boto.ec2
|
||||
from boto.exception import BotoServerError
|
||||
|
@ -74,6 +76,7 @@ except ImportError:
|
|||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.ec2 import connect_to_aws, ec2_argument_spec, get_aws_connection_info
|
||||
from ansible.module_utils._text import to_native
|
||||
|
||||
|
||||
def get_volume_info(volume):
|
||||
|
@ -136,8 +139,8 @@ def main():
|
|||
if region:
|
||||
try:
|
||||
connection = connect_to_aws(boto.ec2, region, **aws_connect_params)
|
||||
except (boto.exception.NoAuthHandlerFound, StandardError) as e:
|
||||
module.fail_json(msg=str(e))
|
||||
except (boto.exception.NoAuthHandlerFound, Exception) as e:
|
||||
module.fail_json(msg=to_native(e), exception=traceback.format_exc())
|
||||
else:
|
||||
module.fail_json(msg="region must be specified")
|
||||
|
||||
|
|
|
@ -318,7 +318,7 @@ class EcsServiceManager:
|
|||
c = self.find_in_array(response['services'], service_name)
|
||||
if c:
|
||||
return c
|
||||
raise StandardError("Unknown problem describing service %s." % service_name)
|
||||
raise Exception("Unknown problem describing service %s." % service_name)
|
||||
|
||||
def is_matching_service(self, expected, existing):
|
||||
if expected['task_definition'] != existing['taskDefinition']:
|
||||
|
|
|
@ -341,14 +341,15 @@ vpc_id:
|
|||
type: string
|
||||
sample: vpc-0011223344
|
||||
'''
|
||||
import time
|
||||
import collections
|
||||
from copy import deepcopy
|
||||
import traceback
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.six import string_types
|
||||
from ansible.module_utils.ec2 import boto3_conn, get_aws_connection_info, camel_dict_to_snake_dict, ec2_argument_spec, get_ec2_security_group_ids_from_names, \
|
||||
ansible_dict_to_boto3_tag_list, boto3_tag_list_to_ansible_dict, compare_aws_tags, HAS_BOTO3
|
||||
import collections
|
||||
from copy import deepcopy
|
||||
import traceback
|
||||
|
||||
try:
|
||||
import boto3
|
||||
|
|
|
@ -413,6 +413,7 @@ from ansible.module_utils.basic import AnsibleModule
|
|||
from ansible.module_utils.ec2 import ec2_argument_spec, connect_to_aws, AnsibleAWSError
|
||||
from ansible.module_utils.ec2 import get_aws_connection_info
|
||||
from ansible.module_utils.six import string_types
|
||||
from ansible.module_utils._text import to_native
|
||||
|
||||
|
||||
def _throttleable_operation(max_retries):
|
||||
|
@ -654,7 +655,7 @@ class ElbManager(object):
|
|||
for x in range(0, max_retries):
|
||||
try:
|
||||
self.elb_conn.get_all_lb_attributes(self.name)
|
||||
except (boto.exception.BotoServerError, StandardError) as e:
|
||||
except (boto.exception.BotoServerError, Exception) as e:
|
||||
if "LoadBalancerNotFound" in e.code:
|
||||
status_achieved = True
|
||||
break
|
||||
|
@ -682,12 +683,12 @@ class ElbManager(object):
|
|||
break
|
||||
else:
|
||||
time.sleep(polling_increment_secs)
|
||||
except (boto.exception.BotoServerError, StandardError) as e:
|
||||
except (boto.exception.BotoServerError, Exception) as e:
|
||||
if 'InvalidNetworkInterfaceID' in e.code:
|
||||
status_achieved = True
|
||||
break
|
||||
else:
|
||||
self.module.fail_json(msg=str(e))
|
||||
self.module.fail_json(msg=to_native(e), exception=traceback.format_exc())
|
||||
|
||||
return status_achieved
|
||||
|
||||
|
@ -710,8 +711,8 @@ class ElbManager(object):
|
|||
try:
|
||||
return connect_to_aws(boto.ec2, self.region,
|
||||
**self.aws_connect_params)
|
||||
except (boto.exception.NoAuthHandlerFound, StandardError) as e:
|
||||
self.module.fail_json(msg=str(e))
|
||||
except (boto.exception.NoAuthHandlerFound, Exception) as e:
|
||||
self.module.fail_json(msg=to_native(e), exception=traceback.format_exc())
|
||||
|
||||
@_throttleable_operation(_THROTTLING_RETRIES)
|
||||
def _delete_elb(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue