Skip to content

Commit

Permalink
Update docs and eco for key-order
Browse files Browse the repository at this point in the history
  • Loading branch information
jeefberkey committed Jul 8, 2022
1 parent 7255d7c commit 0d24534
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 13 deletions.
9 changes: 6 additions & 3 deletions src/ansiblelint/rules/key_order.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""All tasks should be have name come first."""
"""Ensure specific order of keys in mappings."""
import sys
from collections import OrderedDict as odict
from typing import Any, Dict, Optional, Union
from typing import Any, Dict, Optional, Union, cast

from ansiblelint.config import options
from ansiblelint.file_utils import Lintable
Expand Down Expand Up @@ -45,7 +45,10 @@ def matchtask(
actual_order[attr] = pos

sorted_actual_order = odict(
sorted(actual_order.items(), key=lambda item: item[1])
sorted(
actual_order.items(),
key=lambda item: item[1],
)
)

if bool(sorted_actual_order != actual_order):
Expand Down
22 changes: 21 additions & 1 deletion test/eco/debops.result
Original file line number Diff line number Diff line change
@@ -1,8 +1,28 @@
CMD: ansible-lint -f pep8 -x fqcn-builtins

RC: 0
RC: 2

STDERR:
WARNING Listing 12 violation(s) that are fatal
You can skip specific rules or tags by adding them to your configuration file:
# .config/ansible-lint.yml
warn_list: # or 'skip_list' to silence them completely
- experimental # all rules tagged as experimental
- unnamed-task # All tasks should be named.
- var-spacing # Jinja2 variables and filters should have spaces before and after.



STDOUT:
ansible/roles/opensearch/defaults/main.yml:64: var-spacing: Jinja2 variables and filters should have spaces before and after.
ansible/roles/opensearch/defaults/main.yml:75: var-spacing: Jinja2 variables and filters should have spaces before and after.
ansible/roles/opensearch/defaults/main.yml:83: var-spacing: Jinja2 variables and filters should have spaces before and after.
ansible/roles/opensearch/defaults/main.yml:130: var-spacing: Jinja2 variables and filters should have spaces before and after.
ansible/roles/opensearch/tasks/main.yml:22: unnamed-task: All tasks should be named.
ansible/roles/opensearch/tasks/main.yml:25: risky-file-permissions: File permissions unset or incorrect.
roles/opensearch/defaults/main.yml:64: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/opensearch/defaults/main.yml:75: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/opensearch/defaults/main.yml:83: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/opensearch/defaults/main.yml:130: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/opensearch/tasks/main.yml:22: unnamed-task: All tasks should be named.
roles/opensearch/tasks/main.yml:25: risky-file-permissions: File permissions unset or incorrect.
11 changes: 6 additions & 5 deletions test/eco/hardening.result
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,20 @@ CMD: ansible-lint -f pep8 -x fqcn-builtins
RC: 0

STDERR:
WARNING Listing 19 violation(s) that are fatal
WARNING Listing 20 violation(s) that are fatal



STDOUT:
defaults/main/sshd.yml:20: yaml: line too long (143 > 120 characters) (yaml[line-length])
defaults/main/sshd.yml:20: yaml: line too long (227 > 120 characters) (yaml[line-length])
defaults/main/sshd.yml:21: yaml: line too long (143 > 120 characters) (yaml[line-length])
molecule/default/verify.yml:11: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:127: yaml: line too long (123 > 120 characters) (yaml[line-length])
molecule/default/verify.yml:128: yaml: line too long (122 > 120 characters) (yaml[line-length])
molecule/default/verify.yml:152: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:198: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:245: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:571: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:199: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:247: var-spacing: Jinja2 variables and filters should have spaces before and after.
molecule/default/verify.yml:573: var-spacing: Jinja2 variables and filters should have spaces before and after.
tasks/auditd.yml:21: yaml: line too long (122 > 120 characters) (yaml[line-length])
tasks/firewall.yml:120: var-spacing: Jinja2 variables and filters should have spaces before and after.
tasks/firewall.yml:135: var-spacing: Jinja2 variables and filters should have spaces before and after.
Expand Down
7 changes: 3 additions & 4 deletions test/eco/zuul-jobs.result
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ INFO Discovered files to lint using: git ls-files --cached --others --exclud
INFO Excluded removed files using: git ls-files --deleted -z
INFO Discovered files to lint using: git ls-files --cached --others --exclude-standard -z
INFO Excluded removed files using: git ls-files --deleted -z
WARNING Listing 98 violation(s) that are fatal
WARNING Listing 97 violation(s) that are fatal
You can skip specific rules or tags by adding them to your configuration file:
# .config/ansible-lint.yml
warn_list: # or 'skip_list' to silence them completely
Expand Down Expand Up @@ -46,16 +46,15 @@ roles/ensure-go/tasks/install-go.yaml:12: risky-file-permissions: File permissio
roles/ensure-haskell-stack/tasks/main.yaml:11: unnamed-task: All tasks should be named.
roles/ensure-if-python/tasks/main.yaml:28: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/ensure-javascript-packages/tasks/main.yaml:45: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/ensure-kubernetes/tasks/minikube.yaml:1: schema: False is not of type 'string' (schema[tasks])
roles/ensure-kubernetes/tasks/minikube.yaml:1: schema: True is not of type 'string' (schema[tasks])
roles/ensure-nimble/tasks/main.yaml:1: schema: 1 is not of type 'string' (schema[tasks])
roles/ensure-nimble/tasks/main.yaml:14: unnamed-task: All tasks should be named.
roles/ensure-packer/tasks/install-packer.yaml:21: risky-file-permissions: File permissions unset or incorrect.
roles/ensure-pip/tasks/Debian.yaml:17: ignore-errors: Use failed_when and specify error conditions instead of using ignore_errors.
roles/ensure-pip/tasks/RedHat.yaml:10: unnamed-task: All tasks should be named.
roles/ensure-pip/tasks/source.yaml:7: risky-file-permissions: File permissions unset or incorrect.
roles/ensure-shake/tasks/main.yaml:15: unnamed-task: All tasks should be named.
roles/ensure-terraform/tasks/install-terraform.yaml:32: risky-file-permissions: File permissions unset or incorrect.
roles/fetch-coverage-output/tasks/main.yaml:6: key-order: 'name' key is not first
roles/fetch-coverage-output/tasks/main.yaml:6: key-order: Keys are not in order. Expected order 'name,when,fail'
roles/fetch-coverage-output/tasks/main.yaml:13: unnamed-task: All tasks should be named.
roles/fetch-javascript-tarball/defaults/main.yaml:3: var-spacing: Jinja2 variables and filters should have spaces before and after.
roles/fetch-javascript-tarball/tasks/main.yaml:12: unnamed-task: All tasks should be named.
Expand Down

0 comments on commit 0d24534

Please sign in to comment.