ansible-collections / dellemc.os10

GNU General Public License v3.0
37 stars 49 forks source link

Sanity tests failing in dellemc.os10 #124

Open dmsimard opened 2 years ago

dmsimard commented 2 years ago
SUMMARY

We are running sanity tests across every collection included in the Ansible community package (as part of this issue) and found that ansible-test sanity --docker against dellemc.os10 1.1.1 fails with ansible-core 2.13.0rc1 in ansible 6.0.0a2.

ISSUE TYPE
COMPONENT NAME

n/a

ANSIBLE VERSION
ansible [core 2.13.0rc1]
COLLECTION VERSION
1.1.1
STEPS TO REPRODUCE
ansible-test sanity --docker
EXPECTED RESULTS

Tests are either passing or ignored.

ACTUAL RESULTS
ERROR: Found 2 action-plugin-docs issue(s) which need to be resolved:
ERROR: plugins/action/os10.py:0:0: action plugin has no matching module to provide documentation
ERROR: plugins/action/textfsm_parser.py:0:0: action plugin has no matching module to provide documentation
ERROR: Found 43 validate-modules issue(s) which need to be resolved:
ERROR: plugins/cliconf/os10.py:0:0: invalid-documentation: DOCUMENTATION.cliconf: extra keys not allowed @ data['cliconf']. Got 'os10'
ERROR: plugins/cliconf/os10.py:0:0: invalid-documentation: DOCUMENTATION.name: required key not provided @ data['name']. Got None
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: Argument 'bgp_neighbors' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: Argument 'show_ip_bgp' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: Argument 'show_ip_intf_brief' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.bgp_neighbors: Argument defines type as list but elements is not defined for dictionary value @ data['options']['bgp_neighbors']. Got {'description': ['planned neighbours input from group_var to compare actual'], 'type': 'list', 'required': True}
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_ip_bgp: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_ip_bgp']. Got {'description': ['show ip bgp summary output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/bgp_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_ip_intf_brief: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_ip_intf_brief']. Got {'description': ['show ip interface brief output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: Argument 'show_ip_intf_brief' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: Argument 'show_lldp_neighbors_list' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: Argument 'show_system_network_summary' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_ip_intf_brief: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_ip_intf_brief']. Got {'description': ['show ip intf brief'], 'type': 'list', 'required': True}
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_lldp_neighbors_list: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_lldp_neighbors_list']. Got {'description': ['show lldp neighbor output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/mtu_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_system_network_summary: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_system_network_summary']. Got {'description': ['show system network summary output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/os10_command.py:0:0: doc-default-does-not-match-spec: Argument 'authorize' in argument_spec found in provider defines default as (None) but documentation defines default as (False)
ERROR: plugins/modules/os10_command.py:0:0: parameter-list-no-elements: Argument 'commands' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/os10_command.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.commands: Argument defines type as list but elements is not defined for dictionary value @ data['options']['commands']. Got {'description': ['List of commands to send to the remote OS10 device over the configured provider. The resulting output from the command is returned. If the I(wait_for) argument is provided, the module is not returned until the condition is satisfied or the number of retries has expired.'], 'type': 'list', 'required': True}
ERROR: plugins/modules/os10_config.py:0:0: doc-default-does-not-match-spec: Argument 'authorize' in argument_spec found in provider defines default as (None) but documentation defines default as (False)
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: Argument 'after' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: Argument 'before' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: Argument 'lines' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: Argument 'parents' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.after: Argument defines type as list but elements is not defined for dictionary value @ data['options']['after']. Got {'description': ['The ordered set of commands to append to the end of the command stack if a change needs to be made.  Just like with I(before) this allows the playbook designer to append a set of commands to be executed after the command set.'], 'type': 'list'}
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.before: Argument defines type as list but elements is not defined for dictionary value @ data['options']['before']. Got {'description': ['The ordered set of commands to push on to the command stack if a change needs to be made.  This allows the playbook designer the opportunity to perform configuration commands prior to pushing any changes without affecting how the set of commands are matched against the system.'], 'type': 'list'}
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.lines: Argument defines type as list but elements is not defined for dictionary value @ data['options']['lines']. Got {'description': ['The ordered set of commands that should be configured in the section.  The commands must be the exact same commands as found in the device running-config. Be sure to note the configuration command syntax as some commands are automatically modified by the device config parser. This argument is mutually exclusive with I(src).'], 'type': 'list', 'aliases': ['commands']}
ERROR: plugins/modules/os10_config.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.parents: Argument defines type as list but elements is not defined for dictionary value @ data['options']['parents']. Got {'description': ['The ordered set of parents that uniquely identify the section or hierarchy the commands should be checked against.  If the parents argument is omitted, the commands are checked against the set of top level or global commands.'], 'type': 'list'}
ERROR: plugins/modules/os10_facts.py:0:0: doc-default-does-not-match-spec: Argument 'authorize' in argument_spec found in provider defines default as (None) but documentation defines default as (False)
ERROR: plugins/modules/os10_facts.py:0:0: invalid-documentation-markup: DOCUMENTATION.options.gather_subset.description: Directive "M(!)" must contain a FQCN for dictionary value @ data['options']['gather_subset']['description']. Got ['When supplied, this argument will restrict the facts collected to a given subset.  Possible values for this argument include all, hardware, config, and interfaces.  Can specify a list of values to include a larger subset.  Values can also be used with an initial C(M(!)) to specify that a specific subset should not be collected.']
ERROR: plugins/modules/os10_facts.py:0:0: parameter-list-no-elements: Argument 'gather_subset' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/show_system_network_summary.py:0:0: parameter-list-no-elements: Argument 'cli_responses' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/show_system_network_summary.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.cli_responses: Argument defines type as list but elements is not defined for dictionary value @ data['options']['cli_responses']. Got {'type': 'list', 'required': True, 'description': ['show system command xml output']}
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: Argument 'intended_vlt_pairs' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: Argument 'show_system_network_summary' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: Argument 'show_vlt' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.intended_vlt_pairs: Argument defines type as list but elements is not defined for dictionary value @ data['options']['intended_vlt_pairs']. Got {'description': ['intended vlt pair intput to verify with actual'], 'type': 'list', 'required': True}
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_system_network_summary: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_system_network_summary']. Got {'description': ['show system summary output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/vlt_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_vlt: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_vlt']. Got {'description': ['show vlt output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: Argument 'planned_neighbors' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: Argument 'show_lldp_neighbors_list' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: Argument 'show_system_network_summary' in argument_spec defines type as list but elements is not defined
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.planned_neighbors: Argument defines type as list but elements is not defined for dictionary value @ data['options']['planned_neighbors']. Got {'description': ['planned neighbours input from group_var to compare actual'], 'type': 'list', 'required': True}
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_lldp_neighbors_list: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_lldp_neighbors_list']. Got {'description': ['show lldp neighbor output'], 'type': 'list', 'required': True}
ERROR: plugins/modules/wiring_validate.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.show_system_network_summary: Argument defines type as list but elements is not defined for dictionary value @ data['options']['show_system_network_summary']. Got {'description': ['show system network summary output'], 'type': 'list', 'required': True}
ERROR: The 2 sanity test(s) listed below (out of 43) failed. See error output above for details.
action-plugin-docs
validate-modules
ERROR: Command "podman exec ansible-test-controller-zZu1piqh /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible_collections/dellemc/os10 LC_ALL=en_US.UTF-8 /usr/bin/python3.10 /root/ansible/bin/ansible-test sanity --containers '{}' --skip-test pylint --metadata tests/output/.tmp/metadata-1dc7h1is.json --truncate 0 --color no --host-path tests/output/.tmp/host-_f7txy9l" returned exit status 1.
prasadapr commented 10 months ago

Hi @dmsimard, now we have fixed all the errors with latest ansible collection - v1.2.3 . no more errors when we execute ansible-test sanity. Pls can you check and if its working can we close this issue.

prasadapr commented 10 months ago

Hi @dmsimard, can we close this issue.

prasadapr commented 10 months ago

Hi @dmsimard, can we close this issue.