[2.10] Fix various sanity errors in plugins (#72168)

* Fix various sanity errors in plugins (#71736)

* Fix various sanity errors in plugins.

* Revert callback_type -> type transform.

* Undo paramiko_ssh 'connection' change, since this discrepancy is hardcoded in the plugin loader.

* Standardize on name and type (for callbacks).

* Fix existing author entries.

* Add 'Unknown (!UNKNOWN)' as author when author is missing.

* These are actually parsed as integers in the code.

* Revert "Add 'Unknown (!UNKNOWN)' as author when author is missing."

This reverts commit 29d1438aca.

(cherry picked from commit aff78f4cbc)

* Undo potentially disrupting normalizations.

* Add changelog fragment for #71736. (#72323)

(cherry picked from commit 0b2b82c0b6)
This commit is contained in:
Felix Fontein 2020-10-24 13:03:18 +02:00 committed by GitHub
parent 8471814f86
commit 69744aa0a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 74 additions and 39 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- "url lookup - make sure that options supplied in ansible.cfg are actually used (https://github.com/ansible/ansible/pull/71736)."

View file

@ -8,7 +8,8 @@ DOCUMENTATION = '''
name: auto name: auto
plugin_type: inventory plugin_type: inventory
author: author:
- Matt Davis <@nitzmahone> - Matt Davis (@nitzmahone)
version_added: "2.5"
short_description: Loads and executes an inventory plugin specified in a YAML config short_description: Loads and executes an inventory plugin specified in a YAML config
description: description:
- By whitelisting C(auto) inventory plugin, any YAML inventory config file with a - By whitelisting C(auto) inventory plugin, any YAML inventory config file with a

View file

@ -159,7 +159,7 @@ class InventoryModule(BaseFileInventoryPlugin):
NAME = 'toml' NAME = 'toml'
def _parse_group(self, group, group_data): def _parse_group(self, group, group_data):
if not isinstance(group_data, (MutableMapping, type(None))): if group_data is not None and not isinstance(group_data, MutableMapping):
self.display.warning("Skipping '%s' as this is not a valid group definition" % group) self.display.warning("Skipping '%s' as this is not a valid group definition" % group)
return return

View file

@ -5,7 +5,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: config lookup: config
author: Ansible Core author: Ansible Core Team
version_added: "2.5" version_added: "2.5"
short_description: Lookup current Ansible configuration values short_description: Lookup current Ansible configuration values
description: description:
@ -53,6 +53,7 @@ RETURN = """
_raw: _raw:
description: description:
- value(s) of the key(s) in the config - value(s) of the key(s) in the config
type: raw
""" """
from ansible import constants as C from ansible import constants as C

View file

@ -56,6 +56,8 @@ RETURN = """
_raw: _raw:
description: description:
- value(s) stored in file column - value(s) stored in file column
type: list
elements: str
""" """
import codecs import codecs

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: file lookup: file
author: Daniel Hokka Zakrisson <daniel@hozac.com> author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9" version_added: "0.9"
short_description: read file contents short_description: read file contents
description: description:
@ -45,6 +45,8 @@ RETURN = """
_raw: _raw:
description: description:
- content of file(s) - content of file(s)
type: list
elements: str
""" """
from ansible.errors import AnsibleError, AnsibleParserError from ansible.errors import AnsibleError, AnsibleParserError

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: fileglob lookup: fileglob
author: Michael DeHaan <michael.dehaan@gmail.com> author: Michael DeHaan
version_added: "1.4" version_added: "1.4"
short_description: list files matching a pattern short_description: list files matching a pattern
description: description:
@ -41,6 +41,8 @@ RETURN = """
_list: _list:
description: description:
- list of files - list of files
type: list
elements: path
""" """
import os import os

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: first_found lookup: first_found
author: Seth Vidal <skvidal@fedoraproject.org> author: Seth Vidal (!UNKNOWN) <skvidal@fedoraproject.org>
version_added: historical version_added: historical
short_description: return first file found from list short_description: return first file found from list
description: description:
@ -99,6 +99,8 @@ RETURN = """
_raw: _raw:
description: description:
- path to file found - path to file found
type: list
elements: path
""" """
import os import os

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: indexed_items lookup: indexed_items
author: Michael DeHaan <michael.dehaan@gmail.com> author: Michael DeHaan
version_added: "1.3" version_added: "1.3"
short_description: rewrites lists to return 'indexed items' short_description: rewrites lists to return 'indexed items'
description: description:
@ -31,6 +31,7 @@ RETURN = """
description: description:
- list with each item.0 giving you the position and item.1 the value - list with each item.0 giving you the position and item.1 the value
type: list type: list
elements: list
""" """
from ansible.errors import AnsibleError from ansible.errors import AnsibleError

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: ini lookup: ini
author: Yannig Perre <yannig.perre(at)gmail.com> author: Yannig Perre (!UNKNOWN) <yannig.perre(at)gmail.com>
version_added: "2.0" version_added: "2.0"
short_description: read data from a ini file short_description: read data from a ini file
description: description:
@ -56,6 +56,8 @@ RETURN = """
_raw: _raw:
description: description:
- value(s) of the key(s) in the ini file - value(s) of the key(s) in the ini file
type: list
elements: str
""" """
import os import os
import re import re

View file

@ -9,8 +9,8 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: inventory_hostnames lookup: inventory_hostnames
author: author:
- Michael DeHaan <michael.dehaan@gmail.com> - Michael DeHaan
- Steven Dossett <sdossett@panath.com> - Steven Dossett (!UNKNOWN) <sdossett@panath.com>
version_added: "1.3" version_added: "1.3"
short_description: list of inventory hosts matching a host pattern short_description: list of inventory hosts matching a host pattern
description: description:

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: items lookup: items
author: Michael DeHaan <michael.dehaan@gmail.com> author: Michael DeHaan
version_added: historical version_added: historical
short_description: list of items short_description: list of items
description: description:

View file

@ -7,7 +7,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: lines lookup: lines
author: Daniel Hokka Zakrisson <daniel@hozac.com> author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9" version_added: "0.9"
short_description: read lines from command short_description: read lines from command
description: description:
@ -37,6 +37,8 @@ RETURN = """
_list: _list:
description: description:
- lines of stdout from command - lines of stdout from command
type: list
elements: str
""" """
import subprocess import subprocess

View file

@ -8,7 +8,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: list lookup: list
author: Ansible core team author: Ansible Core Team
version_added: "2.0" version_added: "2.0"
short_description: simply returns what it is given. short_description: simply returns what it is given.
description: description:
@ -27,6 +27,8 @@ EXAMPLES = """
RETURN = """ RETURN = """
_list: _list:
description: basically the same as you fed in description: basically the same as you fed in
type: list
elements: raw
""" """
from ansible.module_utils.common._collections_compat import Sequence from ansible.module_utils.common._collections_compat import Sequence

View file

@ -10,9 +10,9 @@ DOCUMENTATION = """
lookup: password lookup: password
version_added: "1.1" version_added: "1.1"
author: author:
- Daniel Hokka Zakrisson <daniel@hozac.com> - Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
- Javier Candeira <javier@candeira.com> - Javier Candeira (!UNKNOWN) <javier@candeira.com>
- Maykel Moya <mmoya@speedyrails.com> - Maykel Moya (!UNKNOWN) <mmoya@speedyrails.com>
short_description: retrieve or generate a random password, stored in a file short_description: retrieve or generate a random password, stored in a file
description: description:
- Generates a random plaintext password and stores it in a file at a given filepath. - Generates a random plaintext password and stores it in a file at a given filepath.
@ -90,6 +90,8 @@ RETURN = """
_raw: _raw:
description: description:
- a password - a password
type: list
elements: str
""" """
import os import os

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = r""" DOCUMENTATION = r"""
lookup: pipe lookup: pipe
author: Daniel Hokka Zakrisson <daniel@hozac.com> author: Daniel Hokka Zakrisson (!UNKNOWN) <daniel@hozac.com>
version_added: "0.9" version_added: "0.9"
short_description: read output from a command short_description: read output from a command
description: description:
@ -40,6 +40,8 @@ RETURN = r"""
_string: _string:
description: description:
- stdout from command - stdout from command
type: list
elements: str
""" """
import subprocess import subprocess

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: random_choice lookup: random_choice
author: Michael DeHaan <michael.dehaan@gmail.com> author: Michael DeHaan
version_added: "1.1" version_added: "1.1"
short_description: return random element from list short_description: return random element from list
description: description:
@ -30,6 +30,7 @@ RETURN = """
_raw: _raw:
description: description:
- random item - random item
type: raw
""" """
import random import random

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: sequence lookup: sequence
author: Jayson Vantuyl <jayson@aggressive.ly> author: Jayson Vantuyl (!UNKNOWN) <jayson@aggressive.ly>
version_added: "1.0" version_added: "1.0"
short_description: generate a list based on a number sequence short_description: generate a list based on a number sequence
description: description:
@ -21,18 +21,18 @@ DOCUMENTATION = """
start: start:
description: number at which to start the sequence description: number at which to start the sequence
default: 0 default: 0
type: number type: integer
end: end:
description: number at which to end the sequence, dont use this with count description: number at which to end the sequence, dont use this with count
type: number type: integer
default: 0 default: 0
count: count:
description: number of elements in the sequence, this is not to be used with end description: number of elements in the sequence, this is not to be used with end
type: number type: integer
default: 0 default: 0
stride: stride:
description: increments between sequence numbers, the default is 1 unless the end is less than the start, then it is -1. description: increments between sequence numbers, the default is 1 unless the end is less than the start, then it is -1.
type: number type: integer
format: format:
description: return a string with the generated number formatted in description: return a string with the generated number formatted in
""" """
@ -74,6 +74,7 @@ RETURN = """
description: description:
- A list containing generated sequence of items - A list containing generated sequence of items
type: list type: list
elements: str
""" """
from re import compile as re_compile, IGNORECASE from re import compile as re_compile, IGNORECASE

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: subelements lookup: subelements
author: Serge van Ginderachter <serge@vanginderachter.be> author: Serge van Ginderachter (!UNKNOWN) <serge@vanginderachter.be>
version_added: "1.4" version_added: "1.4"
short_description: traverse nested key from a list of dictionaries short_description: traverse nested key from a list of dictionaries
description: description:

View file

@ -7,7 +7,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: template lookup: template
author: Michael DeHaan <michael.dehaan@gmail.com> author: Michael DeHaan
version_added: "0.9" version_added: "0.9"
short_description: retrieve contents of file after templating with Jinja2 short_description: retrieve contents of file after templating with Jinja2
description: description:
@ -43,6 +43,8 @@ EXAMPLES = """
RETURN = """ RETURN = """
_raw: _raw:
description: file(s) content after templating description: file(s) content after templating
type: list
elements: raw
""" """
from copy import deepcopy from copy import deepcopy

View file

@ -6,7 +6,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: together lookup: together
author: Bradley Young <young.bradley@gmail.com> author: Bradley Young (!UNKNOWN) <young.bradley@gmail.com>
version_added: '1.3' version_added: '1.3'
short_description: merges lists into synchronized list short_description: merges lists into synchronized list
description: description:
@ -32,6 +32,8 @@ EXAMPLES = """
RETURN = """ RETURN = """
_list: _list:
description: synchronized list description: synchronized list
type: list
elements: list
""" """
from ansible.errors import AnsibleError from ansible.errors import AnsibleError
from ansible.module_utils.six.moves import zip_longest from ansible.module_utils.six.moves import zip_longest

View file

@ -5,7 +5,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: unvault lookup: unvault
author: ansible core team author: Ansible Core Team
version_added: "2.10" version_added: "2.10"
short_description: read vaulted file(s) contents short_description: read vaulted file(s) contents
description: description:
@ -26,6 +26,8 @@ RETURN = """
_raw: _raw:
description: description:
- content of file(s) as bytes - content of file(s) as bytes
type: list
elements: raw
""" """
from ansible.errors import AnsibleParserError from ansible.errors import AnsibleParserError

View file

@ -50,7 +50,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_FORCE - name: ANSIBLE_LOOKUP_URL_FORCE
ini: ini:
- section: url_lookup - section: url_lookup
- key: force key: force
timeout: timeout:
description: How long to wait for the server to send data before giving up description: How long to wait for the server to send data before giving up
type: float type: float
@ -62,7 +62,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_TIMEOUT - name: ANSIBLE_LOOKUP_URL_TIMEOUT
ini: ini:
- section: url_lookup - section: url_lookup
- key: timeout key: timeout
http_agent: http_agent:
description: User-Agent to use in the request description: User-Agent to use in the request
type: string type: string
@ -73,7 +73,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_AGENT - name: ANSIBLE_LOOKUP_URL_AGENT
ini: ini:
- section: url_lookup - section: url_lookup
- key: agent key: agent
force_basic_auth: force_basic_auth:
description: Force basic authentication description: Force basic authentication
type: boolean type: boolean
@ -85,7 +85,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_AGENT - name: ANSIBLE_LOOKUP_URL_AGENT
ini: ini:
- section: url_lookup - section: url_lookup
- key: agent key: agent
follow_redirects: follow_redirects:
description: String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information description: String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information
type: string type: string
@ -97,7 +97,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_FOLLOW_REDIRECTS - name: ANSIBLE_LOOKUP_URL_FOLLOW_REDIRECTS
ini: ini:
- section: url_lookup - section: url_lookup
- key: follow_redirects key: follow_redirects
use_gssapi: use_gssapi:
description: Use GSSAPI handler of requests description: Use GSSAPI handler of requests
type: boolean type: boolean
@ -109,7 +109,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_USE_GSSAPI - name: ANSIBLE_LOOKUP_URL_USE_GSSAPI
ini: ini:
- section: url_lookup - section: url_lookup
- key: use_gssapi key: use_gssapi
unix_socket: unix_socket:
description: String of file system path to unix socket file to use when establishing connection to the provided url description: String of file system path to unix socket file to use when establishing connection to the provided url
type: string type: string
@ -120,7 +120,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_UNIX_SOCKET - name: ANSIBLE_LOOKUP_URL_UNIX_SOCKET
ini: ini:
- section: url_lookup - section: url_lookup
- key: unix_socket key: unix_socket
ca_path: ca_path:
description: String of file system path to CA cert bundle to use description: String of file system path to CA cert bundle to use
type: string type: string
@ -131,7 +131,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_CA_PATH - name: ANSIBLE_LOOKUP_URL_CA_PATH
ini: ini:
- section: url_lookup - section: url_lookup
- key: ca_path key: ca_path
unredirected_headers: unredirected_headers:
description: A list of headers to not attach on a redirected request description: A list of headers to not attach on a redirected request
type: list type: list
@ -142,7 +142,7 @@ options:
- name: ANSIBLE_LOOKUP_URL_UNREDIR_HEADERS - name: ANSIBLE_LOOKUP_URL_UNREDIR_HEADERS
ini: ini:
- section: url_lookup - section: url_lookup
- key: unredirected_headers key: unredirected_headers
""" """
EXAMPLES = """ EXAMPLES = """
@ -166,6 +166,8 @@ EXAMPLES = """
RETURN = """ RETURN = """
_list: _list:
description: list of list of lines or content of url(s) description: list of list of lines or content of url(s)
type: list
elements: str
""" """
from ansible.errors import AnsibleError from ansible.errors import AnsibleError

View file

@ -5,7 +5,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: varnames lookup: varnames
author: Ansible Core author: Ansible Core Team
version_added: "2.8" version_added: "2.8"
short_description: Lookup matching variable names short_description: Lookup matching variable names
description: description:

View file

@ -5,7 +5,7 @@ __metaclass__ = type
DOCUMENTATION = """ DOCUMENTATION = """
lookup: vars lookup: vars
author: Ansible Core author: Ansible Core Team
version_added: "2.5" version_added: "2.5"
short_description: Lookup templated value of variables short_description: Lookup templated value of variables
description: description:
@ -63,6 +63,8 @@ RETURN = """
_value: _value:
description: description:
- value of the variables requested. - value of the variables requested.
type: list
elements: raw
""" """
from ansible.errors import AnsibleError, AnsibleUndefinedVariable from ansible.errors import AnsibleError, AnsibleUndefinedVariable

View file

@ -21,7 +21,7 @@ DOCUMENTATION = '''
description: description:
- Task execution is 'linear' but controlled by an interactive debug session. - Task execution is 'linear' but controlled by an interactive debug session.
version_added: "2.1" version_added: "2.1"
author: Kishin Yagami author: Kishin Yagami (!UNKNOWN)
''' '''
import cmd import cmd