Add a sanity test for yaml to make sure we can parse all yaml

Check that all yaml we ship is parsable by the pyyaml c backend.  Since
Ansible uses Pyyaml for docs and playbooks, if the yaml files aren't
parsable, they will error out if they were used.

Warn and skip yamllint if libyaml backend is not present

Ignore new errors in examples until someone can fix them
This commit is contained in:
Toshio Kuratomi 2019-11-25 08:11:24 -08:00
parent 18130e1419
commit ece306b201
3 changed files with 97 additions and 4 deletions

View file

@ -8,6 +8,12 @@ import json
import os import os
import sys import sys
import yaml
from yaml.resolver import Resolver
from yaml.constructor import SafeConstructor
from yaml.error import MarkedYAMLError
from _yaml import CParser # pylint: disable=no-name-in-module
from yamllint import linter from yamllint import linter
from yamllint.config import YamlLintConfig from yamllint.config import YamlLintConfig
@ -21,6 +27,32 @@ def main():
checker.report() checker.report()
class TestConstructor(SafeConstructor):
"""Yaml Safe Constructor that knows about Ansible tags"""
TestConstructor.add_constructor(
u'!unsafe',
TestConstructor.construct_yaml_str)
TestConstructor.add_constructor(
u'!vault',
TestConstructor.construct_yaml_str)
TestConstructor.add_constructor(
u'!vault-encrypted',
TestConstructor.construct_yaml_str)
class TestLoader(CParser, TestConstructor, Resolver):
def __init__(self, stream):
CParser.__init__(self, stream)
TestConstructor.__init__(self)
Resolver.__init__(self)
class YamlChecker: class YamlChecker:
"""Wrapper around yamllint that supports YAML embedded in Ansible modules.""" """Wrapper around yamllint that supports YAML embedded in Ansible modules."""
def __init__(self): def __init__(self):
@ -68,6 +100,7 @@ class YamlChecker:
:type path: str :type path: str
:type contents: str :type contents: str
""" """
self.check_parsable(path, contents)
self.messages += [self.result_to_message(r, path) for r in linter.run(contents, conf, path)] self.messages += [self.result_to_message(r, path) for r in linter.run(contents, conf, path)]
def check_module(self, conf, path, contents): def check_module(self, conf, path, contents):
@ -79,17 +112,35 @@ class YamlChecker:
docs = self.get_module_docs(path, contents) docs = self.get_module_docs(path, contents)
for key, value in docs.items(): for key, value in docs.items():
yaml = value['yaml'] yaml_data = value['yaml']
lineno = value['lineno'] lineno = value['lineno']
if yaml.startswith('\n'): if yaml_data.startswith('\n'):
yaml = yaml[1:] yaml_data = yaml_data[1:]
lineno += 1 lineno += 1
messages = list(linter.run(yaml, conf, path)) self.check_parsable(path, yaml_data)
messages = list(linter.run(yaml_data, conf, path))
self.messages += [self.result_to_message(r, path, lineno - 1, key) for r in messages] self.messages += [self.result_to_message(r, path, lineno - 1, key) for r in messages]
def check_parsable(self, path, contents):
"""
:type path: str
:type contents: str
"""
try:
yaml.load(contents, Loader=TestLoader)
except MarkedYAMLError as e:
self.messages += [{'code': 'unparsable-with-libyaml',
'message': '%s - %s' % (e.args[0], e.args[2]),
'path': path,
'line': e.problem_mark.line + 1,
'column': e.problem_mark.column + 1,
'level': 'error',
}]
@staticmethod @staticmethod
def result_to_message(result, path, line_offset=0, prefix=''): def result_to_message(result, path, line_offset=0, prefix=''):
""" """

View file

@ -7,10 +7,13 @@ import os
from .. import types as t from .. import types as t
from ..import ansible_util
from ..sanity import ( from ..sanity import (
SanitySingleVersion, SanitySingleVersion,
SanityMessage, SanityMessage,
SanityFailure, SanityFailure,
SanitySkipped,
SanitySuccess, SanitySuccess,
SANITY_ROOT, SANITY_ROOT,
) )
@ -68,6 +71,12 @@ class YamllintTest(SanitySingleVersion):
:type python_version: str :type python_version: str
:rtype: TestResult :rtype: TestResult
""" """
ansible_util.check_pyyaml(args, python_version)
if not ansible_util.CHECK_YAML_VERSIONS[python_version]['cloader']:
display.warning("Skipping sanity test '%s' due to missing libyaml support in PyYAML."
% self.name)
return SanitySkipped(self.name)
settings = self.load_processor(args) settings = self.load_processor(args)
paths = [target.path for target in targets.include] paths = [target.path for target in targets.include]

View file

@ -540,6 +540,7 @@ lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:und
lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:return-syntax-error lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_deployment.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:return-syntax-error lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc
@ -718,9 +719,11 @@ lib/ansible/modules/cloud/azure/azure_rm_webappslot.py validate-modules:doc-requ
lib/ansible/modules/cloud/azure/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/azure/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:implied-parameter-type-mismatch lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:implied-parameter-type-mismatch
lib/ansible/modules/cloud/centurylink/clc_aa_policy.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter
lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/centurylink/clc_alert_policy.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:implied-parameter-type-mismatch lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:implied-parameter-type-mismatch
lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-type-not-in-doc
@ -730,7 +733,9 @@ lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:do
lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:implied-parameter-type-mismatch lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:implied-parameter-type-mismatch
lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter
lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/centurylink/clc_group.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_group.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/centurylink/clc_group.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:doc-missing-type lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:doc-missing-type
@ -794,6 +799,7 @@ lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-choices-do-not-mat
lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-missing-type lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-required-mismatch lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-required-mismatch
lib/ansible/modules/cloud/google/_gce.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/google/_gce.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/google/_gce.py yamllint:unparsable-with-libyaml
lib/ansible/modules/cloud/google/_gcp_backend_service.py pylint:blacklisted-name lib/ansible/modules/cloud/google/_gcp_backend_service.py pylint:blacklisted-name
lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-default-does-not-match-spec
@ -1694,6 +1700,7 @@ lib/ansible/modules/commands/command.py validate-modules:nonexistent-parameter-d
lib/ansible/modules/commands/command.py validate-modules:undocumented-parameter lib/ansible/modules/commands/command.py validate-modules:undocumented-parameter
lib/ansible/modules/commands/expect.py validate-modules:doc-missing-type lib/ansible/modules/commands/expect.py validate-modules:doc-missing-type
lib/ansible/modules/crypto/acme/acme_account_info.py validate-modules:return-syntax-error lib/ansible/modules/crypto/acme/acme_account_info.py validate-modules:return-syntax-error
lib/ansible/modules/database/aerospike/aerospike_migrations.py yamllint:unparsable-with-libyaml
lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:doc-default-does-not-match-spec
@ -1911,6 +1918,7 @@ lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-default-does
lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-missing-type lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-missing-type
lib/ansible/modules/monitoring/logicmonitor.py validate-modules:no-default-for-required-parameter lib/ansible/modules/monitoring/logicmonitor.py validate-modules:no-default-for-required-parameter
lib/ansible/modules/monitoring/logicmonitor.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/monitoring/logicmonitor.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/monitoring/logicmonitor.py yamllint:unparsable-with-libyaml
lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-missing-type lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-missing-type
lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:no-default-for-required-parameter lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:no-default-for-required-parameter
@ -2237,6 +2245,7 @@ lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-default-does-not
lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-missing-type lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-missing-type
lib/ansible/modules/network/asa/asa_acl.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/asa/asa_acl.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/asa/asa_acl.py validate-modules:undocumented-parameter lib/ansible/modules/network/asa/asa_acl.py validate-modules:undocumented-parameter
lib/ansible/modules/network/asa/asa_acl.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-missing-type lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/asa/asa_command.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/asa/asa_command.py validate-modules:parameter-type-not-in-doc
@ -2246,6 +2255,7 @@ lib/ansible/modules/network/asa/asa_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/asa/asa_config.py validate-modules:implied-parameter-type-mismatch lib/ansible/modules/network/asa/asa_config.py validate-modules:implied-parameter-type-mismatch
lib/ansible/modules/network/asa/asa_config.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/asa/asa_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/asa/asa_config.py validate-modules:undocumented-parameter lib/ansible/modules/network/asa/asa_config.py validate-modules:undocumented-parameter
lib/ansible/modules/network/asa/asa_config.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/asa/asa_og.py validate-modules:doc-missing-type lib/ansible/modules/network/asa/asa_og.py validate-modules:doc-missing-type
lib/ansible/modules/network/asa/asa_og.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/asa/asa_og.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/avi/avi_actiongroupconfig.py future-import-boilerplate lib/ansible/modules/network/avi/avi_actiongroupconfig.py future-import-boilerplate
@ -3067,6 +3077,7 @@ lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-missing-typ
lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:undocumented-parameter lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:undocumented-parameter
lib/ansible/modules/network/cnos/cnos_backup.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-required-mismatch
@ -3075,23 +3086,30 @@ lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:undocumented-pa
lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_bgp.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_command.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_command.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/cnos/cnos_command.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_conditional_command.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_conditional_template.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_config.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_config.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/cnos/cnos_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/cnos/cnos_config.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_factory.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/cnos/cnos_facts.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_image.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-missing-type
@ -3128,15 +3146,19 @@ lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:parameter-type
lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:undocumented-parameter lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:undocumented-parameter
lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_reload.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:undocumented-parameter lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:undocumented-parameter
lib/ansible/modules/network/cnos/cnos_rollback.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_save.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/cnos/cnos_showrun.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-required-mismatch
@ -3148,6 +3170,7 @@ lib/ansible/modules/network/cnos/cnos_system.py validate-modules:parameter-type-
lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_template.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_user.py validate-modules:missing-suboption-docs lib/ansible/modules/network/cnos/cnos_user.py validate-modules:missing-suboption-docs
@ -3156,6 +3179,7 @@ lib/ansible/modules/network/cnos/cnos_user.py validate-modules:undocumented-para
lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-missing-type
lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-required-mismatch lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/cnos/cnos_vlag.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-missing-type lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-missing-type
@ -3233,6 +3257,7 @@ lib/ansible/modules/network/enos/enos_command.py validate-modules:doc-required-m
lib/ansible/modules/network/enos/enos_command.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/enos/enos_command.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/enos/enos_command.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/enos/enos_command.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/enos/enos_command.py validate-modules:undocumented-parameter lib/ansible/modules/network/enos/enos_command.py validate-modules:undocumented-parameter
lib/ansible/modules/network/enos/enos_command.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-missing-type lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-required-mismatch lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-required-mismatch
@ -3245,6 +3270,7 @@ lib/ansible/modules/network/enos/enos_facts.py validate-modules:doc-required-mis
lib/ansible/modules/network/enos/enos_facts.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/enos/enos_facts.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/enos/enos_facts.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/enos/enos_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/enos/enos_facts.py validate-modules:undocumented-parameter lib/ansible/modules/network/enos/enos_facts.py validate-modules:undocumented-parameter
lib/ansible/modules/network/enos/enos_facts.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-missing-type lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-missing-type
lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-required-mismatch lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-required-mismatch
@ -4679,11 +4705,13 @@ lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-mis
lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-required-mismatch lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:undocumented-parameter lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:undocumented-parameter
lib/ansible/modules/network/ordnance/ordnance_config.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-missing-type lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-missing-type
lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-required-mismatch lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:undocumented-parameter lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:undocumented-parameter
lib/ansible/modules/network/ordnance/ordnance_facts.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-missing-type lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-missing-type
lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:parameter-type-not-in-doc
@ -4841,15 +4869,18 @@ lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-default-do
lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-missing-type lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-required-mismatch lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/sros/sros_command.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/sros/sros_command.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/sros/sros_command.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-missing-type lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-required-mismatch lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/sros/sros_config.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/network/sros/sros_config.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/sros/sros_config.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/sros/sros_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/sros/sros_config.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-missing-type lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-missing-type
lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-required-mismatch lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-required-mismatch
lib/ansible/modules/network/sros/sros_rollback.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/sros/sros_rollback.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/sros/sros_rollback.py yamllint:unparsable-with-libyaml
lib/ansible/modules/network/voss/voss_command.py validate-modules:doc-missing-type lib/ansible/modules/network/voss/voss_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/voss/voss_command.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/network/voss/voss_command.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/voss/voss_config.py validate-modules:doc-missing-type lib/ansible/modules/network/voss/voss_config.py validate-modules:doc-missing-type
@ -5181,6 +5212,7 @@ lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py val
lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/remote_management/foreman/_foreman.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/remote_management/foreman/_foreman.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/remote_management/foreman/_katello.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/remote_management/foreman/_katello.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/remote_management/foreman/_katello.py yamllint:unparsable-with-libyaml
lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc
@ -5928,6 +5960,7 @@ lib/ansible/plugins/action/vyos.py action-plugin-docs # base class for deprecate
lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility
lib/ansible/plugins/callback/hipchat.py pylint:blacklisted-name lib/ansible/plugins/callback/hipchat.py pylint:blacklisted-name
lib/ansible/plugins/connection/lxc.py pylint:blacklisted-name lib/ansible/plugins/connection/lxc.py pylint:blacklisted-name
lib/ansible/plugins/connection/vmware_tools.py yamllint:unparsable-with-libyaml
lib/ansible/plugins/doc_fragments/a10.py future-import-boilerplate lib/ansible/plugins/doc_fragments/a10.py future-import-boilerplate
lib/ansible/plugins/doc_fragments/a10.py metaclass-boilerplate lib/ansible/plugins/doc_fragments/a10.py metaclass-boilerplate
lib/ansible/plugins/doc_fragments/aireos.py future-import-boilerplate lib/ansible/plugins/doc_fragments/aireos.py future-import-boilerplate