Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module validation: sanity check mutually_exclusive, required_if, required_xxx ... #66961

Merged
merged 12 commits into from Feb 19, 2020

Conversation

felixfontein
Copy link
Contributor

SUMMARY

Adds some basic checks for mutually_exclusive, required_if, required_by, required_together, required_one_of. The checks test for whether the options actually exist in argument_spec, whether there are repeated keys, and whether types are correct (like value for required_if has to satisfy type of option).

This found at least one real bug: https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/cloud/podman/podman_image.py#L713-L714 mentions authfile, which is an alias of path. If the user combines path with username or password, AnsibleModule will accept this.

Quite some ignore.txt entries come from things inserted in common module_utils code, like for azure and kubevirt.

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

ansible-test

@ansibot
Copy link
Contributor

ansibot commented Jan 30, 2020

@ansibot ansibot added affects_2.10 This issue/PR affects Ansible v2.10 core_review In order to be merged, this PR must follow the core review workflow. feature This issue/PR relates to a feature request. needs_triage Needs a first human triage before being processed. support:community This issue/PR relates to code supported by the Ansible community. support:core This issue/PR relates to code supported by the Ansible Engineering Team. test This PR relates to tests. labels Jan 30, 2020
@felixfontein
Copy link
Contributor Author

The errors found by the check (which resulted in the ignore.txt entries):

ERROR: lib/ansible/modules/cloud/amazon/aws_netapp_cvs_snapshots.py:0:0: required_if-key-in-requirements: required_if contains its key state in requirements
ERROR: lib/ansible/modules/cloud/amazon/ec2.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: group_name
ERROR: lib/ansible/modules/cloud/amazon/rds_instance.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: restore_to_time
ERROR: lib/ansible/modules/cloud/azure/azure_rm_acs.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_acs.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aks.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aks.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aks_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aks_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aksversion_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_aksversion_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appgateway.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appgateway.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appserviceplan.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appserviceplan.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appserviceplan_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_appserviceplan_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_automationaccount.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_automationaccount.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_automationaccount_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_automationaccount_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_autoscale.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_autoscale.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_autoscale_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_autoscale_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_availabilityset.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_availabilityset.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_availabilityset_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_availabilityset_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_azurefirewall_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_azurefirewall_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_batchaccount.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_batchaccount.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnprofile.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnprofile.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnprofile_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cdnprofile_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerinstance_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerinstance_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerregistry.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerregistry.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerregistry_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_containerregistry_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_deployment.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_deployment.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlab_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlab_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabarmtemplate_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabarmtemplate_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifact_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifact_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnszone.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnszone.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_functionapp.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_functionapp.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_functionapp_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_functionapp_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_gallery.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_gallery.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_gallery_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_gallery_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimage.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimage.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimage_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimage_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_image.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_image.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_image_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_image_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevice.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: certificate_authority
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevice.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevice.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevice_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevice_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevicemodule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: certificate_authority
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevicemodule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iotdevicemodule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothub.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothub.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothub_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothub_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothubconsumergroup.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_iothubconsumergroup.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvault.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvault.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvault_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvault_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_lock.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_lock.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_lock_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_lock_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_manageddisk.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_manageddisk.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbserver.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbserver.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbserver_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mariadbserver_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_monitorlogprofile.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_monitorlogprofile.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlserver_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_mysqlserver_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_publicipaddress_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_publicipaddress_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscache.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscache.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscache_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscache_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscachefirewallrule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_rediscachefirewallrule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resource.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resource.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resource_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resource_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resourcegroup_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_resourcegroup_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roleassignment.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roleassignment.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roleassignment_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roleassignment_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_route.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_route.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_routetable.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_routetable.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_routetable_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_routetable_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: destination_address_prefix, destination_application_security_group
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: destination_address_prefixes, destination_application_security_group
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: source_address_prefix, source_application_security_group
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: source_address_prefixes, source_application_security_group
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_securitygroup_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebus.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebus.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebus_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebus_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebusqueue.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebusqueue.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebussaspolicy.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebussaspolicy.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebustopic.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebustopic.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebustopicsubscription.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_servicebustopicsubscription.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_snapshot.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_snapshot.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqldatabase.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqldatabase.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqldatabase_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqldatabase_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlserver_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_sqlserver_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageblob.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_storageblob.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_subnet.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_subnet.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_subnet_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_subnet_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webapp.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webapp.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webapp_info.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webapp_info.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webappslot.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: log_path
ERROR: lib/ansible/modules/cloud/azure/azure_rm_webappslot.py:0:0: required_if-unknown-key: required_if must have its key log_mode in argument_spec
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: resource_definition, src
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: src
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: src
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: src
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_template.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_template.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: resource_definition, src
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: src
ERROR: lib/ansible/modules/cloud/podman/podman_image.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: authfile
ERROR: lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup_find.py:0:0: required_if-requirements-type: required_if must have third value (requirements) being a list or tuple; got type 'vlanid'
ERROR: lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup_find.py:0:0: required_if-requirements-unknown: required_if contains terms in requirements which are not part of argument_spec: a, d, i, l, n, v
ERROR: lib/ansible/modules/cloud/vmware/vmware_host_dns.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: dhcp
ERROR: lib/ansible/modules/cloud/vmware/vmware_host_dns.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: esxi_host_name
ERROR: lib/ansible/modules/cloud/vmware/vmware_host_dns.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: static
ERROR: lib/ansible/modules/cloud/vmware/vmware_vm_host_drs_rule.py:0:0: required_if-is_one_of-type: required_if must have forth value omitted or of type bool; got ['host_group_name']
ERROR: lib/ansible/modules/cloud/vmware/vmware_vmkernel.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: tcpip_stack
ERROR: lib/ansible/modules/clustering/k8s/k8s_service.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: apply
ERROR: lib/ansible/modules/clustering/k8s/k8s_service.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: src
ERROR: lib/ansible/modules/database/postgresql/postgresql_tablespace.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: named_args, positional_args
ERROR: lib/ansible/modules/monitoring/grafana/grafana_dashboard.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: grafana_user
ERROR: lib/ansible/modules/network/aci/aci_bd_to_l3out.py:0:0: required_together-unknown: required_together contains terms which are not part of argument_spec: gateway, mask
ERROR: lib/ansible/modules/network/cloudengine/ce_snmp_user.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: local_user_name
ERROR: lib/ansible/modules/network/f5/bigip_data_group.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: records_content
ERROR: lib/ansible/modules/network/f5/bigip_provision.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: parameters, parameters_src
ERROR: lib/ansible/modules/network/f5/bigiq_application_https_offload.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: cert_key_chain, inherit_cert_key_chain
ERROR: lib/ansible/modules/network/f5/bigiq_application_https_waf.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: cert_key_chain, inherit_cert_key_chain
ERROR: lib/ansible/modules/network/iosxr/iosxr_user.py:0:0: mutually_exclusive-unknown: mutually_exclusive found in aggregate contains terms which are not part of argument_spec: aggregate
ERROR: lib/ansible/modules/network/junos/_junos_l2_interface.py:0:0: mutually_exclusive-unknown: mutually_exclusive found in aggregate contains terms which are not part of argument_spec: aggregate
ERROR: lib/ansible/modules/network/netconf/netconf_config.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: source
ERROR: lib/ansible/modules/network/netconf/netconf_config.py:0:0: required_one_of-unknown: required_one_of contains terms which are not part of argument_spec: source
ERROR: lib/ansible/modules/network/netvisor/pn_port_config.py:0:0: required_one_of-unknown: required_one_of contains terms which are not part of argument_spec: pn_fec
ERROR: lib/ansible/modules/packaging/os/apt_key.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: filename
ERROR: lib/ansible/modules/packaging/os/redhat_subscription.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: autosubscribe
ERROR: lib/ansible/modules/packaging/os/redhat_subscription.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: force
ERROR: lib/ansible/modules/storage/netapp/netapp_e_syslog.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: absent
ERROR: lib/ansible/modules/storage/purestorage/purefa_volume.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: qos
ERROR: lib/ansible/modules/system/open_iscsi.py:0:0: required_together-unknown: required_together contains terms which are not part of argument_spec: discover_pass, discover_user

@ansibot
Copy link
Contributor

ansibot commented Feb 1, 2020

@ansibot ansibot added docs This issue/PR relates to or includes documentation. docsite This issue/PR relates to the documentation website. has_issue labels Feb 1, 2020
@ansibot

This comment has been minimized.

@ansibot ansibot added needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed core_review In order to be merged, this PR must follow the core review workflow. labels Feb 1, 2020
@ansibot ansibot added core_review In order to be merged, this PR must follow the core review workflow. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Feb 8, 2020
@samdoran samdoran self-requested a review February 11, 2020 19:21
@felixfontein
Copy link
Contributor Author

(Rebasing to resolve conflicts.)

Copy link
Contributor

@samdoran samdoran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few minor things.

try:
with CaptureStd():
dummy = _type_checker(value)
except (Exception, SystemExit):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should be able to catch TypeError here rather than Exception. Though I suppose a custom callable as a type checker could raise something other than TypeError.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used the same catch expression as

try:
doc_default = None
if 'default' in doc_options_arg and not is_empty(doc_options_arg['default']):
with CaptureStd():
doc_default = _type_checker(doc_options_arg['default'])
elif doc_options_arg.get('default') is None and _type == 'bool' and 'suboptions' not in doc_options_arg:
doc_default = False
except (Exception, SystemExit):
and
try:
with CaptureStd():
arg_default = _type_checker(data['default'])
except (Exception, SystemExit):

@ansibot ansibot added needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html and removed core_review In order to be merged, this PR must follow the core review workflow. needs_triage Needs a first human triage before being processed. labels Feb 17, 2020
@ansibot ansibot removed the needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html label Feb 18, 2020
@Andersson007
Copy link
Contributor

Andersson007 commented Feb 19, 2020

@felixfontein , i've tried to test it manually
I did following steps in your branch:

  1. put:
346         mutually_exclusive=[
347             ['copy_from', 1],
348             ['src', 'src'],
349             ['blabla', 'src'],
                   ....

(1 and blabla don't exist)
2. ran ansible-test sanity --base-branch devel lib/ansible/modules/database/postgresql/postgresql_copy.py
(also did it with --base-branch . Have no idea if it affects somehow or not)
3. Got

Running sanity test 'symlinks' with Python 3.6
Running sanity test 'test-constraints' with Python 3.6
Running sanity test 'use-argspec-type-path' with Python 3.6
Running sanity test 'use-compat-six' with Python 3.6
Running sanity test 'validate-modules' with Python 3.6
ERROR: Command "/bin/python3.6 /root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules --format json --arg-spec lib/ansible/modules/database/postgresql/postgresql_copy.py --base-branch sanity-details" returned exit status 1.
>>> Standard Error
Traceback (most recent call last):
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules", line 8, in <module>
    main()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2186, in main
    run()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2084, in run
    mv1.validate()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1921, in validate
    self._validate_ansible_module_call(docs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1153, in _validate_ansible_module_call
    self._validate_argument_spec(docs, spec, kwargs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1329, in _validate_argument_spec
    self._validate_list_of_module_args('mutually_exclusive', last_context_spec.get('mutually_exclusive'), spec, context)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1184, in _validate_list_of_module_args
    msg += " contains terms which are not part of argument_spec: %s" % ", ".join(sorted(set(check).difference(set(spec))))
TypeError: sequence item 0: expected str instance, int found

Is it expected or i did anything wrong?

@felixfontein
Copy link
Contributor Author

@Andersson007 it's not expected! (Potentially AnsibleModule will also die when trying to actually use that module.) I've added some checks to make sure that the check will ignore the term when a non-string is found in it. I now get

ERROR: lib/ansible/modules/t.py:0:0: mutually_exclusive-type: mutually_exclusive must contain strings in the lists or tuples; found value 1

for your example.

@Andersson007
Copy link
Contributor

cool! now that works ok in this part

Running sanity test 'validate-modules' with Python 3.6
ERROR: Found 3 validate-modules issue(s) which need to be resolved:
ERROR: lib/ansible/modules/database/postgresql/postgresql_copy.py:0:0: mutually_exclusive-collision: mutually_exclusive has repeated terms
ERROR: lib/ansible/modules/database/postgresql/postgresql_copy.py:0:0: mutually_exclusive-type: mutually_exclusive must contain strings in the lists or tuples; found value 1
ERROR: lib/ansible/modules/database/postgresql/postgresql_copy.py:0:0: mutually_exclusive-unknown: mutually_exclusive contains terms which are not part of argument_spec: blabla

i'm going to check the other options

@Andersson007
Copy link
Contributor

Andersson007 commented Feb 19, 2020

Running sanity test 'validate-modules' with Python 3.6
ERROR: Command "/bin/python3.6 /root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules --format json --arg-spec lib/ansible/modules/database/postgresql/postgresql_copy.py --base-branch devel" returned exit status 1.
>>> Standard Error
Traceback (most recent call last):
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules", line 8, in <module>
    main()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2191, in main
    run()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2089, in run
    mv1.validate()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1926, in validate
    self._validate_ansible_module_call(docs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1153, in _validate_ansible_module_call
    self._validate_argument_spec(docs, spec, kwargs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1336, in _validate_argument_spec
    self._validate_list_of_module_args('required_one_of', last_context_spec.get('required_one_of'), spec, context)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1160, in _validate_list_of_module_args
    for term in check:
TypeError: 'int' object is not iterable

i made a mistake passing the option as

required_one_of=[1, 'blabla', 'src', 'src'],

but probably it makes sense to check required_on_of's type too
(and types of the other options)

@felixfontein
Copy link
Contributor Author

@Andersson007 this is already caught by the schema test; I've added more code which ignores bad data which is reported by the schema test.

@Andersson007
Copy link
Contributor

passed

602         required_if=[
603             ['non_unique', True, ['gid', 1]],
604         ],

ran

ansible-test sanity --base-branch devel lib/ansible/modules/system/group.py

got

Running sanity test 'validate-modules' with Python 3.6
ERROR: Command "/bin/python3.6 /root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules --format json --arg-spec lib/ansible/modules/system/group.py --base-branch devel" returned exit status 1.
>>> Standard Error
Traceback (most recent call last):
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate-modules", line 8, in <module>
    main()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2191, in main
    run()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 2089, in run
    mv1.validate()
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1926, in validate
    self._validate_ansible_module_call(docs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1153, in _validate_ansible_module_call
    self._validate_argument_spec(docs, spec, kwargs)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1337, in _validate_argument_spec
    self._validate_required_if(last_context_spec.get('required_if'), spec, context, module)
  File "/root/tmp/ansible/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py", line 1235, in _validate_required_if
    msg += " contains terms in requirements which are not part of argument_spec: %s" % ", ".join(sorted(set(requirements).difference(set(spec))))
TypeError: sequence item 0: expected str instance, int found

@Andersson007
Copy link
Contributor

That's it. The other options work ok.
When you finish let me know, i'll recheck them again (probably tomorrow morning)

@felixfontein
Copy link
Contributor Author

@Andersson007 I've added a check for types in required_if requirements. These weren't checked so far. Everything you found should be fixed now. Thanks a lot!

@ansibot ansibot added core_review In order to be merged, this PR must follow the core review workflow. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Feb 19, 2020
@samdoran samdoran merged commit 4373863 into ansible:devel Feb 19, 2020
@felixfontein felixfontein deleted the sanity-details branch February 19, 2020 18:23
@felixfontein
Copy link
Contributor Author

@samdoran @Andersson007 thanks for all the reviewing and testing and merging!

@ansible ansible locked and limited conversation to collaborators Mar 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affects_2.10 This issue/PR affects Ansible v2.10 core_review In order to be merged, this PR must follow the core review workflow. docs This issue/PR relates to or includes documentation. docsite This issue/PR relates to the documentation website. feature This issue/PR relates to a feature request. has_issue support:community This issue/PR relates to code supported by the Ansible community. support:core This issue/PR relates to code supported by the Ansible Engineering Team. test This PR relates to tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants