Add `pep8` to `ansible-test`. (#20745)

The rule sets and legacy file list are a first draft.
It is likely that they will need to be revised.
pull/20775/head
Matt Clay 8 years ago committed by GitHub
parent 3a0a74dc18
commit 6ef1a6aeb6

@ -2,7 +2,6 @@
from __future__ import absolute_import, print_function from __future__ import absolute_import, print_function
import errno
import glob import glob
import os import os
import tempfile import tempfile
@ -15,6 +14,7 @@ import random
import pipes import pipes
import string import string
import atexit import atexit
import re
import lib.pytar import lib.pytar
import lib.thread import lib.thread
@ -817,6 +817,130 @@ def command_sanity_shellcheck(args, targets):
run_command(args, ['shellcheck'] + paths) run_command(args, ['shellcheck'] + paths)
def command_sanity_pep8(args, targets):
"""
:type args: SanityConfig
:type targets: SanityTargets
"""
skip_path = 'test/sanity/pep8/skip.txt'
legacy_path = 'test/sanity/pep8/legacy-files.txt'
with open(skip_path, 'r') as skip_fd:
skip_paths = set(skip_fd.read().splitlines())
with open(legacy_path, 'r') as legacy_fd:
legacy_paths = set(legacy_fd.read().splitlines())
with open('test/sanity/pep8/legacy-ignore.txt', 'r') as ignore_fd:
legacy_ignore = set(ignore_fd.read().splitlines())
with open('test/sanity/pep8/current-ignore.txt', 'r') as ignore_fd:
current_ignore = sorted(ignore_fd.read().splitlines())
paths = sorted(i.path for i in targets.include if os.path.splitext(i.path)[1] == '.py' and i.path not in skip_paths)
if not paths:
display.info('No tests applicable.', verbosity=1)
return
cmd = [
'pep8',
'--max-line-length', '160',
'--config', '/dev/null',
'--ignore', ','.join(sorted(current_ignore)),
] + paths
try:
stdout, stderr = run_command(args, cmd, capture=True)
status = 0
except SubprocessError as ex:
stdout = ex.stdout
stderr = ex.stderr
status = ex.status
if stderr:
raise SubprocessError(cmd=cmd, status=status, stderr=stderr)
pattern = '^(?P<path>[^:]*):(?P<line>[0-9]+):(?P<column>[0-9]+): (?P<code>[A-Z0-9]{4}) (?P<message>.*)$'
results = [re.search(pattern, line).groupdict() for line in stdout.splitlines()]
for result in results:
for key in 'line', 'column':
result[key] = int(result[key])
failed_result_paths = set([result['path'] for result in results])
passed_legacy_paths = set([path for path in paths if path in legacy_paths and path not in failed_result_paths])
errors = []
summary = {}
for path in sorted(passed_legacy_paths):
# Keep files out of the list which no longer require the relaxed rule set.
errors.append('PEP 8: %s: Passes current rule set. Remove from legacy list (%s).' % (path, legacy_path))
for path in sorted(skip_paths):
if not os.path.exists(path):
# Keep files out of the list which no longer exist in the repo.
errors.append('PEP 8: %s: Does not exist. Remove from skip list (%s).' % (path, skip_path))
for path in sorted(legacy_paths):
if not os.path.exists(path):
# Keep files out of the list which no longer exist in the repo.
errors.append('PEP 8: %s: Does not exist. Remove from legacy list (%s).' % (path, legacy_path))
for result in results:
path = result['path']
line = result['line']
column = result['column']
code = result['code']
message = result['message']
msg = 'PEP 8: %s:%s:%s: %s %s' % (path, line, column, code, message)
if path in legacy_paths:
msg += ' (legacy)'
else:
msg += ' (current)'
if path in legacy_paths and code in legacy_ignore:
# Files on the legacy list are permitted to have errors on the legacy ignore list.
# However, we want to report on their existence to track progress towards eliminating these exceptions.
display.info(msg, verbosity=3)
key = '%s %s' % (code, re.sub('[0-9]+', 'NNN', message))
if key not in summary:
summary[key] = 0
summary[key] += 1
else:
# Files not on the legacy list and errors not on the legacy ignore list are PEP 8 policy errors.
errors.append(msg)
for error in errors:
display.error(error)
if summary:
lines = []
count = 0
for key in sorted(summary):
count += summary[key]
lines.append('PEP 8: %5d %s' % (summary[key], key))
display.info('PEP 8: There were %d different legacy issues found (%d total):' %
(len(summary), count), verbosity=1)
display.info('PEP 8: Count Code Message', verbosity=1)
for line in lines:
display.info(line, verbosity=1)
if errors:
raise ApplicationError('PEP 8: There are %d issues which need to be resolved.' % len(errors))
def command_sanity_yamllint(args, targets): def command_sanity_yamllint(args, targets):
""" """
:type args: SanityConfig :type args: SanityConfig
@ -1339,6 +1463,7 @@ SANITY_TESTS = (
SanityFunc('code-smell', command_sanity_code_smell, intercept=False), SanityFunc('code-smell', command_sanity_code_smell, intercept=False),
# tests which honor include/exclude # tests which honor include/exclude
SanityFunc('shellcheck', command_sanity_shellcheck, intercept=False), SanityFunc('shellcheck', command_sanity_shellcheck, intercept=False),
SanityFunc('pep8', command_sanity_pep8, intercept=False),
SanityFunc('yamllint', command_sanity_yamllint, intercept=False), SanityFunc('yamllint', command_sanity_yamllint, intercept=False),
SanityFunc('validate-modules', command_sanity_validate_modules, intercept=False), SanityFunc('validate-modules', command_sanity_validate_modules, intercept=False),
SanityFunc('ansible-doc', command_sanity_ansible_doc), SanityFunc('ansible-doc', command_sanity_ansible_doc),

@ -284,6 +284,9 @@ def walk_test_targets(path=None, module_path=None, extensions=None, prefix=None)
if root.endswith('/__pycache__'): if root.endswith('/__pycache__'):
continue continue
if '/.tox/' in root:
continue
if path is None: if path is None:
root = root[2:] root = root[2:]

@ -1,5 +1,6 @@
jinja2 jinja2
mock mock
pep8
pylint pylint
voluptuous voluptuous
yamllint yamllint

@ -0,0 +1,26 @@
# PEP 8
[PEP 8](https://www.python.org/dev/peps/pep-0008/) style guidelines are enforced by
[pep8](https://pypi.python.org/pypi/pep8) on all python files in the repository by default.
## Current Rule Set
By default all files are tested using the current rule set.
All `pep8` tests are executed, except those listed in the [current ignore list](current-ignore.txt).
## Legacy Rule Set
Files which are listed in the [legacy file list](legacy-files.txt) are tested using the legacy rule set.
All `pep8` tests are executed, except those listed in the [current ignore list](current-ignore.txt) or
[legacy ignore list](legacy-ignore.txt).
> Files listed in the legacy file list which pass the current rule set will result in an error.
> This is intended to prevent regressions on style guidelines for files which pass the more stringent current rule set.
## Skipping Tests
Files listed in the [skip list](skip.txt) are not tested by `pep8`.
## Removed Files
Files which have been removed from the repository must be removed from the legacy file list and the skip list.

@ -0,0 +1,30 @@
E123
E124
E127
E128
E201
E202
E203
E211
E221
E222
E225
E226
E227
E228
E231
E241
E251
E261
E262
E265
E266
E301
E302
E303
E402
E502
E713
E731
W391
W503

@ -0,0 +1,615 @@
contrib/inventory/abiquo.py
contrib/inventory/apache-libcloud.py
contrib/inventory/azure_rm.py
contrib/inventory/cloudstack.py
contrib/inventory/consul_io.py
contrib/inventory/digital_ocean.py
contrib/inventory/docker.py
contrib/inventory/ec2.py
contrib/inventory/fleet.py
contrib/inventory/freeipa.py
contrib/inventory/gce.py
contrib/inventory/linode.py
contrib/inventory/mdt_dynamic_inventory.py
contrib/inventory/openvz.py
contrib/inventory/rax.py
contrib/inventory/softlayer.py
contrib/inventory/spacewalk.py
contrib/inventory/ssh_config.py
contrib/inventory/stacki.py
contrib/inventory/vbox.py
contrib/inventory/vmware_inventory.py
contrib/inventory/windows_azure.py
contrib/inventory/zabbix.py
contrib/inventory/zone.py
docs/api/conf.py
docs/docsite/conf.py
docs/docsite/rst/conf.py
docs/docsite/rst/dev_guide/conf.py
examples/scripts/uptime.py
hacking/dump_playbook_attributes.py
hacking/metadata-tool.py
hacking/module_formatter.py
hacking/tests/gen_distribution_version_testcase.py
lib/ansible/cli/__init__.py
lib/ansible/cli/adhoc.py
lib/ansible/cli/console.py
lib/ansible/cli/galaxy.py
lib/ansible/cli/playbook.py
lib/ansible/compat/six/__init__.py
lib/ansible/constants.py
lib/ansible/errors/__init__.py
lib/ansible/executor/play_iterator.py
lib/ansible/executor/stats.py
lib/ansible/executor/task_executor.py
lib/ansible/galaxy/login.py
lib/ansible/galaxy/role.py
lib/ansible/galaxy/token.py
lib/ansible/inventory/dir.py
lib/ansible/inventory/script.py
lib/ansible/inventory/yaml.py
lib/ansible/module_utils/azure_rm_common.py
lib/ansible/module_utils/basic.py
lib/ansible/module_utils/docker_common.py
lib/ansible/module_utils/ec2.py
lib/ansible/module_utils/eos.py
lib/ansible/module_utils/f5.py
lib/ansible/module_utils/facts.py
lib/ansible/module_utils/gcp.py
lib/ansible/module_utils/known_hosts.py
lib/ansible/module_utils/mysql.py
lib/ansible/module_utils/nxos.py
lib/ansible/module_utils/redhat.py
lib/ansible/module_utils/vmware.py
lib/ansible/modules/cloud/amazon/_ec2_vpc.py
lib/ansible/modules/cloud/amazon/aws_kms.py
lib/ansible/modules/cloud/amazon/cloudformation.py
lib/ansible/modules/cloud/amazon/cloudformation_facts.py
lib/ansible/modules/cloud/amazon/cloudfront_facts.py
lib/ansible/modules/cloud/amazon/cloudtrail.py
lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py
lib/ansible/modules/cloud/amazon/dynamodb_table.py
lib/ansible/modules/cloud/amazon/ec2.py
lib/ansible/modules/cloud/amazon/ec2_ami.py
lib/ansible/modules/cloud/amazon/ec2_ami_copy.py
lib/ansible/modules/cloud/amazon/ec2_ami_find.py
lib/ansible/modules/cloud/amazon/ec2_asg.py
lib/ansible/modules/cloud/amazon/ec2_asg_facts.py
lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py
lib/ansible/modules/cloud/amazon/ec2_elb.py
lib/ansible/modules/cloud/amazon/ec2_elb_facts.py
lib/ansible/modules/cloud/amazon/ec2_elb_lb.py
lib/ansible/modules/cloud/amazon/ec2_eni.py
lib/ansible/modules/cloud/amazon/ec2_eni_facts.py
lib/ansible/modules/cloud/amazon/ec2_facts.py
lib/ansible/modules/cloud/amazon/ec2_group.py
lib/ansible/modules/cloud/amazon/ec2_key.py
lib/ansible/modules/cloud/amazon/ec2_lc.py
lib/ansible/modules/cloud/amazon/ec2_lc_facts.py
lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py
lib/ansible/modules/cloud/amazon/ec2_remote_facts.py
lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py
lib/ansible/modules/cloud/amazon/ec2_snapshot_facts.py
lib/ansible/modules/cloud/amazon/ec2_tag.py
lib/ansible/modules/cloud/amazon/ec2_vol.py
lib/ansible/modules/cloud/amazon/ec2_vol_facts.py
lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_options.py
lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_options_facts.py
lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py
lib/ansible/modules/cloud/amazon/ec2_vpc_net.py
lib/ansible/modules/cloud/amazon/ec2_vpc_net_facts.py
lib/ansible/modules/cloud/amazon/ec2_vpc_peer.py
lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py
lib/ansible/modules/cloud/amazon/ec2_vpc_route_table_facts.py
lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py
lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_facts.py
lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py
lib/ansible/modules/cloud/amazon/ec2_vpc_vgw_facts.py
lib/ansible/modules/cloud/amazon/ec2_win_password.py
lib/ansible/modules/cloud/amazon/ecs_service.py
lib/ansible/modules/cloud/amazon/ecs_service_facts.py
lib/ansible/modules/cloud/amazon/ecs_task.py
lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py
lib/ansible/modules/cloud/amazon/elasticache.py
lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py
lib/ansible/modules/cloud/amazon/iam.py
lib/ansible/modules/cloud/amazon/iam_cert.py
lib/ansible/modules/cloud/amazon/iam_policy.py
lib/ansible/modules/cloud/amazon/iam_role.py
lib/ansible/modules/cloud/amazon/lambda.py
lib/ansible/modules/cloud/amazon/rds.py
lib/ansible/modules/cloud/amazon/rds_param_group.py
lib/ansible/modules/cloud/amazon/rds_subnet_group.py
lib/ansible/modules/cloud/amazon/redshift.py
lib/ansible/modules/cloud/amazon/redshift_subnet_group.py
lib/ansible/modules/cloud/amazon/route53.py
lib/ansible/modules/cloud/amazon/route53_health_check.py
lib/ansible/modules/cloud/amazon/route53_zone.py
lib/ansible/modules/cloud/amazon/s3.py
lib/ansible/modules/cloud/amazon/s3_bucket.py
lib/ansible/modules/cloud/amazon/s3_lifecycle.py
lib/ansible/modules/cloud/amazon/s3_sync.py
lib/ansible/modules/cloud/amazon/s3_website.py
lib/ansible/modules/cloud/amazon/sns_topic.py
lib/ansible/modules/cloud/amazon/sqs_queue.py
lib/ansible/modules/cloud/amazon/sts_assume_role.py
lib/ansible/modules/cloud/amazon/sts_session_token.py
lib/ansible/modules/cloud/atomic/atomic_host.py
lib/ansible/modules/cloud/atomic/atomic_image.py
lib/ansible/modules/cloud/azure/azure.py
lib/ansible/modules/cloud/azure/azure_rm_deployment.py
lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py
lib/ansible/modules/cloud/azure/azure_rm_networkinterface_facts.py
lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py
lib/ansible/modules/cloud/azure/azure_rm_securitygroup_facts.py
lib/ansible/modules/cloud/azure/azure_rm_storageblob.py
lib/ansible/modules/cloud/azure/azure_rm_subnet.py
lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py
lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py
lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py
lib/ansible/modules/cloud/cloudscale/cloudscale_server.py
lib/ansible/modules/cloud/cloudstack/cs_firewall.py
lib/ansible/modules/cloud/cloudstack/cs_host.py
lib/ansible/modules/cloud/cloudstack/cs_instance.py
lib/ansible/modules/cloud/cloudstack/cs_instance_facts.py
lib/ansible/modules/cloud/cloudstack/cs_iso.py
lib/ansible/modules/cloud/cloudstack/cs_portforward.py
lib/ansible/modules/cloud/cloudstack/cs_securitygroup_rule.py
lib/ansible/modules/cloud/cloudstack/cs_sshkeypair.py
lib/ansible/modules/cloud/digital_ocean/digital_ocean.py
lib/ansible/modules/cloud/docker/_docker.py
lib/ansible/modules/cloud/docker/docker_container.py
lib/ansible/modules/cloud/docker/docker_image.py
lib/ansible/modules/cloud/docker/docker_service.py
lib/ansible/modules/cloud/google/gc_storage.py
lib/ansible/modules/cloud/google/gcdns_record.py
lib/ansible/modules/cloud/google/gcdns_zone.py
lib/ansible/modules/cloud/google/gce_img.py
lib/ansible/modules/cloud/google/gce_lb.py
lib/ansible/modules/cloud/google/gce_mig.py
lib/ansible/modules/cloud/google/gce_net.py
lib/ansible/modules/cloud/google/gce_pd.py
lib/ansible/modules/cloud/google/gce_tag.py
lib/ansible/modules/cloud/google/gcpubsub.py
lib/ansible/modules/cloud/google/gcpubsub_facts.py
lib/ansible/modules/cloud/linode/linode.py
lib/ansible/modules/cloud/misc/ovirt.py
lib/ansible/modules/cloud/misc/proxmox.py
lib/ansible/modules/cloud/misc/proxmox_kvm.py
lib/ansible/modules/cloud/misc/proxmox_template.py
lib/ansible/modules/cloud/misc/serverless.py
lib/ansible/modules/cloud/misc/virt.py
lib/ansible/modules/cloud/misc/virt_net.py
lib/ansible/modules/cloud/misc/xenserver_facts.py
lib/ansible/modules/cloud/openstack/_glance_image.py
lib/ansible/modules/cloud/openstack/_keystone_user.py
lib/ansible/modules/cloud/openstack/_nova_compute.py
lib/ansible/modules/cloud/openstack/_nova_keypair.py
lib/ansible/modules/cloud/openstack/_quantum_floating_ip.py
lib/ansible/modules/cloud/openstack/_quantum_floating_ip_associate.py
lib/ansible/modules/cloud/openstack/_quantum_network.py
lib/ansible/modules/cloud/openstack/_quantum_router.py
lib/ansible/modules/cloud/openstack/_quantum_router_gateway.py
lib/ansible/modules/cloud/openstack/_quantum_router_interface.py
lib/ansible/modules/cloud/openstack/_quantum_subnet.py
lib/ansible/modules/cloud/openstack/os_auth.py
lib/ansible/modules/cloud/openstack/os_client_config.py
lib/ansible/modules/cloud/openstack/os_nova_host_aggregate.py
lib/ansible/modules/cloud/openstack/os_object.py
lib/ansible/modules/cloud/openstack/os_project.py
lib/ansible/modules/cloud/openstack/os_project_facts.py
lib/ansible/modules/cloud/openstack/os_quota.py
lib/ansible/modules/cloud/openstack/os_recordset.py
lib/ansible/modules/cloud/openstack/os_zone.py
lib/ansible/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py
lib/ansible/modules/cloud/packet/packet_device.py
lib/ansible/modules/cloud/packet/packet_sshkey.py
lib/ansible/modules/cloud/profitbricks/profitbricks.py
lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py
lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py
lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py
lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py
lib/ansible/modules/cloud/rackspace/rax_cbs.py
lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py
lib/ansible/modules/cloud/rackspace/rax_clb.py
lib/ansible/modules/cloud/rackspace/rax_facts.py
lib/ansible/modules/cloud/rackspace/rax_identity.py
lib/ansible/modules/cloud/rackspace/rax_network.py
lib/ansible/modules/cloud/rackspace/rax_queue.py
lib/ansible/modules/cloud/softlayer/sl_vm.py
lib/ansible/modules/cloud/vmware/vca_fw.py
lib/ansible/modules/cloud/vmware/vmware_guest.py
lib/ansible/modules/cloud/vmware/vmware_local_user_manager.py
lib/ansible/modules/cloud/vmware/vmware_vm_vss_dvs_migrate.py
lib/ansible/modules/cloud/vmware/vmware_vswitch.py
lib/ansible/modules/cloud/vmware/vsphere_copy.py
lib/ansible/modules/cloud/vmware/vsphere_guest.py
lib/ansible/modules/cloud/webfaction/webfaction_app.py
lib/ansible/modules/cloud/webfaction/webfaction_db.py
lib/ansible/modules/cloud/webfaction/webfaction_domain.py
lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py
lib/ansible/modules/cloud/webfaction/webfaction_site.py
lib/ansible/modules/clustering/consul.py
lib/ansible/modules/clustering/consul_acl.py
lib/ansible/modules/clustering/consul_kv.py
lib/ansible/modules/clustering/consul_session.py
lib/ansible/modules/commands/command.py
lib/ansible/modules/commands/script.py
lib/ansible/modules/crypto/openssl_privatekey.py
lib/ansible/modules/crypto/openssl_publickey.py
lib/ansible/modules/database/influxdb/influxdb_retention_policy.py
lib/ansible/modules/database/misc/elasticsearch_plugin.py
lib/ansible/modules/database/misc/kibana_plugin.py
lib/ansible/modules/database/misc/mongodb_parameter.py
lib/ansible/modules/database/misc/mongodb_user.py
lib/ansible/modules/database/misc/redis.py
lib/ansible/modules/database/misc/riak.py
lib/ansible/modules/database/mssql/mssql_db.py
lib/ansible/modules/database/mysql/mysql_db.py
lib/ansible/modules/database/mysql/mysql_replication.py
lib/ansible/modules/database/mysql/mysql_user.py
lib/ansible/modules/database/mysql/mysql_variables.py
lib/ansible/modules/database/postgresql/postgresql_db.py
lib/ansible/modules/database/postgresql/postgresql_ext.py
lib/ansible/modules/database/postgresql/postgresql_lang.py
lib/ansible/modules/database/postgresql/postgresql_privs.py
lib/ansible/modules/database/postgresql/postgresql_schema.py
lib/ansible/modules/database/postgresql/postgresql_user.py
lib/ansible/modules/database/vertica/vertica_configuration.py
lib/ansible/modules/database/vertica/vertica_role.py
lib/ansible/modules/database/vertica/vertica_schema.py
lib/ansible/modules/database/vertica/vertica_user.py
lib/ansible/modules/files/acl.py
lib/ansible/modules/files/archive.py
lib/ansible/modules/files/copy.py
lib/ansible/modules/files/find.py
lib/ansible/modules/files/ini_file.py
lib/ansible/modules/files/lineinfile.py
lib/ansible/modules/files/patch.py
lib/ansible/modules/files/stat.py
lib/ansible/modules/files/synchronize.py
lib/ansible/modules/files/tempfile.py
lib/ansible/modules/files/unarchive.py
lib/ansible/modules/messaging/rabbitmq_binding.py
lib/ansible/modules/messaging/rabbitmq_exchange.py
lib/ansible/modules/messaging/rabbitmq_queue.py
lib/ansible/modules/monitoring/boundary_meter.py
lib/ansible/modules/monitoring/circonus_annotation.py
lib/ansible/modules/monitoring/datadog_monitor.py
lib/ansible/modules/monitoring/librato_annotation.py
lib/ansible/modules/monitoring/logicmonitor.py
lib/ansible/modules/monitoring/logicmonitor_facts.py
lib/ansible/modules/monitoring/monit.py
lib/ansible/modules/monitoring/nagios.py
lib/ansible/modules/monitoring/newrelic_deployment.py
lib/ansible/modules/monitoring/pagerduty.py
lib/ansible/modules/monitoring/pagerduty_alert.py
lib/ansible/modules/monitoring/pingdom.py
lib/ansible/modules/monitoring/sensu_check.py
lib/ansible/modules/monitoring/stackdriver.py
lib/ansible/modules/monitoring/statusio_maintenance.py
lib/ansible/modules/monitoring/zabbix_host.py
lib/ansible/modules/monitoring/zabbix_hostmacro.py
lib/ansible/modules/monitoring/zabbix_screen.py
lib/ansible/modules/network/a10/a10_server.py
lib/ansible/modules/network/a10/a10_server_axapi3.py
lib/ansible/modules/network/a10/a10_service_group.py
lib/ansible/modules/network/a10/a10_virtual_server.py
lib/ansible/modules/network/basics/get_url.py
lib/ansible/modules/network/basics/slurp.py
lib/ansible/modules/network/basics/uri.py
lib/ansible/modules/network/bigswitch/bigmon_chain.py
lib/ansible/modules/network/cloudengine/ce_command.py
lib/ansible/modules/network/cloudflare_dns.py
lib/ansible/modules/network/dellos10/dellos10_facts.py
lib/ansible/modules/network/dellos6/dellos6_facts.py
lib/ansible/modules/network/dellos9/dellos9_command.py
lib/ansible/modules/network/dellos9/dellos9_config.py
lib/ansible/modules/network/dellos9/dellos9_facts.py
lib/ansible/modules/network/dnsimple.py
lib/ansible/modules/network/dnsmadeeasy.py
lib/ansible/modules/network/eos/eos_eapi.py
lib/ansible/modules/network/exoscale/exo_dns_record.py
lib/ansible/modules/network/f5/bigip_facts.py
lib/ansible/modules/network/f5/bigip_monitor_tcp.py
lib/ansible/modules/network/f5/bigip_node.py
lib/ansible/modules/network/f5/bigip_pool.py
lib/ansible/modules/network/f5/bigip_pool_member.py
lib/ansible/modules/network/f5/bigip_virtual_server.py
lib/ansible/modules/network/haproxy.py
lib/ansible/modules/network/illumos/dladm_vlan.py
lib/ansible/modules/network/ios/ios_config.py
lib/ansible/modules/network/junos/junos_facts.py
lib/ansible/modules/network/lldp.py
lib/ansible/modules/network/nmcli.py
lib/ansible/modules/network/nxos/nxos_aaa_server.py
lib/ansible/modules/network/nxos/nxos_aaa_server_host.py
lib/ansible/modules/network/nxos/nxos_acl.py
lib/ansible/modules/network/nxos/nxos_acl_interface.py
lib/ansible/modules/network/nxos/nxos_bgp.py
lib/ansible/modules/network/nxos/nxos_bgp_af.py
lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py
lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py
lib/ansible/modules/network/nxos/nxos_evpn_global.py
lib/ansible/modules/network/nxos/nxos_evpn_vni.py
lib/ansible/modules/network/nxos/nxos_feature.py
lib/ansible/modules/network/nxos/nxos_file_copy.py
lib/ansible/modules/network/nxos/nxos_gir.py
lib/ansible/modules/network/nxos/nxos_gir_profile_management.py
lib/ansible/modules/network/nxos/nxos_hsrp.py
lib/ansible/modules/network/nxos/nxos_igmp.py
lib/ansible/modules/network/nxos/nxos_igmp_interface.py
lib/ansible/modules/network/nxos/nxos_igmp_snooping.py
lib/ansible/modules/network/nxos/nxos_install_os.py
lib/ansible/modules/network/nxos/nxos_interface.py
lib/ansible/modules/network/nxos/nxos_interface_ospf.py
lib/ansible/modules/network/nxos/nxos_ip_interface.py
lib/ansible/modules/network/nxos/nxos_mtu.py
lib/ansible/modules/network/nxos/nxos_ntp.py
lib/ansible/modules/network/nxos/nxos_ntp_auth.py
lib/ansible/modules/network/nxos/nxos_ntp_options.py
lib/ansible/modules/network/nxos/nxos_ospf.py
lib/ansible/modules/network/nxos/nxos_ospf_vrf.py
lib/ansible/modules/network/nxos/nxos_overlay_global.py
lib/ansible/modules/network/nxos/nxos_pim.py
lib/ansible/modules/network/nxos/nxos_pim_interface.py
lib/ansible/modules/network/nxos/nxos_pim_rp_address.py
lib/ansible/modules/network/nxos/nxos_ping.py
lib/ansible/modules/network/nxos/nxos_portchannel.py
lib/ansible/modules/network/nxos/nxos_reboot.py
lib/ansible/modules/network/nxos/nxos_rollback.py
lib/ansible/modules/network/nxos/nxos_smu.py
lib/ansible/modules/network/nxos/nxos_snapshot.py
lib/ansible/modules/network/nxos/nxos_snmp_community.py
lib/ansible/modules/network/nxos/nxos_snmp_contact.py
lib/ansible/modules/network/nxos/nxos_snmp_host.py
lib/ansible/modules/network/nxos/nxos_snmp_location.py
lib/ansible/modules/network/nxos/nxos_snmp_traps.py
lib/ansible/modules/network/nxos/nxos_snmp_user.py
lib/ansible/modules/network/nxos/nxos_static_route.py
lib/ansible/modules/network/nxos/nxos_switchport.py
lib/ansible/modules/network/nxos/nxos_udld.py
lib/ansible/modules/network/nxos/nxos_udld_interface.py
lib/ansible/modules/network/nxos/nxos_vlan.py
lib/ansible/modules/network/nxos/nxos_vpc.py
lib/ansible/modules/network/nxos/nxos_vpc_interface.py
lib/ansible/modules/network/nxos/nxos_vrf.py
lib/ansible/modules/network/nxos/nxos_vrf_af.py
lib/ansible/modules/network/nxos/nxos_vrf_interface.py
lib/ansible/modules/network/nxos/nxos_vrrp.py
lib/ansible/modules/network/nxos/nxos_vtp_domain.py
lib/ansible/modules/network/nxos/nxos_vtp_password.py
lib/ansible/modules/network/nxos/nxos_vtp_version.py
lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py
lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py
lib/ansible/modules/network/ovs/openvswitch_port.py
lib/ansible/modules/network/panos/panos_nat_policy.py
lib/ansible/modules/network/snmp_facts.py
lib/ansible/modules/network/wakeonlan.py
lib/ansible/modules/notification/flowdock.py
lib/ansible/modules/notification/hall.py
lib/ansible/modules/notification/irc.py
lib/ansible/modules/notification/mqtt.py
lib/ansible/modules/notification/osx_say.py
lib/ansible/modules/notification/pushbullet.py
lib/ansible/modules/notification/sendgrid.py
lib/ansible/modules/notification/sns.py
lib/ansible/modules/packaging/language/bundler.py
lib/ansible/modules/packaging/language/composer.py
lib/ansible/modules/packaging/language/cpanm.py
lib/ansible/modules/packaging/language/maven_artifact.py
lib/ansible/modules/packaging/language/pear.py
lib/ansible/modules/packaging/os/apt.py
lib/ansible/modules/packaging/os/apt_key.py
lib/ansible/modules/packaging/os/apt_rpm.py
lib/ansible/modules/packaging/os/dnf.py
lib/ansible/modules/packaging/os/dpkg_selections.py
lib/ansible/modules/packaging/os/homebrew.py
lib/ansible/modules/packaging/os/layman.py
lib/ansible/modules/packaging/os/openbsd_pkg.py
lib/ansible/modules/packaging/os/opkg.py
lib/ansible/modules/packaging/os/pacman.py
lib/ansible/modules/packaging/os/pkg5_publisher.py
lib/ansible/modules/packaging/os/pkgin.py
lib/ansible/modules/packaging/os/pkgng.py
lib/ansible/modules/packaging/os/pkgutil.py
lib/ansible/modules/packaging/os/portinstall.py
lib/ansible/modules/packaging/os/redhat_subscription.py
lib/ansible/modules/packaging/os/rhn_channel.py
lib/ansible/modules/packaging/os/rhn_register.py
lib/ansible/modules/packaging/os/rpm_key.py
lib/ansible/modules/packaging/os/svr4pkg.py
lib/ansible/modules/packaging/os/swdepot.py
lib/ansible/modules/packaging/os/urpmi.py
lib/ansible/modules/packaging/os/yum.py
lib/ansible/modules/packaging/os/zypper.py
lib/ansible/modules/packaging/os/zypper_repository.py
lib/ansible/modules/remote_management/foreman/katello.py
lib/ansible/modules/remote_management/stacki/stacki_host.py
lib/ansible/modules/source_control/github_hooks.py
lib/ansible/modules/source_control/hg.py
lib/ansible/modules/storage/infinidat/infini_export.py
lib/ansible/modules/storage/infinidat/infini_export_client.py
lib/ansible/modules/storage/infinidat/infini_pool.py
lib/ansible/modules/storage/netapp/netapp_e_amg.py
lib/ansible/modules/storage/netapp/netapp_e_amg_sync.py
lib/ansible/modules/storage/netapp/netapp_e_auth.py
lib/ansible/modules/storage/netapp/netapp_e_host.py
lib/ansible/modules/storage/netapp/netapp_e_hostgroup.py
lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py
lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py
lib/ansible/modules/storage/netapp/netapp_e_storage_system.py
lib/ansible/modules/storage/netapp/netapp_e_storagepool.py
lib/ansible/modules/system/authorized_key.py
lib/ansible/modules/system/capabilities.py
lib/ansible/modules/system/cron.py
lib/ansible/modules/system/debconf.py
lib/ansible/modules/system/facter.py
lib/ansible/modules/system/filesystem.py
lib/ansible/modules/system/firewalld.py
lib/ansible/modules/system/gconftool2.py
lib/ansible/modules/system/gluster_volume.py
lib/ansible/modules/system/group.py
lib/ansible/modules/system/known_hosts.py
lib/ansible/modules/system/locale_gen.py
lib/ansible/modules/system/lvg.py
lib/ansible/modules/system/lvol.py
lib/ansible/modules/system/modprobe.py
lib/ansible/modules/system/ohai.py
lib/ansible/modules/system/open_iscsi.py
lib/ansible/modules/system/openwrt_init.py
lib/ansible/modules/system/pam_limits.py
lib/ansible/modules/system/sefcontext.py
lib/ansible/modules/system/seport.py
lib/ansible/modules/system/setup.py
lib/ansible/modules/system/solaris_zone.py
lib/ansible/modules/system/sysctl.py
lib/ansible/modules/system/systemd.py
lib/ansible/modules/system/ufw.py
lib/ansible/modules/system/user.py
lib/ansible/modules/utilities/helper/_accelerate.py
lib/ansible/modules/utilities/helper/meta.py
lib/ansible/modules/utilities/logic/assert.py
lib/ansible/modules/utilities/logic/async_status.py
lib/ansible/modules/utilities/logic/include.py
lib/ansible/modules/utilities/logic/include_role.py
lib/ansible/modules/utilities/logic/include_vars.py
lib/ansible/modules/utilities/logic/pause.py
lib/ansible/modules/utilities/logic/set_fact.py
lib/ansible/modules/utilities/logic/wait_for.py
lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py
lib/ansible/modules/web_infrastructure/apache2_module.py
lib/ansible/modules/web_infrastructure/django_manage.py
lib/ansible/modules/web_infrastructure/jenkins_job.py
lib/ansible/modules/web_infrastructure/jira.py
lib/ansible/modules/web_infrastructure/letsencrypt.py
lib/ansible/modules/web_infrastructure/nginx_status_facts.py
lib/ansible/modules/web_infrastructure/taiga_issue.py
lib/ansible/modules/windows/win_acl.py
lib/ansible/modules/windows/win_acl_inheritance.py
lib/ansible/modules/windows/win_chocolatey.py
lib/ansible/modules/windows/win_command.py
lib/ansible/modules/windows/win_feature.py
lib/ansible/modules/windows/win_lineinfile.py
lib/ansible/modules/windows/win_nssm.py
lib/ansible/modules/windows/win_package.py
lib/ansible/modules/windows/win_path.py
lib/ansible/modules/windows/win_regedit.py
lib/ansible/modules/windows/win_regmerge.py
lib/ansible/modules/windows/win_robocopy.py
lib/ansible/modules/windows/win_say.py
lib/ansible/modules/windows/win_share.py
lib/ansible/modules/windows/win_shell.py
lib/ansible/modules/windows/win_shortcut.py
lib/ansible/modules/windows/win_unzip.py
lib/ansible/modules/windows/win_updates.py
lib/ansible/modules/windows/win_uri.py
lib/ansible/modules/windows/win_webpicmd.py
lib/ansible/parsing/mod_args.py
lib/ansible/playbook/attribute.py
lib/ansible/playbook/block.py
lib/ansible/playbook/helpers.py
lib/ansible/playbook/play_context.py
lib/ansible/playbook/playbook_include.py
lib/ansible/playbook/role/__init__.py
lib/ansible/playbook/role/metadata.py
lib/ansible/playbook/role_include.py
lib/ansible/playbook/taggable.py
lib/ansible/plugins/action/__init__.py
lib/ansible/plugins/action/add_host.py
lib/ansible/plugins/action/async.py
lib/ansible/plugins/action/package.py
lib/ansible/plugins/action/service.py
lib/ansible/plugins/action/set_fact.py
lib/ansible/plugins/action/set_stats.py
lib/ansible/plugins/action/synchronize.py
lib/ansible/plugins/action/template.py
lib/ansible/plugins/cache/jsonfile.py
lib/ansible/plugins/callback/default.py
lib/ansible/plugins/callback/dense.py
lib/ansible/plugins/callback/foreman.py
lib/ansible/plugins/callback/jabber.py
lib/ansible/plugins/callback/logentries.py
lib/ansible/plugins/callback/oneline.py
lib/ansible/plugins/callback/profile_tasks.py
lib/ansible/plugins/callback/selective.py
lib/ansible/plugins/callback/syslog_json.py
lib/ansible/plugins/connection/accelerate.py
lib/ansible/plugins/connection/iocage.py
lib/ansible/plugins/connection/paramiko_ssh.py
lib/ansible/plugins/connection/ssh.py
lib/ansible/plugins/connection/winrm.py
lib/ansible/plugins/filter/core.py
lib/ansible/plugins/filter/ipaddr.py
lib/ansible/plugins/filter/mathstuff.py
lib/ansible/plugins/lookup/dig.py
lib/ansible/plugins/lookup/dnstxt.py
lib/ansible/plugins/lookup/first_found.py
lib/ansible/plugins/lookup/hashi_vault.py
lib/ansible/plugins/lookup/mongodb.py
lib/ansible/plugins/lookup/pipe.py
lib/ansible/plugins/lookup/random_choice.py
lib/ansible/plugins/lookup/sequence.py
lib/ansible/plugins/shell/fish.py
lib/ansible/plugins/shell/sh.py
lib/ansible/plugins/strategy/__init__.py
lib/ansible/plugins/strategy/debug.py
lib/ansible/plugins/strategy/linear.py
lib/ansible/template/__init__.py
lib/ansible/utils/cmd_functions.py
lib/ansible/utils/encrypt.py
lib/ansible/utils/helpers.py
lib/ansible/utils/module_docs.py
lib/ansible/utils/module_docs_fragments/auth_basic.py
lib/ansible/utils/module_docs_fragments/aws.py
lib/ansible/utils/module_docs_fragments/azure_tags.py
lib/ansible/utils/module_docs_fragments/cloudengine.py
lib/ansible/utils/module_docs_fragments/ec2.py
lib/ansible/utils/module_docs_fragments/files.py
lib/ansible/utils/module_docs_fragments/infinibox.py
lib/ansible/utils/module_docs_fragments/netapp.py
lib/ansible/utils/module_docs_fragments/ovirt.py
lib/ansible/utils/module_docs_fragments/ovirt_facts.py
lib/ansible/vars/__init__.py
setup.py
test/integration/cleanup_ec2.py
test/integration/cleanup_gce.py
test/integration/setup_gce.py
test/integration/targets/async/library/async_test.py
test/units/cli/test_galaxy.py
test/units/contrib/inventory/test_vmware_inventory.py
test/units/errors/test_errors.py
test/units/executor/test_playbook_executor.py
test/units/executor/test_task_executor.py
test/units/mock/yaml_helper.py
test/units/module_utils/basic/test__log_invocation.py
test/units/module_utils/basic/test_exit_json.py
test/units/module_utils/basic/test_log.py
test/units/module_utils/basic/test_no_log.py
test/units/module_utils/basic/test_safe_eval.py
test/units/module_utils/basic/test_set_mode_if_different.py
test/units/module_utils/gcp/test_auth.py
test/units/module_utils/json_utils/test_filter_non_json_lines.py
test/units/module_utils/test_basic.py
test/units/module_utils/test_distribution_version.py
test/units/module_utils/test_facts.py
test/units/module_utils/test_text.py
test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py
test/units/modules/cloud/google/test_gce_tag.py
test/units/parsing/test_mod_args.py
test/units/parsing/yaml/test_loader.py
test/units/playbook/test_block.py
test/units/playbook/test_helpers.py
test/units/playbook/test_play.py
test/units/playbook/test_play_context.py
test/units/playbook/test_task.py
test/units/plugins/action/test_raw.py
test/units/plugins/action/test_synchronize.py
test/units/plugins/lookup/test_ini.py
test/units/plugins/lookup/test_lastpass.py
test/units/plugins/lookup/test_password.py
test/units/plugins/strategy/test_strategy_base.py
test/units/template/test_templar.py
test/units/template/test_template_utilities.py
test/units/utils/test_vars.py
test/units/vars/test_variable_manager.py

@ -0,0 +1,25 @@
E101
E111
E114
E115
E116
E121
E122
E125
E126
E129
E131
E271
E272
E401
E501
E701
E703
E704
E711
E712
E721
W191
W291
W292
W293
Loading…
Cancel
Save