Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-65282

ansibleLint() doesn't seems to work with ansible-lint 5.0.* (works on 4.*)

      Hi,

      It seems warnings-ng:8.10.1 doesn't work with ansibleLint() and ansible-lint version 5.0.6 (released few month ago).

      Works great using ansible-lint 4.3.7

      Not sure if issue on jenkins plugin or ansible-lint...

      See logs bellow

      Using ansible lint 5.0

      23:54:47  + ansible-lint --version
      23:54:48  ansible-lint 5.0.6 using ansible 2.10.7
      [Pipeline] sh
      23:54:48  + ansible-lint -p ansible
      23:54:51  WARNING  Listing 7 violation(s) that are fatal
      23:54:51  ansible/tasks/db_backup.yml:8: package-latest Package installs should not use latest
      23:54:51  ansible/tasks/db_restore.yml:8: package-latest Package installs should not use latest
      23:54:51  ansible/tasks/system.yml:20: risky-file-permissions File permissions unset or incorrect
      23:54:51  ansible/tasks/system.yml:38: no-handler Tasks that run when changed should likely be handlers
      23:54:51  ansible/tasks/system.yml:43: no-handler Tasks that run when changed should likely be handlers
      23:54:51  ansible/tasks/templates.yml:2: risky-file-permissions File permissions unset or incorrect
      23:54:51  ansible/tasks/templates.yml:11: risky-file-permissions File permissions unset or incorrect
      23:54:51  You can skip specific rules or tags by adding them to your configuration file:
      
      23:55:05  [Ansible Lint] Successfully parsed console log
      23:55:05  [Ansible Lint] -> found 0 issues (skipped 0 duplicates)
      23:55:05  [Ansible Lint] Skipping post processing
      23:55:05  [Ansible Lint] No filter has been set, publishing all 0 issues
      23:55:05  [Ansible Lint] Repository miner is not configured, skipping repository mining
      23:55:05  [Ansible Lint] Reference build recorder is not configured
      23:55:05  [Ansible Lint] Obtaining reference build from same job (master)
      

      Using ansible lint 4.0 (it works fine)

      23:54:19  + ansible-lint --version
      23:54:19  ansible-lint 4.3.7
      [Pipeline] sh
      23:54:20  + ansible-lint -p ansible
      23:54:21  WARNING  Listing 11 violation(s) that are fatal
      23:54:21  You can skip specific rules or tags by adding them to your configuration file:  
      23:54:21  
      23:54:21  ┌──────────────────────────────────────────────────────────────────────────────┐
      23:54:21  │ # .ansible-lint                                                              │
      23:54:21  │ warn_list:  # or 'skip_list' to silence them completely                      │
      23:54:21  │   - experimental  # all rules tagged as experimental                         │
      23:54:21  └──────────────────────────────────────────────────────────────────────────────┘
      23:54:21  ansible/tasks/core_config.yml:18: [E204] Lines should be no longer than 160 chars
      23:54:21  ansible/tasks/core_config.yml:19: [E204] Lines should be no longer than 160 chars
      23:54:21  ansible/tasks/db_backup.yml:8: [E403] Package installs should not use latest
      23:54:21  ansible/tasks/db_restore.yml:8: [E403] Package installs should not use latest
      23:54:21  ansible/tasks/insert_ldap_user.yml:40: [E204] Lines should be no longer than 160 chars
      23:54:21  ansible/tasks/ssl.yml:82: [E207] Nested jinja pattern
      23:54:21  ansible/tasks/system.yml:20: [E208] File permissions unset or incorrect
      23:54:21  ansible/tasks/system.yml:38: [E503] Tasks that run when changed should likely be handlers
      23:54:21  ansible/tasks/system.yml:43: [E503] Tasks that run when changed should likely be handlers
      23:54:21  ansible/tasks/templates.yml:2: [E208] File permissions unset or incorrect
      23:54:21  ansible/tasks/templates.yml:11: [E208] File permissions unset or incorrect
      
      23:54:36  [Ansible Lint] Successfully parsed console log
      23:54:36  [Ansible Lint] -> found 11 issues (skipped 0 duplicates)
      

      Thanks.

          [JENKINS-65282] ansibleLint() doesn't seems to work with ansible-lint 5.0.* (works on 4.*)

          Ulli Hafner added a comment -

          Yes, seems that the cryptic error code has been replaced with a human readable category or type.

          Ulli Hafner added a comment - Yes, seems that the cryptic error code has been replaced with a human readable category or type.

          Il will try to push a PR this week-end. If I understood correctly the regex mush be adapter to support both format https://github.com/jenkinsci/analysis-model/blob/master/src/main/java/edu/hm/hafner/analysis/parser/AnsibleLintParser.java#L22

          Valentin Delaye added a comment - Il will try to push a PR this week-end. If I understood correctly the regex mush be adapter to support both format https://github.com/jenkinsci/analysis-model/blob/master/src/main/java/edu/hm/hafner/analysis/parser/AnsibleLintParser.java#L22

          Ulli Hafner added a comment -

          Yes, it would be helpful if both formats still will be supported. But it shouldn't be hard to make that part working using an OR operator.

          Ulli Hafner added a comment - Yes, it would be helpful if both formats still will be supported. But it shouldn't be hard to make that part working using an OR operator.

          Valentin Delaye added a comment - PR is here : https://github.com/jenkinsci/analysis-model/pull/597

            jonesbusy Valentin Delaye
            jonesbusy Valentin Delaye
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: