mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 04:24:00 -07:00
test/: PEP8 compliancy (#24803)
* test/: PEP8 compliancy - Make PEP8 compliant * Python3 chokes on casting int to bytes (#24952) But if we tell the formatter that the var is a number, it works
This commit is contained in:
parent
31c59ad5f9
commit
4efec414e7
110 changed files with 1702 additions and 1547 deletions
|
@ -1 +0,0 @@
|
|||
|
|
@ -4,15 +4,16 @@ Find and delete AWS resources matching the provided --match string. Unless
|
|||
Please use caution, you can easily delete you're *ENTIRE* EC2 infrastructure.
|
||||
'''
|
||||
|
||||
import boto
|
||||
import boto.ec2.elb
|
||||
import optparse
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
import sys
|
||||
import boto
|
||||
import optparse
|
||||
import yaml
|
||||
import os.path
|
||||
import boto.ec2.elb
|
||||
import time
|
||||
import yaml
|
||||
|
||||
|
||||
def delete_aws_resources(get_func, attr, opts):
|
||||
for item in get_func():
|
||||
|
@ -20,6 +21,7 @@ def delete_aws_resources(get_func, attr, opts):
|
|||
if re.search(opts.match_re, val):
|
||||
prompt_and_delete(item, "Delete matching %s? [y/n]: " % (item,), opts.assumeyes)
|
||||
|
||||
|
||||
def delete_autoscaling_group(get_func, attr, opts):
|
||||
assumeyes = opts.assumeyes
|
||||
group_name = None
|
||||
|
@ -49,7 +51,8 @@ def delete_autoscaling_group(get_func, attr, opts):
|
|||
group.delete()
|
||||
while len(asg.get_all_groups(names=[group_name])):
|
||||
time.sleep(5)
|
||||
print ("Terminated ASG: %s" % group_name)
|
||||
print("Terminated ASG: %s" % group_name)
|
||||
|
||||
|
||||
def delete_aws_eips(get_func, attr, opts):
|
||||
|
||||
|
@ -65,22 +68,25 @@ def delete_aws_eips(get_func, attr, opts):
|
|||
if val in eip_log:
|
||||
prompt_and_delete(item, "Delete matching %s? [y/n]: " % (item,), opts.assumeyes)
|
||||
|
||||
|
||||
def delete_aws_instances(reservation, opts):
|
||||
for list in reservation:
|
||||
for item in list.instances:
|
||||
prompt_and_delete(item, "Delete matching %s? [y/n]: " % (item,), opts.assumeyes)
|
||||
|
||||
|
||||
def prompt_and_delete(item, prompt, assumeyes):
|
||||
if not assumeyes:
|
||||
assumeyes = raw_input(prompt).lower() == 'y'
|
||||
assert hasattr(item, 'delete') or hasattr(item, 'terminate') , "Class <%s> has no delete or terminate attribute" % item.__class__
|
||||
assert hasattr(item, 'delete') or hasattr(item, 'terminate'), "Class <%s> has no delete or terminate attribute" % item.__class__
|
||||
if assumeyes:
|
||||
if hasattr(item, 'delete'):
|
||||
item.delete()
|
||||
print ("Deleted %s" % item)
|
||||
print("Deleted %s" % item)
|
||||
if hasattr(item, 'terminate'):
|
||||
item.terminate()
|
||||
print ("Terminated %s" % item)
|
||||
print("Terminated %s" % item)
|
||||
|
||||
|
||||
def parse_args():
|
||||
# Load details from credentials.yml
|
||||
|
@ -94,45 +100,61 @@ def parse_args():
|
|||
if default_aws_secret_key is None:
|
||||
default_aws_secret_key = credentials['ec2_secret_key']
|
||||
|
||||
parser = optparse.OptionParser(usage="%s [options]" % (sys.argv[0],),
|
||||
description=__doc__)
|
||||
parser.add_option("--access",
|
||||
parser = optparse.OptionParser(
|
||||
usage="%s [options]" % (sys.argv[0], ),
|
||||
description=__doc__
|
||||
)
|
||||
parser.add_option(
|
||||
"--access",
|
||||
action="store", dest="ec2_access_key",
|
||||
default=default_aws_access_key,
|
||||
help="Amazon ec2 access id. Can use EC2_ACCESS_KEY environment variable, or a values from credentials.yml.")
|
||||
parser.add_option("--secret",
|
||||
help="Amazon ec2 access id. Can use EC2_ACCESS_KEY environment variable, or a values from credentials.yml."
|
||||
)
|
||||
parser.add_option(
|
||||
"--secret",
|
||||
action="store", dest="ec2_secret_key",
|
||||
default=default_aws_secret_key,
|
||||
help="Amazon ec2 secret key. Can use EC2_SECRET_KEY environment variable, or a values from credentials.yml.")
|
||||
parser.add_option("--eip-log",
|
||||
help="Amazon ec2 secret key. Can use EC2_SECRET_KEY environment variable, or a values from credentials.yml."
|
||||
)
|
||||
parser.add_option(
|
||||
"--eip-log",
|
||||
action="store", dest="eip_log",
|
||||
default = None,
|
||||
help = "Path to log of EIPs created during test.")
|
||||
parser.add_option("--integration-config",
|
||||
default=None,
|
||||
help="Path to log of EIPs created during test."
|
||||
)
|
||||
parser.add_option(
|
||||
"--integration-config",
|
||||
action="store", dest="int_config",
|
||||
default = "integration_config.yml",
|
||||
help = "path to integration config")
|
||||
parser.add_option("--credentials", "-c",
|
||||
default="integration_config.yml",
|
||||
help="path to integration config"
|
||||
)
|
||||
parser.add_option(
|
||||
"--credentials", "-c",
|
||||
action="store", dest="credential_file",
|
||||
default="credentials.yml",
|
||||
help="YAML file to read cloud credentials (default: %default)")
|
||||
parser.add_option("--yes", "-y",
|
||||
help="YAML file to read cloud credentials (default: %default)"
|
||||
)
|
||||
parser.add_option(
|
||||
"--yes", "-y",
|
||||
action="store_true", dest="assumeyes",
|
||||
default=False,
|
||||
help="Don't prompt for confirmation")
|
||||
parser.add_option("--match",
|
||||
help="Don't prompt for confirmation"
|
||||
)
|
||||
parser.add_option(
|
||||
"--match",
|
||||
action="store", dest="match_re",
|
||||
default="^ansible-testing-",
|
||||
help="Regular expression used to find AWS resources (default: %default)")
|
||||
help="Regular expression used to find AWS resources (default: %default)"
|
||||
)
|
||||
|
||||
(opts, args) = parser.parse_args()
|
||||
for required in ['ec2_access_key', 'ec2_secret_key']:
|
||||
if getattr(opts, required) is None:
|
||||
parser.error("Missing required parameter: --%s" % required)
|
||||
|
||||
|
||||
return (opts, args)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
(opts, args) = parse_args()
|
||||
|
@ -140,17 +162,17 @@ if __name__ == '__main__':
|
|||
int_config = yaml.load(open(opts.int_config).read())
|
||||
if not opts.eip_log:
|
||||
output_dir = os.path.expanduser(int_config["output_dir"])
|
||||
opts.eip_log = output_dir + '/' + opts.match_re.replace('^','') + '-eip_integration_tests.log'
|
||||
opts.eip_log = output_dir + '/' + opts.match_re.replace('^', '') + '-eip_integration_tests.log'
|
||||
|
||||
# Connect to AWS
|
||||
aws = boto.connect_ec2(aws_access_key_id=opts.ec2_access_key,
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
|
||||
elb = boto.connect_elb(aws_access_key_id=opts.ec2_access_key,
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
|
||||
asg = boto.connect_autoscale(aws_access_key_id=opts.ec2_access_key,
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
aws_secret_access_key=opts.ec2_secret_key)
|
||||
|
||||
try:
|
||||
# Delete matching keys
|
||||
|
@ -172,7 +194,7 @@ if __name__ == '__main__':
|
|||
delete_aws_eips(aws.get_all_addresses, 'public_ip', opts)
|
||||
|
||||
# Delete temporary instances
|
||||
filters = {"tag:Name":opts.match_re.replace('^',''), "instance-state-name": ['running', 'pending', 'stopped' ]}
|
||||
filters = {"tag:Name": opts.match_re.replace('^', ''), "instance-state-name": ['running', 'pending', 'stopped']}
|
||||
delete_aws_instances(aws.get_all_instances(filters=filters), opts)
|
||||
|
||||
except KeyboardInterrupt as e:
|
||||
|
|
|
@ -4,21 +4,25 @@ Find and delete GCE resources matching the provided --match string. Unless
|
|||
Please use caution, you can easily delete your *ENTIRE* GCE infrastructure.
|
||||
'''
|
||||
|
||||
import optparse
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import optparse
|
||||
import yaml
|
||||
|
||||
try:
|
||||
from libcloud.compute.types import Provider
|
||||
from libcloud.common.google import (
|
||||
GoogleBaseError,
|
||||
QuotaExceededError,
|
||||
ResourceExistsError,
|
||||
ResourceInUseError,
|
||||
ResourceNotFoundError,
|
||||
)
|
||||
from libcloud.compute.providers import get_driver
|
||||
from libcloud.common.google import GoogleBaseError, QuotaExceededError, \
|
||||
ResourceExistsError, ResourceInUseError, ResourceNotFoundError
|
||||
from libcloud.compute.types import Provider
|
||||
_ = Provider.GCE
|
||||
except ImportError:
|
||||
print("failed=True " + \
|
||||
"msg='libcloud with GCE support (0.13.3+) required for this module'")
|
||||
print("failed=True msg='libcloud with GCE support (0.13.3+) required for this module'")
|
||||
sys.exit(1)
|
||||
|
||||
import gce_credentials
|
||||
|
@ -30,26 +34,34 @@ def delete_gce_resources(get_func, attr, opts):
|
|||
if re.search(opts.match_re, val, re.IGNORECASE):
|
||||
prompt_and_delete(item, "Delete matching %s? [y/n]: " % (item,), opts.assumeyes)
|
||||
|
||||
|
||||
def prompt_and_delete(item, prompt, assumeyes):
|
||||
if not assumeyes:
|
||||
assumeyes = raw_input(prompt).lower() == 'y'
|
||||
assert hasattr(item, 'destroy'), "Class <%s> has no delete attribute" % item.__class__
|
||||
if assumeyes:
|
||||
item.destroy()
|
||||
print ("Deleted %s" % item)
|
||||
print("Deleted %s" % item)
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = optparse.OptionParser(usage="%s [options]" % (sys.argv[0],),
|
||||
description=__doc__)
|
||||
parser = optparse.OptionParser(
|
||||
usage="%s [options]" % sys.argv[0],
|
||||
description=__doc__
|
||||
)
|
||||
gce_credentials.add_credentials_options(parser)
|
||||
parser.add_option("--yes", "-y",
|
||||
parser.add_option(
|
||||
"--yes", "-y",
|
||||
action="store_true", dest="assumeyes",
|
||||
default=False,
|
||||
help="Don't prompt for confirmation")
|
||||
parser.add_option("--match",
|
||||
help="Don't prompt for confirmation"
|
||||
)
|
||||
parser.add_option(
|
||||
"--match",
|
||||
action="store", dest="match_re",
|
||||
default="^ansible-testing-",
|
||||
help="Regular expression used to find GCE resources (default: %default)")
|
||||
help="Regular expression used to find GCE resources (default: %default)"
|
||||
)
|
||||
|
||||
(opts, args) = parser.parse_args()
|
||||
gce_credentials.check_required(opts, parser)
|
||||
|
@ -65,6 +77,7 @@ if __name__ == '__main__':
|
|||
try:
|
||||
# Delete matching instances
|
||||
delete_gce_resources(gce.list_nodes, 'name', opts)
|
||||
|
||||
# Delete matching snapshots
|
||||
def get_snapshots():
|
||||
for volume in gce.list_volumes():
|
||||
|
|
|
@ -55,19 +55,19 @@ def prompt_and_delete(item, prompt, assumeyes):
|
|||
if not assumeyes:
|
||||
assumeyes = raw_input(prompt).lower() == 'y'
|
||||
assert hasattr(item, 'delete') or hasattr(item, 'terminate'), \
|
||||
"Class <%s> has no delete or terminate attribute" % item.__class__
|
||||
"Class <%s> has no delete or terminate attribute" % item.__class__
|
||||
if assumeyes:
|
||||
if hasattr(item, 'delete'):
|
||||
item.delete()
|
||||
print ("Deleted %s" % item)
|
||||
print("Deleted %s" % item)
|
||||
if hasattr(item, 'terminate'):
|
||||
item.terminate()
|
||||
print ("Terminated %s" % item)
|
||||
print("Terminated %s" % item)
|
||||
|
||||
|
||||
def delete_rax(args):
|
||||
"""Function for deleting CloudServers"""
|
||||
print ("--- Cleaning CloudServers matching '%s'" % args.match_re)
|
||||
print("--- Cleaning CloudServers matching '%s'" % args.match_re)
|
||||
search_opts = dict(name='^%s' % args.match_re)
|
||||
for region in pyrax.identity.services.compute.regions:
|
||||
cs = pyrax.connect_to_cloudservers(region=region)
|
||||
|
@ -80,7 +80,7 @@ def delete_rax(args):
|
|||
|
||||
def delete_rax_clb(args):
|
||||
"""Function for deleting Cloud Load Balancers"""
|
||||
print ("--- Cleaning Cloud Load Balancers matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Cloud Load Balancers matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.load_balancer.regions:
|
||||
clb = pyrax.connect_to_cloud_loadbalancers(region=region)
|
||||
for lb in rax_list_iterator(clb):
|
||||
|
@ -92,7 +92,7 @@ def delete_rax_clb(args):
|
|||
|
||||
def delete_rax_keypair(args):
|
||||
"""Function for deleting Rackspace Key pairs"""
|
||||
print ("--- Cleaning Key Pairs matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Key Pairs matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.compute.regions:
|
||||
cs = pyrax.connect_to_cloudservers(region=region)
|
||||
for keypair in cs.keypairs.list():
|
||||
|
@ -104,7 +104,7 @@ def delete_rax_keypair(args):
|
|||
|
||||
def delete_rax_network(args):
|
||||
"""Function for deleting Cloud Networks"""
|
||||
print ("--- Cleaning Cloud Networks matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Cloud Networks matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.network.regions:
|
||||
cnw = pyrax.connect_to_cloud_networks(region=region)
|
||||
for network in cnw.list():
|
||||
|
@ -116,7 +116,7 @@ def delete_rax_network(args):
|
|||
|
||||
def delete_rax_cbs(args):
|
||||
"""Function for deleting Cloud Networks"""
|
||||
print ("--- Cleaning Cloud Block Storage matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Cloud Block Storage matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.network.regions:
|
||||
cbs = pyrax.connect_to_cloud_blockstorage(region=region)
|
||||
for volume in cbs.list():
|
||||
|
@ -128,7 +128,7 @@ def delete_rax_cbs(args):
|
|||
|
||||
def delete_rax_cdb(args):
|
||||
"""Function for deleting Cloud Databases"""
|
||||
print ("--- Cleaning Cloud Databases matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Cloud Databases matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.database.regions:
|
||||
cdb = pyrax.connect_to_cloud_databases(region=region)
|
||||
for db in rax_list_iterator(cdb):
|
||||
|
@ -146,7 +146,7 @@ def _force_delete_rax_scaling_group(manager):
|
|||
|
||||
def delete_rax_scaling_group(args):
|
||||
"""Function for deleting Autoscale Groups"""
|
||||
print ("--- Cleaning Autoscale Groups matching '%s'" % args.match_re)
|
||||
print("--- Cleaning Autoscale Groups matching '%s'" % args.match_re)
|
||||
for region in pyrax.identity.services.autoscale.regions:
|
||||
asg = pyrax.connect_to_autoscale(region=region)
|
||||
for group in rax_list_iterator(asg):
|
||||
|
@ -170,11 +170,11 @@ def main():
|
|||
try:
|
||||
func(args)
|
||||
except Exception as e:
|
||||
print ("---- %s failed (%s)" % (func.__name__, e.message))
|
||||
print("---- %s failed (%s)" % (func.__name__, e.message))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
print ('\nExiting...')
|
||||
print('\nExiting...')
|
||||
|
|
|
@ -8,8 +8,7 @@ try:
|
|||
from libcloud.compute.providers import get_driver
|
||||
_ = Provider.GCE
|
||||
except ImportError:
|
||||
print("failed=True " + \
|
||||
"msg='libcloud with GCE support (0.13.3+) required for this module'")
|
||||
print("failed=True msg='libcloud with GCE support (0.13.3+) required for this module'")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
|
|
|
@ -7,19 +7,22 @@ ${prefix}-snapshot. prefix will be forced to lowercase, to ensure the names are
|
|||
legal GCE resource names.
|
||||
'''
|
||||
|
||||
import sys
|
||||
import optparse
|
||||
|
||||
import gce_credentials
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = optparse.OptionParser(
|
||||
usage="%s [options] <prefix>" % (sys.argv[0],), description=__doc__)
|
||||
usage="%s [options] <prefix>" % (sys.argv[0],), description=__doc__
|
||||
)
|
||||
gce_credentials.add_credentials_options(parser)
|
||||
parser.add_option("--prefix",
|
||||
action="store", dest="prefix",
|
||||
help="String used to prefix GCE resource names (default: %default)")
|
||||
parser.add_option(
|
||||
"--prefix",
|
||||
action="store",
|
||||
dest="prefix",
|
||||
help="String used to prefix GCE resource names (default: %default)"
|
||||
)
|
||||
|
||||
(opts, args) = parser.parse_args()
|
||||
gce_credentials.check_required(opts, parser)
|
||||
|
@ -27,6 +30,7 @@ def parse_args():
|
|||
parser.error("Missing required argument: name prefix")
|
||||
return (opts, args)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
(opts, args) = parse_args()
|
||||
|
@ -34,9 +38,8 @@ if __name__ == '__main__':
|
|||
prefix = args[0].lower()
|
||||
try:
|
||||
base_volume = gce.create_volume(
|
||||
size=10, name=prefix+'-base', location='us-central1-a')
|
||||
gce.create_volume_snapshot(base_volume, name=prefix+'-snapshot')
|
||||
gce.create_volume(
|
||||
size=10, name=prefix+'-extra', location='us-central1-a')
|
||||
size=10, name=prefix + '-base', location='us-central1-a')
|
||||
gce.create_volume_snapshot(base_volume, name=prefix + '-snapshot')
|
||||
gce.create_volume(size=10, name=prefix + '-extra', location='us-central1-a')
|
||||
except KeyboardInterrupt as e:
|
||||
print("\nExiting on user command.")
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import sys
|
||||
import json
|
||||
import sys
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
|
||||
def main():
|
||||
if "--interactive" in sys.argv:
|
||||
import ansible.module_utils.basic
|
||||
|
@ -11,8 +13,9 @@ def main():
|
|||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(argument_spec = dict(
|
||||
fail_mode = dict(type='list', default=['success'])
|
||||
module = AnsibleModule(
|
||||
argument_spec=dict(
|
||||
fail_mode=dict(type='list', default=['success'])
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -14,4 +14,3 @@ if __name__ == '__main__':
|
|||
mimetypes.add_type('application/json', '.json')
|
||||
import SimpleHTTPServer
|
||||
SimpleHTTPServer.test()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue