826a79f50f
This updates ansible-lint to the 6.x releases. It also updates the ansible installed to our current zuul version. It cleans up the config file and marks it as yaml. A few new exceptions are added with explainations. We don't need to fake the zuul_return by telling ansible-lint to mock it. This is added to the config, and we can remove the stub file. A constant source of problems running this locally is that you have to have the other role repos checked out so ansible-lint can do its checks. Add a smaller helper script for doing this locally. In the gate, ANSIBLE_ROLES_PATH is set to the Zuul checkouts of these projects. Locally, add a smaller helper "ansible-lint-roles-cache.sh" that pulls the projects into a .cache directory. If they are already there, they get updated. By default locally we will use these checkouts. This way, "tox -e linters" just works without having to do anything else. This also modifies the xargs to run the check all at once, instead of fork for each file. I did try autodetection but it seems like other yaml files in the roles/playbook directories still confuse ansible-lint. Also I don't think we need a ansible-playbook --syntax-check step; ansible-lint covers that. Change-Id: I972f73037b9f904a555b81f3835ca5261639ed01
31 lines
912 B
Plaintext
31 lines
912 B
Plaintext
exclude_paths:
|
|
# don't lint external projects here
|
|
- ../../opendev
|
|
- ../../zuul
|
|
- ../openstack-zuul-jobs
|
|
- .cache/
|
|
- zuul.d/
|
|
- grafana/
|
|
- nodepool/
|
|
parseable: true
|
|
quiet: false
|
|
skip_list:
|
|
- '106' # Role name does not match ``^[a-z][a-z0-9_]+$`` pattern
|
|
- '204' # [E204] Lines should be no longer than 120 chars
|
|
# TODO(AJaeger): E208 gives false positives currently, we
|
|
# should enable it once all issues in zuul-jobs and
|
|
# ansible-lint are fixed.
|
|
- '208' # File permissions not mentioned
|
|
- '301' # [E301] Commands should not change things if nothing needs doing
|
|
- '306' # [E306] Shells that use pipes should set the pipefail option
|
|
- 'fqcn-builtins' # for now ignore using fully-qualified names
|
|
- 'yaml[truthy]' # doesn't like "yes"?
|
|
- 'yaml[line-length]'
|
|
verbosity: 1
|
|
mock_modules:
|
|
- zuul_return
|
|
|
|
# Local variables:
|
|
# mode: yaml
|
|
# End:
|