From 1ee08c0f069eb5d3817ba7199adef4f3804056b8 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Sat, 29 Jul 2017 00:20:36 -0700 Subject: [PATCH] Get rid of more wildcard imports and add boilerplate to more modules This commit cleans up the following module categories: * messaging * inventory * crypto * commands * clustering * cloud/webfaction * cloud/docker * cloud/digital_ocean --- .../cloud/digital_ocean/digital_ocean.py | 23 +++----- .../digital_ocean_block_storage.py | 33 ++++------- .../digital_ocean/digital_ocean_domain.py | 25 ++++----- .../digital_ocean_floating_ip.py | 56 ++++++++----------- .../digital_ocean/digital_ocean_sshkey.py | 22 +++----- .../cloud/digital_ocean/digital_ocean_tag.py | 22 +++----- lib/ansible/modules/cloud/docker/_docker.py | 31 +++------- .../modules/cloud/docker/docker_container.py | 20 ++----- .../modules/cloud/docker/docker_image.py | 25 +++------ .../cloud/docker/docker_image_facts.py | 29 +++------- .../modules/cloud/docker/docker_login.py | 26 +++------ .../modules/cloud/docker/docker_network.py | 28 +++------- .../modules/cloud/docker/docker_secret.py | 21 ++----- .../modules/cloud/docker/docker_service.py | 47 ++++++---------- .../modules/cloud/docker/docker_volume.py | 24 +++----- .../cloud/webfaction/webfaction_app.py | 33 ++++------- .../modules/cloud/webfaction/webfaction_db.py | 30 ++++------ .../cloud/webfaction/webfaction_domain.py | 31 ++++------ .../cloud/webfaction/webfaction_mailbox.py | 31 ++++------ .../cloud/webfaction/webfaction_site.py | 33 ++++------- lib/ansible/modules/clustering/consul.py | 20 ++----- lib/ansible/modules/clustering/consul_acl.py | 26 ++------- lib/ansible/modules/clustering/consul_kv.py | 28 +++------- .../modules/clustering/consul_session.py | 26 +++------ lib/ansible/modules/clustering/kubernetes.py | 36 +++++------- .../modules/clustering/pacemaker_cluster.py | 24 +++----- lib/ansible/modules/clustering/znode.py | 26 +++------ lib/ansible/modules/commands/command.py | 30 ++++------ lib/ansible/modules/commands/expect.py | 34 ++++------- lib/ansible/modules/commands/raw.py | 19 ++----- lib/ansible/modules/commands/script.py | 20 ++----- lib/ansible/modules/commands/shell.py | 22 +++----- lib/ansible/modules/crypto/openssl_csr.py | 18 ++---- .../modules/crypto/openssl_privatekey.py | 27 +++------ .../modules/crypto/openssl_publickey.py | 26 +++------ lib/ansible/modules/inventory/add_host.py | 20 ++----- lib/ansible/modules/inventory/group_by.py | 20 ++----- .../modules/messaging/rabbitmq_binding.py | 28 +++------- .../modules/messaging/rabbitmq_exchange.py | 28 +++------- .../modules/messaging/rabbitmq_parameter.py | 26 +++------ .../modules/messaging/rabbitmq_plugin.py | 25 +++------ .../modules/messaging/rabbitmq_policy.py | 26 +++------ .../modules/messaging/rabbitmq_queue.py | 28 +++------- .../modules/messaging/rabbitmq_user.py | 25 +++------ .../modules/messaging/rabbitmq_vhost.py | 26 +++------ test/sanity/code-smell/boilerplate.sh | 37 ++++++------ test/sanity/pep8/legacy-files.txt | 3 - 47 files changed, 416 insertions(+), 848 deletions(-) diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py index ff84f5f2d6..2d50cf0104 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py @@ -1,20 +1,13 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +# +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], 'supported_by': 'community'} @@ -193,6 +186,7 @@ import traceback from distutils.version import LooseVersion try: + # Imported as a dependency for dopy import six HAS_SIX = True except ImportError: @@ -479,5 +473,6 @@ def main(): except (DoError, Exception) as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py index 25c48c81b2..fc96c2d7e1 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py @@ -1,20 +1,12 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +# +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -118,9 +110,9 @@ id: import json import os import time +import traceback from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.pycompat24 import get_exception from ansible.module_utils.urls import fetch_url @@ -338,12 +330,11 @@ def main(): ) try: handle_request(module) - except DOBlockStorageException: - e = get_exception() - module.fail_json(msg=e.message) - except KeyError: - e = get_exception() - module.fail_json(msg='Unable to load %s' % e.message) + except DOBlockStorageException as e: + module.fail_json(msg=e.message, exception=traceback.format_exc()) + except KeyError as e: + module.fail_json(msg='Unable to load %s' % e.message, exception=traceback.format_exc()) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py index 1e261991c7..a90df8455d 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py @@ -1,20 +1,13 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +# +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], 'supported_by': 'community'} @@ -96,6 +89,7 @@ except ImportError as e: HAS_DOPY = False from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils._text import to_native class JsonfyMixIn(object): @@ -244,7 +238,8 @@ def main(): try: core(module) except (DoError, Exception) as e: - module.fail_json(msg=str(e), exception=traceback.format_exc()) + module.fail_json(msg=to_native(e), exception=traceback.format_exc()) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py index 064f74b1c0..e526f9d160 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py @@ -2,21 +2,12 @@ # -*- coding: utf-8 -*- # # (c) 2015, Patrick F. Marques -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + ANSIBLE_METADATA = {'status': ['preview'], 'supported_by': 'community', 'metadata_version': '1.0'} @@ -124,11 +115,10 @@ data: ''' import json -import os import time -from ansible.module_utils.basic import env_fallback from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.basic import env_fallback from ansible.module_utils.urls import fetch_url @@ -216,28 +206,27 @@ def core(module): state = module.params['state'] ip = module.params['ip'] droplet_id = module.params['droplet_id'] - region = module.params['region'] rest = Rest(module, {'Authorization': 'Bearer {0}'.format(api_token), 'Content-type': 'application/json'}) if state in ('present'): - if module.params['droplet_id'] is not None and module.params['ip'] is not None: + if droplet_id is not None and module.params['ip'] is not None: # Lets try to associate the ip to the specified droplet - result = associate_floating_ips(module, rest) + associate_floating_ips(module, rest) else: - result = create_floating_ips(module, rest) + create_floating_ips(module, rest) elif state in ('absent'): response = rest.delete("floating_ips/{0}".format(ip)) status_code = response.status_code - json = response.json + json_data = response.json if status_code == 204: module.exit_json(changed=True) elif status_code == 404: module.exit_json(changed=False) else: - module.exit_json(changed=False, data=json) + module.exit_json(changed=False, data=json_data) def get_floating_ip_details(module, rest): @@ -245,12 +234,12 @@ def get_floating_ip_details(module, rest): response = rest.get("floating_ips/{0}".format(ip)) status_code = response.status_code - json = response.json + json_data = response.json if status_code == 200: - return response.json['floating_ip'] + return json_data['floating_ip'] else: module.fail_json(msg="Error assigning floating ip [{0}: {1}]".format( - status_code, response.json["message"]), region=module.params['region']) + status_code, json_data["message"]), region=module.params['region']) def assign_floating_id_to_droplet(module, rest): @@ -263,14 +252,14 @@ def assign_floating_id_to_droplet(module, rest): response = rest.post("floating_ips/{0}/actions".format(ip), data=payload) status_code = response.status_code - json = response.json + json_data = response.json if status_code == 201: - wait_action(module, rest, ip, json['action']['id']) + wait_action(module, rest, ip, json_data['action']['id']) - module.exit_json(changed=True, data=response.json) + module.exit_json(changed=True, data=json_data) else: module.fail_json(msg="Error creating floating ip [{0}: {1}]".format( - status_code, response.json["message"]), region=module.params['region']) + status_code, json_data["message"]), region=module.params['region']) def associate_floating_ips(module, rest): @@ -295,12 +284,12 @@ def create_floating_ips(module, rest): response = rest.post("floating_ips", data=payload) status_code = response.status_code - json = response.json + json_data = response.json if status_code == 202: - module.exit_json(changed=True, data=response.json) + module.exit_json(changed=True, data=json_data) else: module.fail_json(msg="Error creating floating ip [{0}: {1}]".format( - status_code, response.json["message"]), region=module.params['region']) + status_code, json_data["message"]), region=module.params['region']) def main(): @@ -329,5 +318,6 @@ def main(): core(module) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py index 9d5c462e5d..b7a3dfd63a 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py @@ -1,20 +1,13 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], 'supported_by': 'community'} @@ -182,5 +175,6 @@ def main(): except (DoError, Exception) as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py index ba95e76438..2b79c97830 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py +++ b/lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py @@ -1,20 +1,13 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], 'supported_by': 'community'} @@ -280,5 +273,6 @@ def main(): except Exception as e: module.fail_json(msg=str(e)) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/docker/_docker.py b/lib/ansible/modules/cloud/docker/_docker.py index fe0f8a5595..9d941ce46c 100644 --- a/lib/ansible/modules/cloud/docker/_docker.py +++ b/lib/ansible/modules/cloud/docker/_docker.py @@ -4,22 +4,11 @@ # (c) 2014, Joshua Conner # (c) 2014, Pavel Antonov # -# This file is part of Ansible, -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type -###################################################################### ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['deprecated'], @@ -524,11 +513,6 @@ EXAMPLES = ''' syslog-tag: myservice ''' -HAS_DOCKER_PY = True -DEFAULT_DOCKER_API_VERSION = None -DEFAULT_TIMEOUT_SECONDS = 60 - -import sys import json import os import shlex @@ -543,9 +527,12 @@ try: import docker.utils import docker.errors from requests.exceptions import RequestException + HAS_DOCKER_PY = True except ImportError: HAS_DOCKER_PY = False +DEFAULT_DOCKER_API_VERSION = None +DEFAULT_TIMEOUT_SECONDS = 60 if HAS_DOCKER_PY: try: from docker.errors import APIError as DockerAPIError @@ -561,6 +548,8 @@ if HAS_DOCKER_PY: DEFAULT_DOCKER_API_VERSION = docker.client.DEFAULT_DOCKER_API_VERSION DEFAULT_TIMEOUT_SECONDS = docker.client.DEFAULT_TIMEOUT_SECONDS +from ansible.module_utils.basic import AnsibleModule + def _human_to_bytes(number): suffixes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'] @@ -1979,8 +1968,6 @@ def main(): except RequestException as e: module.fail_json(changed=manager.has_changed(), msg=repr(e)) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/docker/docker_container.py b/lib/ansible/modules/cloud/docker/docker_container.py index a6c4a7b545..c04f12f77e 100644 --- a/lib/ansible/modules/cloud/docker/docker_container.py +++ b/lib/ansible/modules/cloud/docker/docker_container.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], diff --git a/lib/ansible/modules/cloud/docker/docker_image.py b/lib/ansible/modules/cloud/docker/docker_image.py index dd1d80221d..a88940eaee 100644 --- a/lib/ansible/modules/cloud/docker/docker_image.py +++ b/lib/ansible/modules/cloud/docker/docker_image.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -250,11 +240,10 @@ image: type: dict sample: {} ''' -import re import os +import re -from ansible.module_utils.docker_common import (HAS_DOCKER_PY_2, AnsibleDockerClient, - DockerBaseClass) +from ansible.module_utils.docker_common import HAS_DOCKER_PY_2, AnsibleDockerClient, DockerBaseClass from ansible.module_utils._text import to_native try: diff --git a/lib/ansible/modules/cloud/docker/docker_image_facts.py b/lib/ansible/modules/cloud/docker/docker_image_facts.py index 197888551c..bda00996f9 100644 --- a/lib/ansible/modules/cloud/docker/docker_image_facts.py +++ b/lib/ansible/modules/cloud/docker/docker_image_facts.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -161,15 +151,15 @@ images: ] ''' -from ansible.module_utils.docker_common import * - try: - from docker import auth from docker import utils except ImportError: # missing docker-py handled in docker_common pass +from ansible.module_utils.docker_common import AnsibleDockerClient, DockerBaseClass + + class ImageManager(DockerBaseClass): def __init__(self, client, results): @@ -242,8 +232,5 @@ def main(): client.module.exit_json(**results) -# import module snippets -from ansible.module_utils.basic import * - if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/docker/docker_login.py b/lib/ansible/modules/cloud/docker/docker_login.py index 35c38fad1f..b3b63f2a60 100644 --- a/lib/ansible/modules/cloud/docker/docker_login.py +++ b/lib/ansible/modules/cloud/docker/docker_login.py @@ -4,21 +4,10 @@ # Chris Houseknecht, # James Tanner, # -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type ANSIBLE_METADATA = {'metadata_version': '1.0', @@ -142,9 +131,12 @@ login_results: ''' import base64 +import json +import os +import re from ansible.module_utils._text import to_bytes, to_text -from ansible.module_utils.docker_common import * +from ansible.module_utils.docker_common import AnsibleDockerClient, DEFAULT_DOCKER_REGISTRY, DockerBaseClass, EMAIL_REGEX class LoginManager(DockerBaseClass): @@ -333,8 +325,6 @@ def main(): del results['actions'] client.module.exit_json(**results) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/docker/docker_network.py b/lib/ansible/modules/cloud/docker/docker_network.py index 9d84249047..fe2aea1283 100644 --- a/lib/ansible/modules/cloud/docker/docker_network.py +++ b/lib/ansible/modules/cloud/docker/docker_network.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -161,14 +151,12 @@ facts: sample: {} ''' -from ansible.module_utils.docker_common import * +from ansible.module_utils.docker_common import AnsibleDockerClient, DockerBaseClass, HAS_DOCKER_PY_2 try: from docker import utils if HAS_DOCKER_PY_2: - from docker.types import Ulimit, IPAMPool, IPAMConfig - else: - from docker.utils.types import Ulimit + from docker.types import IPAMPool, IPAMConfig except: # missing docker-py handled in ansible.module_utils.docker pass @@ -390,8 +378,6 @@ def main(): cm = DockerNetworkManager(client) client.module.exit_json(**cm.results) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/docker/docker_secret.py b/lib/ansible/modules/cloud/docker/docker_secret.py index 183ffd8524..cc0bb1ed0b 100644 --- a/lib/ansible/modules/cloud/docker/docker_secret.py +++ b/lib/ansible/modules/cloud/docker/docker_secret.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -152,7 +142,6 @@ except ImportError: # missing docker-py handled in ansible.module_utils.docker pass -from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.docker_common import AnsibleDockerClient, DockerBaseClass from ansible.module_utils._text import to_native, to_bytes diff --git a/lib/ansible/modules/cloud/docker/docker_service.py b/lib/ansible/modules/cloud/docker/docker_service.py index 51dfe7a01f..4a3ec91dd4 100755 --- a/lib/ansible/modules/cloud/docker/docker_service.py +++ b/lib/ansible/modules/cloud/docker/docker_service.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # Copyright 2016 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -449,38 +439,37 @@ actions: type: string ''' -HAS_YAML = True -HAS_YAML_EXC = None -HAS_COMPOSE = True -HAS_COMPOSE_EXC = None -MINIMUM_COMPOSE_VERSION = '1.7.0' - -import sys +import os import re +import sys +import tempfile +from contextlib import contextmanager +from distutils.version import LooseVersion try: import yaml + HAS_YAML = True + HAS_YAML_EXC = None except ImportError as exc: HAS_YAML = False HAS_YAML_EXC = str(exc) -from distutils.version import LooseVersion -from ansible.module_utils.basic import * - try: from compose import __version__ as compose_version - from compose.project import ProjectError from compose.cli.command import project_from_options - from compose.service import ConvergenceStrategy, NoSuchImageError + from compose.service import NoSuchImageError from compose.cli.main import convergence_strategy_from_opts, build_action_from_opts, image_type_from_opt from compose.const import DEFAULT_TIMEOUT + HAS_COMPOSE = True + HAS_COMPOSE_EXC = None + MINIMUM_COMPOSE_VERSION = '1.7.0' + except ImportError as exc: HAS_COMPOSE = False HAS_COMPOSE_EXC = str(exc) DEFAULT_TIMEOUT = 10 -from ansible.module_utils.docker_common import * -from contextlib import contextmanager +from ansible.module_utils.docker_common import AnsibleDockerClient, DockerBaseClass AUTH_PARAM_MAPPING = { diff --git a/lib/ansible/modules/cloud/docker/docker_volume.py b/lib/ansible/modules/cloud/docker/docker_volume.py index 2265fcfe7a..ee22b7ff35 100644 --- a/lib/ansible/modules/cloud/docker/docker_volume.py +++ b/lib/ansible/modules/cloud/docker/docker_volume.py @@ -2,21 +2,12 @@ # coding: utf-8 # # Copyright 2017 Red Hat | Ansible, Alex Grönholm -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], 'supported_by': 'community'} @@ -112,8 +103,8 @@ except ImportError: # missing docker-py handled in ansible.module_utils.docker pass -from ansible.module_utils.six import iteritems, text_type from ansible.module_utils.docker_common import DockerBaseClass, AnsibleDockerClient +from ansible.module_utils.six import iteritems, text_type class TaskParameters(DockerBaseClass): @@ -258,5 +249,6 @@ def main(): cm = DockerVolumeManager(client) client.module.exit_json(**cm.results) + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/webfaction/webfaction_app.py b/lib/ansible/modules/cloud/webfaction/webfaction_app.py index e54327aecd..af26f1b4ba 100644 --- a/lib/ansible/modules/cloud/webfaction/webfaction_app.py +++ b/lib/ansible/modules/cloud/webfaction/webfaction_app.py @@ -1,31 +1,19 @@ #!/usr/bin/python # -# Create a Webfaction application using Ansible and the Webfaction API -# -# Valid application types can be found by looking here: -# http://docs.webfaction.com/xmlrpc-api/apps.html#application-types -# -# ------------------------------------------ -# # (c) Quentin Stafford-Fraser 2015, with contributions gratefully acknowledged from: # * Andy Baker # * Federico Tarantini # -# This file is part of Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# Create a Webfaction application using Ansible and the Webfaction API # +# Valid application types can be found by looking here: +# http://docs.webfaction.com/xmlrpc-api/apps.html#application-types + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -113,8 +101,12 @@ EXAMPLES = ''' import xmlrpclib +from ansible.module_utils.basic import AnsibleModule + + webfaction = xmlrpclib.ServerProxy('https://api.webfaction.com/') + def main(): module = AnsibleModule( @@ -202,7 +194,6 @@ def main(): result = result ) -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/webfaction/webfaction_db.py b/lib/ansible/modules/cloud/webfaction/webfaction_db.py index cf0a64a590..8a12e6125f 100644 --- a/lib/ansible/modules/cloud/webfaction/webfaction_db.py +++ b/lib/ansible/modules/cloud/webfaction/webfaction_db.py @@ -1,28 +1,16 @@ #!/usr/bin/python # -# Create a webfaction database using Ansible and the Webfaction API -# -# ------------------------------------------ -# # (c) Quentin Stafford-Fraser 2015, with contributions gratefully acknowledged from: # * Andy Baker # * Federico Tarantini # -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # +# Create a webfaction database using Ansible and the Webfaction API + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -103,11 +91,14 @@ EXAMPLES = ''' ''' -import socket import xmlrpclib +from ansible.module_utils.basic import AnsibleModule + + webfaction = xmlrpclib.ServerProxy('https://api.webfaction.com/') + def main(): module = AnsibleModule( @@ -203,7 +194,6 @@ def main(): result = result ) -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/webfaction/webfaction_domain.py b/lib/ansible/modules/cloud/webfaction/webfaction_domain.py index 8329da6ee1..7acc0cf8a6 100644 --- a/lib/ansible/modules/cloud/webfaction/webfaction_domain.py +++ b/lib/ansible/modules/cloud/webfaction/webfaction_domain.py @@ -1,26 +1,13 @@ #!/usr/bin/python # -# Create Webfaction domains and subdomains using Ansible and the Webfaction API -# -# ------------------------------------------ -# # (c) Quentin Stafford-Fraser 2015 +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# Create Webfaction domains and subdomains using Ansible and the Webfaction API + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -95,11 +82,14 @@ EXAMPLES = ''' ''' -import socket import xmlrpclib +from ansible.module_utils.basic import AnsibleModule + + webfaction = xmlrpclib.ServerProxy('https://api.webfaction.com/') + def main(): module = AnsibleModule( @@ -175,7 +165,6 @@ def main(): result = result ) -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py b/lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py index e9c1656da8..6e66e28f93 100644 --- a/lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py +++ b/lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py @@ -1,25 +1,13 @@ #!/usr/bin/python # -# Create webfaction mailbox using Ansible and the Webfaction API -# -# ------------------------------------------ # (c) Quentin Stafford-Fraser and Andy Baker 2015 +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# Create webfaction mailbox using Ansible and the Webfaction API + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -81,11 +69,14 @@ EXAMPLES = ''' login_password={{webfaction_passwd}} ''' -import socket import xmlrpclib +from ansible.module_utils.basic import AnsibleModule + + webfaction = xmlrpclib.ServerProxy('https://api.webfaction.com/') + def main(): module = AnsibleModule( @@ -142,7 +133,5 @@ def main(): module.exit_json(changed=True, result=result) -from ansible.module_utils.basic import * - if __name__ == '__main__': main() diff --git a/lib/ansible/modules/cloud/webfaction/webfaction_site.py b/lib/ansible/modules/cloud/webfaction/webfaction_site.py index 75a0944da3..876f10bb0a 100644 --- a/lib/ansible/modules/cloud/webfaction/webfaction_site.py +++ b/lib/ansible/modules/cloud/webfaction/webfaction_site.py @@ -1,26 +1,12 @@ #!/usr/bin/python +# (c) Quentin Stafford-Fraser 2015 +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # # Create Webfaction website using Ansible and the Webfaction API -# -# ------------------------------------------ -# -# (c) Quentin Stafford-Fraser 2015 -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -113,8 +99,12 @@ EXAMPLES = ''' import socket import xmlrpclib +from ansible.module_utils.basic import AnsibleModule + + webfaction = xmlrpclib.ServerProxy('https://api.webfaction.com/') + def main(): module = AnsibleModule( @@ -213,8 +203,5 @@ def main(): ) - -from ansible.module_utils.basic import * - if __name__ == '__main__': main() diff --git a/lib/ansible/modules/clustering/consul.py b/lib/ansible/modules/clustering/consul.py index c1048c010a..9ce311b661 100644 --- a/lib/ansible/modules/clustering/consul.py +++ b/lib/ansible/modules/clustering/consul.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # (c) 2015, Steve Gargan -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], diff --git a/lib/ansible/modules/clustering/consul_acl.py b/lib/ansible/modules/clustering/consul_acl.py index b7945d372e..9191c61c87 100644 --- a/lib/ansible/modules/clustering/consul_acl.py +++ b/lib/ansible/modules/clustering/consul_acl.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # (c) 2015, Steve Gargan -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -123,8 +113,6 @@ EXAMPLES = ''' state: absent ''' -import sys - try: import consul from requests.exceptions import ConnectionError @@ -138,8 +126,6 @@ try: except ImportError: pyhcl_installed = False -from requests.exceptions import ConnectionError - from ansible.module_utils.basic import AnsibleModule from ansible.module_utils._text import to_bytes @@ -157,7 +143,6 @@ def execute(module): def update_acl(module): rules = module.params.get('rules') - state = module.params.get('state') token = module.params.get('token') token_type = module.params.get('token_type') mgmt = module.params.get('mgmt_token') @@ -204,7 +189,6 @@ def update_acl(module): def remove_acl(module): - state = module.params.get('state') token = module.params.get('token') mgmt = module.params.get('mgmt_token') diff --git a/lib/ansible/modules/clustering/consul_kv.py b/lib/ansible/modules/clustering/consul_kv.py index 6f71f3d59d..8cfcdc3b4d 100644 --- a/lib/ansible/modules/clustering/consul_kv.py +++ b/lib/ansible/modules/clustering/consul_kv.py @@ -1,21 +1,11 @@ #!/usr/bin/python # # (c) 2015, Steve Gargan -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -144,8 +134,6 @@ EXAMPLES = ''' state: acquire ''' -import sys - try: import consul from requests.exceptions import ConnectionError @@ -153,7 +141,8 @@ try: except ImportError: python_consul_installed = False -from requests.exceptions import ConnectionError +from ansible.module_utils.basic import AnsibleModule + def execute(module): @@ -230,7 +219,6 @@ def remove_value(module): consul_api = get_consul_api(module) key = module.params.get('key') - value = module.params.get('value') index, existing = consul_api.kv.get( key, recurse=module.params.get('recurse')) @@ -288,7 +276,5 @@ def main(): module.fail_json(msg=str(e)) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/clustering/consul_session.py b/lib/ansible/modules/clustering/consul_session.py index 3866e2e328..cccb3bd779 100644 --- a/lib/ansible/modules/clustering/consul_session.py +++ b/lib/ansible/modules/clustering/consul_session.py @@ -2,21 +2,11 @@ # -*- coding: utf-8 -*- # # (c) 2015, Steve Gargan -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -145,6 +135,9 @@ try: except ImportError: python_consul_installed = False +from ansible.module_utils.basic import AnsibleModule + + def execute(module): state = module.params.get('state') @@ -281,7 +274,6 @@ def main(): except Exception as e: module.fail_json(msg=str(e)) -# import module snippets -from ansible.module_utils.basic import * + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/clustering/kubernetes.py b/lib/ansible/modules/clustering/kubernetes.py index 4ca2ce9b6f..3dfb4ac4b2 100644 --- a/lib/ansible/modules/clustering/kubernetes.py +++ b/lib/ansible/modules/clustering/kubernetes.py @@ -1,20 +1,10 @@ #!/usr/bin/python # Copyright 2015 Google Inc. All Rights Reserved. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -156,6 +146,7 @@ api_response: ''' import base64 +import json try: import yaml @@ -163,6 +154,10 @@ try: except ImportError: has_lib_yaml = False +from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.urls import fetch_url + + ############################################################################ ############################################################################ # For API coverage, this Anislbe module provides capability to operate on @@ -192,9 +187,9 @@ except ImportError: # for a in apis.keys(): # results.append('"%s": "%s"' % (a[3:].lower(), apis[a])) # results.sort() -# print "KIND_URL = {" -# print ",\n".join(results) -# print "}" +# print("KIND_URL = {") +# print(",\n".join(results)) +# print("}") # # if __name__ == '__main__': # print_kind_url_map() @@ -403,10 +398,5 @@ def main(): module.exit_json(changed=changed, api_response=body) -# import module snippets -from ansible.module_utils.basic import * # NOQA -from ansible.module_utils.urls import * # NOQA - - if __name__ == '__main__': main() diff --git a/lib/ansible/modules/clustering/pacemaker_cluster.py b/lib/ansible/modules/clustering/pacemaker_cluster.py index 6cc34f46e5..4d0761f674 100644 --- a/lib/ansible/modules/clustering/pacemaker_cluster.py +++ b/lib/ansible/modules/clustering/pacemaker_cluster.py @@ -2,19 +2,11 @@ #coding: utf-8 -*- # (c) 2016, Mathieu Bultel -# -# This module is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This software is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this software. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -83,7 +75,9 @@ rc: ''' import time -from distutils.version import StrictVersion + +from ansible.module_utils.basic import AnsibleModule + _PCS_CLUSTER_DOWN="Error: cluster is not currently running on this node" @@ -229,6 +223,6 @@ def main(): module.exit_json(changed=True, out=cluster_state) -from ansible.module_utils.basic import AnsibleModule + if __name__ == '__main__': main() diff --git a/lib/ansible/modules/clustering/znode.py b/lib/ansible/modules/clustering/znode.py index 3dc356602e..85be1ea6ce 100644 --- a/lib/ansible/modules/clustering/znode.py +++ b/lib/ansible/modules/clustering/znode.py @@ -1,20 +1,10 @@ #!/usr/bin/python # Copyright 2015 WP Engine, Inc. All rights reserved. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -111,14 +101,17 @@ EXAMPLES = """ delegate_to: 127.0.0.1 """ +import time + try: from kazoo.client import KazooClient - from kazoo.exceptions import NoNodeError, ZookeeperError from kazoo.handlers.threading import KazooTimeoutError KAZOO_INSTALLED = True except ImportError: KAZOO_INSTALLED = False +from ansible.module_utils.basic import AnsibleModule + def main(): module = AnsibleModule( @@ -261,7 +254,6 @@ class KazooCommandProxy(): return False, {'msg': 'The node did not appear before the operation timed out.', 'timeout': timeout, 'znode': path} -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/commands/command.py b/lib/ansible/modules/commands/command.py index 9d364a57a1..139b68b206 100644 --- a/lib/ansible/modules/commands/command.py +++ b/lib/ansible/modules/commands/command.py @@ -4,20 +4,11 @@ # (c) 2012, Michael DeHaan , and others # (c) 2016, Toshio Kuratomi # -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], @@ -92,11 +83,10 @@ EXAMPLES = ''' import datetime import glob -import shlex import os +import shlex from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.six import b def check_command(module, commandline): @@ -190,14 +180,14 @@ def main(): delta = endd - startd if out is None: - out = b('') + out = b'' if err is None: - err = b('') + err = b'' result = dict( cmd = args, - stdout = out.rstrip(b("\r\n")), - stderr = err.rstrip(b("\r\n")), + stdout = out.rstrip(b"\r\n"), + stderr = err.rstrip(b"\r\n"), rc = rc, start = str(startd), end = str(endd), diff --git a/lib/ansible/modules/commands/expect.py b/lib/ansible/modules/commands/expect.py index b7d3e08b06..e5267c1ade 100644 --- a/lib/ansible/modules/commands/expect.py +++ b/lib/ansible/modules/commands/expect.py @@ -2,21 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2015, Matt Martz -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -99,6 +89,7 @@ EXAMPLES = r''' import datetime import os +import traceback try: import pexpect @@ -106,9 +97,8 @@ try: except ImportError: HAS_PEXPECT = False -from ansible.module_utils._text import to_text from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.pycompat24 import get_exception +from ansible.module_utils._text import to_native, to_text def response_closure(module, question, responses): @@ -202,18 +192,16 @@ def main(): # Use pexpect.runu in pexpect>=3.3,<4 out, rc = pexpect.runu(args, timeout=timeout, withexitstatus=True, events=events, cwd=chdir, echo=echo) - except (TypeError, AttributeError): - e = get_exception() + except (TypeError, AttributeError) as e: # This should catch all insufficient versions of pexpect # We deem them insufficient for their lack of ability to specify # to not echo responses via the run/runu functions, which would # potentially leak sensentive information module.fail_json(msg='Insufficient version of pexpect installed ' '(%s), this module requires pexpect>=3.3. ' - 'Error was %s' % (pexpect.__version__, e)) - except pexpect.ExceptionPexpect: - e = get_exception() - module.fail_json(msg='%s' % e) + 'Error was %s' % (pexpect.__version__, to_native(e))) + except pexpect.ExceptionPexpect as e: + module.fail_json(msg='%s' % to_native(e), exception=traceback.format_exc()) endd = datetime.datetime.now() delta = endd - startd diff --git a/lib/ansible/modules/commands/raw.py b/lib/ansible/modules/commands/raw.py index 208ffa429d..d24b40a181 100644 --- a/lib/ansible/modules/commands/raw.py +++ b/lib/ansible/modules/commands/raw.py @@ -1,19 +1,10 @@ # this is a virtual module that is entirely implemented server side +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], diff --git a/lib/ansible/modules/commands/script.py b/lib/ansible/modules/commands/script.py index 308424c698..e650eea22f 100644 --- a/lib/ansible/modules/commands/script.py +++ b/lib/ansible/modules/commands/script.py @@ -1,17 +1,9 @@ -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], diff --git a/lib/ansible/modules/commands/shell.py b/lib/ansible/modules/commands/shell.py index dbed1ff238..3ef8d52c8f 100644 --- a/lib/ansible/modules/commands/shell.py +++ b/lib/ansible/modules/commands/shell.py @@ -1,21 +1,13 @@ -# There is no actual shell module source, when you use 'shell' in ansible, +# Copyright: Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# # There is no actual shell module source, when you use 'shell' in ansible, # it runs the 'command' module with special arguments and it behaves differently. # See the command source and the comment "#USE_SHELL". -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], diff --git a/lib/ansible/modules/crypto/openssl_csr.py b/lib/ansible/modules/crypto/openssl_csr.py index 1a25c3cdc4..aeb2e75fd9 100644 --- a/lib/ansible/modules/crypto/openssl_csr.py +++ b/lib/ansible/modules/crypto/openssl_csr.py @@ -2,19 +2,11 @@ # -*- coding: utf-8 -*- # # (c) 2017, Yanis Guenane -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], diff --git a/lib/ansible/modules/crypto/openssl_privatekey.py b/lib/ansible/modules/crypto/openssl_privatekey.py index 15c8864eb7..8739615c99 100644 --- a/lib/ansible/modules/crypto/openssl_privatekey.py +++ b/lib/ansible/modules/crypto/openssl_privatekey.py @@ -2,19 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2016, Yanis Guenane -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -134,11 +126,6 @@ fingerprint: import os -from ansible.module_utils import crypto as crypto_utils -from ansible.module_utils._text import to_native -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.pycompat24 import get_exception - try: from OpenSSL import crypto except ImportError: @@ -146,6 +133,10 @@ except ImportError: else: pyopenssl_found = True +from ansible.module_utils import crypto as crypto_utils +from ansible.module_utils._text import to_native +from ansible.module_utils.basic import AnsibleModule + class PrivateKeyError(crypto_utils.OpenSSLObjectError): pass diff --git a/lib/ansible/modules/crypto/openssl_publickey.py b/lib/ansible/modules/crypto/openssl_publickey.py index 9130a69e91..45ce5508a3 100644 --- a/lib/ansible/modules/crypto/openssl_publickey.py +++ b/lib/ansible/modules/crypto/openssl_publickey.py @@ -2,19 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2016, Yanis Guenane -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -134,10 +126,6 @@ fingerprint: import hashlib import os -from ansible.module_utils import crypto as crypto_utils -from ansible.module_utils._text import to_native -from ansible.module_utils.basic import AnsibleModule - try: from OpenSSL import crypto from cryptography.hazmat.backends import default_backend @@ -147,6 +135,10 @@ except ImportError: else: pyopenssl_found = True +from ansible.module_utils import crypto as crypto_utils +from ansible.module_utils._text import to_native +from ansible.module_utils.basic import AnsibleModule + class PublicKeyError(crypto_utils.OpenSSLObjectError): pass diff --git a/lib/ansible/modules/inventory/add_host.py b/lib/ansible/modules/inventory/add_host.py index 236b8875b6..550184aab2 100644 --- a/lib/ansible/modules/inventory/add_host.py +++ b/lib/ansible/modules/inventory/add_host.py @@ -1,19 +1,11 @@ # -*- mode: python -*- +# +# Copyright: Ansible Team +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], diff --git a/lib/ansible/modules/inventory/group_by.py b/lib/ansible/modules/inventory/group_by.py index 7ee640c594..89c7f137ab 100644 --- a/lib/ansible/modules/inventory/group_by.py +++ b/lib/ansible/modules/inventory/group_by.py @@ -1,19 +1,11 @@ # -*- mode: python -*- +# +# Copyright: Ansible Team +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['stableinterface'], diff --git a/lib/ansible/modules/messaging/rabbitmq_binding.py b/lib/ansible/modules/messaging/rabbitmq_binding.py index c7cc8d8940..b4df153233 100644 --- a/lib/ansible/modules/messaging/rabbitmq_binding.py +++ b/lib/ansible/modules/messaging/rabbitmq_binding.py @@ -2,22 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2015, Manuel Sousa -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -113,9 +102,12 @@ EXAMPLES = ''' routing_key: '*.info' ''' +import json import requests import urllib -import json + +from ansible.module_utils.basic import AnsibleModule + def main(): module = AnsibleModule( @@ -227,8 +219,6 @@ def main(): name = module.params['name'] ) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_exchange.py b/lib/ansible/modules/messaging/rabbitmq_exchange.py index 456d5e89e7..a0db064ed3 100644 --- a/lib/ansible/modules/messaging/rabbitmq_exchange.py +++ b/lib/ansible/modules/messaging/rabbitmq_exchange.py @@ -2,22 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2015, Manuel Sousa -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -115,9 +104,12 @@ EXAMPLES = ''' vhost: myVhost ''' +import json import requests import urllib -import json + +from ansible.module_utils.basic import AnsibleModule + def main(): module = AnsibleModule( @@ -223,8 +215,6 @@ def main(): name = module.params['name'] ) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_parameter.py b/lib/ansible/modules/messaging/rabbitmq_parameter.py index 9543c24471..191a345f5d 100644 --- a/lib/ansible/modules/messaging/rabbitmq_parameter.py +++ b/lib/ansible/modules/messaging/rabbitmq_parameter.py @@ -2,21 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2013, Chatham Financial -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -74,6 +64,10 @@ EXAMPLES = """ value: '"guest"' state: present """ +import json + +from ansible.module_utils.basic import AnsibleModule + class RabbitMqParameter(object): def __init__(self, module, component, name, value, vhost, node): @@ -160,8 +154,6 @@ def main(): module.exit_json(changed=changed, component=component, name=name, vhost=vhost, state=state) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_plugin.py b/lib/ansible/modules/messaging/rabbitmq_plugin.py index 4086136877..ca387600d0 100644 --- a/lib/ansible/modules/messaging/rabbitmq_plugin.py +++ b/lib/ansible/modules/messaging/rabbitmq_plugin.py @@ -2,21 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2013, Chatham Financial -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -68,6 +58,9 @@ EXAMPLES = ''' import os +from ansible.module_utils.basic import AnsibleModule + + class RabbitMqPlugins(object): def __init__(self, module): self.module = module @@ -152,8 +145,6 @@ def main(): changed = len(enabled) > 0 or len(disabled) > 0 module.exit_json(changed=changed, enabled=enabled, disabled=disabled) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_policy.py b/lib/ansible/modules/messaging/rabbitmq_policy.py index 23a609d8c2..16074debee 100644 --- a/lib/ansible/modules/messaging/rabbitmq_policy.py +++ b/lib/ansible/modules/messaging/rabbitmq_policy.py @@ -2,22 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2013, John Dewey -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -93,6 +82,9 @@ EXAMPLES = ''' tags: ha-mode: all ''' +from ansible.module_utils.basic import AnsibleModule + + class RabbitMqPolicy(object): def __init__(self, module, name): self._module = module @@ -174,8 +166,6 @@ def main(): module.exit_json(changed=changed, name=name, state=state) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_queue.py b/lib/ansible/modules/messaging/rabbitmq_queue.py index f7bc4ed505..9849128f71 100644 --- a/lib/ansible/modules/messaging/rabbitmq_queue.py +++ b/lib/ansible/modules/messaging/rabbitmq_queue.py @@ -2,22 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2015, Manuel Sousa -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -130,9 +119,12 @@ EXAMPLES = ''' login_host: remote.example.org ''' +import json import requests import urllib -import json + +from ansible.module_utils.basic import AnsibleModule + def main(): module = AnsibleModule( @@ -271,8 +263,6 @@ def main(): name = module.params['name'] ) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_user.py b/lib/ansible/modules/messaging/rabbitmq_user.py index ee04078c9c..098d82c0d4 100644 --- a/lib/ansible/modules/messaging/rabbitmq_user.py +++ b/lib/ansible/modules/messaging/rabbitmq_user.py @@ -2,21 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2013, Chatham Financial -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -134,6 +124,9 @@ EXAMPLES = ''' state: present ''' +from ansible.module_utils.basic import AnsibleModule + + class RabbitMqUser(object): def __init__(self, module, username, password, tags, permissions, node, bulk_permissions=False): @@ -308,8 +301,6 @@ def main(): module.exit_json(changed=changed, user=username, state=state) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/lib/ansible/modules/messaging/rabbitmq_vhost.py b/lib/ansible/modules/messaging/rabbitmq_vhost.py index 65b5a8897b..d63b883c15 100644 --- a/lib/ansible/modules/messaging/rabbitmq_vhost.py +++ b/lib/ansible/modules/messaging/rabbitmq_vhost.py @@ -2,22 +2,11 @@ # -*- coding: utf-8 -*- # (c) 2013, Chatham Financial -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . -# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + ANSIBLE_METADATA = {'metadata_version': '1.0', 'status': ['preview'], @@ -65,6 +54,9 @@ EXAMPLES = ''' state: present ''' +from ansible.module_utils.basic import AnsibleModule + + class RabbitMqVhost(object): def __init__(self, module, name, tracing, node): self.module = module @@ -149,8 +141,6 @@ def main(): module.exit_json(changed=changed, name=name, state=state) -# import module snippets -from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/test/sanity/code-smell/boilerplate.sh b/test/sanity/code-smell/boilerplate.sh index d5ee85ee0c..94caaaf82c 100755 --- a/test/sanity/code-smell/boilerplate.sh +++ b/test/sanity/code-smell/boilerplate.sh @@ -25,23 +25,15 @@ metaclass3=$(find ./lib/ansible/modules -path ./lib/ansible/modules/windows -pru -o -path ./lib/ansible/modules/network -prune \ -o -path ./lib/ansible/modules/net_tools -prune \ -o -path ./lib/ansible/modules/monitoring -prune \ - -o -path ./lib/ansible/modules/messaging -prune \ - -o -path ./lib/ansible/modules/inventory -prune \ -o -path ./lib/ansible/modules/identity -prune \ -o -path ./lib/ansible/modules/files -prune \ -o -path ./lib/ansible/modules/database -prune \ - -o -path ./lib/ansible/modules/crypto -prune \ - -o -path ./lib/ansible/modules/commands -prune \ - -o -path ./lib/ansible/modules/clustering -prune \ - -o -path ./lib/ansible/modules/cloud/webfaction -prune \ -o -path ./lib/ansible/modules/cloud/vmware -prune \ -o -path ./lib/ansible/modules/cloud/rackspace -prune \ -o -path ./lib/ansible/modules/cloud/ovirt -prune \ -o -path ./lib/ansible/modules/cloud/openstack -prune \ -o -path ./lib/ansible/modules/cloud/misc -prune \ -o -path ./lib/ansible/modules/cloud/google -prune \ - -o -path ./lib/ansible/modules/cloud/docker -prune \ - -o -path ./lib/ansible/modules/cloud/digital_ocean -prune \ -o -path ./lib/ansible/modules/cloud/cloudstack -prune \ -o -path ./lib/ansible/modules/cloud/centurylink -prune \ -o -path ./lib/ansible/modules/cloud/amazon -prune \ @@ -54,31 +46,42 @@ future3=$(find ./lib/ansible/modules -path ./lib/ansible/modules/windows -prune -o -path ./lib/ansible/modules/network -prune \ -o -path ./lib/ansible/modules/net_tools -prune \ -o -path ./lib/ansible/modules/monitoring -prune \ - -o -path ./lib/ansible/modules/messaging -prune \ - -o -path ./lib/ansible/modules/inventory -prune \ -o -path ./lib/ansible/modules/identity -prune \ -o -path ./lib/ansible/modules/files -prune \ -o -path ./lib/ansible/modules/database -prune \ - -o -path ./lib/ansible/modules/crypto -prune \ - -o -path ./lib/ansible/modules/commands -prune \ - -o -path ./lib/ansible/modules/clustering -prune \ - -o -path ./lib/ansible/modules/cloud/webfaction -prune \ -o -path ./lib/ansible/modules/cloud/vmware -prune \ -o -path ./lib/ansible/modules/cloud/rackspace -prune \ -o -path ./lib/ansible/modules/cloud/ovirt -prune \ -o -path ./lib/ansible/modules/cloud/openstack -prune \ -o -path ./lib/ansible/modules/cloud/misc -prune \ -o -path ./lib/ansible/modules/cloud/google -prune \ - -o -path ./lib/ansible/modules/cloud/docker -prune \ - -o -path ./lib/ansible/modules/cloud/digital_ocean -prune \ -o -path ./lib/ansible/modules/cloud/cloudstack -prune \ -o -path ./lib/ansible/modules/cloud/centurylink -prune \ -o -path ./lib/ansible/modules/cloud/amazon -prune \ -o -name '*.py' -type f -size +0c -exec egrep -HL 'from __future__ import (?absolute_import, division, print_function)?' '{}' '+') +# Ordered by approximate work, lowest to highest +# cloud/misc +# cloud/google +# identity +# cloud/source_control +# cloud/centurylink +# database ;; break up +# net-tools +# cloud/rackspace +# cloud/vmware +# files +# cloud/openstack +# monitoring +# cloud/notification +# cloud/cloudstack +# cloud/ovirt +# cloud/packaging ;; breakup +# cloud/amazon +# network ;; break up ### TODO: -### - contrib/ ### - module_utils +### - contrib/ if test -n "$metaclass1" -o -n "$metaclass2" -o -n "$metaclass3" ; then diff --git a/test/sanity/pep8/legacy-files.txt b/test/sanity/pep8/legacy-files.txt index f16920da29..207346c967 100644 --- a/test/sanity/pep8/legacy-files.txt +++ b/test/sanity/pep8/legacy-files.txt @@ -194,7 +194,6 @@ 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_acl.py lib/ansible/modules/clustering/consul_kv.py @@ -233,10 +232,8 @@ lib/ansible/modules/messaging/rabbitmq_binding.py lib/ansible/modules/messaging/rabbitmq_exchange.py lib/ansible/modules/messaging/rabbitmq_parameter.py lib/ansible/modules/messaging/rabbitmq_plugin.py -lib/ansible/modules/messaging/rabbitmq_policy.py lib/ansible/modules/messaging/rabbitmq_queue.py lib/ansible/modules/messaging/rabbitmq_user.py -lib/ansible/modules/messaging/rabbitmq_vhost.py lib/ansible/modules/monitoring/airbrake_deployment.py lib/ansible/modules/monitoring/bigpanda.py lib/ansible/modules/monitoring/boundary_meter.py