Doesn't matter as it is for playbooks.

-- Michael

On Dec 27, 2013, at 1:35 PM, TextEditor <rels...@gmail.com> wrote:

Seems logical. Can you maybe explain why it worked in 1.3 on task files?

Op vrijdag 27 december 2013 15:21:58 UTC+1 schreef Michael DeHaan:
>
> This command is only intended for running on the top level playbook.  It
> is not intended for running directly on task files which are by definition
> not playbooks.
>
> -- Michael
>
> On Dec 27, 2013, at 2:16 AM, TextEditor <rel...@gmail.com <javascript:>>
> wrote:
>
> It is run on the YAML files because when run on just the playbook which
> includes the roles it does not check the includes roles.
>
> And, as also can be seen in the ticket, checking of all the YAML files
> with Ansible 1.3 did work just fine.
>
>
> Op vrijdag 27 december 2013 02:23:52 UTC+1 schreef Matt Martz:
>>
>> I believe the issue is that you are running a --syntax-check against
>> something that is not a playbook.  The error message actually states that
>> as well:
>>
>> "ERROR: apt is not a legal parameter in an Ansible Playbook”
>>
>> And that is a correct error, as ‘apt’ is not a legal parameter in a
>> playbook.
>>
>> From the looks of things, you are running --syntax-check against yaml
>> files from a role.
>>
>> The syntax of a playbook and a role are inherently different.
>>
>> When you do a --syntax-check on a playbook, it will run through the
>> entirety of the playbook, all includes, etc…and return the status of the
>> full syntax check.
>>
>> Is there a reason you are attempting to run it on all yaml files and not
>> just running it on your playbooks?  Seems like you are taking some
>> unnecessary steps.
>> --
>> Matt Martz
>> ma...@sivel.net
>>
>> On December 26, 2013 at 5:50:45 PM, TextEditor (rel...@gmail.com) wrote:
>>
>>  Since my bug report is ignored and closed I'm asking for support here.
>> Since the upgrade to Ansible 1.4 the --syntax-check feature broke when used
>> with role files.
>>
>> This is the ticket: https://github.com/ansible/ansible/issues/5412
>>
>> --syntax-check fails on 1.4.with ERROR: MODULE is not a legal parameter
>> in an Ansible Playbook
>>
>> The --syntax-check option does not work for me. Ansible 1.4.3, installed
>> via pip on OS X 10.9.
>>
>> Basic playbook which consists out of a few roles:
>>
>> # cat ./playbooks/default-vps-setup.yml
>> ---
>> - hosts: local
>>   user: remy
>>   connection: ssh # or paramiko
>>
>>   roles:
>>     - { role: basic-debian-setup, sudo: yes }
>>     - { role: git-setup }
>>     - { role: vim }
>>     - { role: bash }
>>     - { role: screen }
>>     - { role: openssh, sudo: yes }
>>     - { role: fail2ban, sudo: yes }
>>     - { role: sudo, sudo: yes }
>>     - { role: postfix, sudo: yes }
>>     - { role: vnstat, sudo: yes }
>>
>> Specific role:
>>
>> # cat playbooks/roles/vim/tasks/main.yml
>> ---
>> - apt: pkg=vim-tiny state=latest update_cache=yes
>>   sudo: yes
>>
>> - file: path=/home/{{ user }}/.vimrc src=/home/{{ user }}/conf/vimrc
>> state=link owner={{ user }} force=yes
>>   sudo: no
>>
>> The command fails: ansible-playbook --syntax-check -i tests/ansible_hosts
>> ./playbooks/roles/vim/tasks/main.yml
>>
>> Result:
>>
>> playbook: ./playbooks/roles/vim/tasks/main.yml
>>
>> ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>> When manually setting the Library path it also fails:
>>
>> ANSIBLE_LIBRARY=/usr/share/ansible/ ansible-playbook --syntax-check -i
>> tests/ansible_hosts ./playbooks/roles/vim/tasks/main.yml
>>
>> playbook: ./playbooks/roles/vim/tasks/main.yml
>>
>> ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>> When checking the playbook which includes the roles it always works, even
>> when the included roles do not exist or are syntaxically incorrect.
>>
>> This worked on Ansible 1.3. (checking the individual files).
>>
>> I noticed this because my CI started bombarding me with emails. (It
>> checks my ansible repository with this command: find ./playbooks/roles
>> -name '*.yml' -not -path './roles/*/files/*' | xargs -t -n1
>> ansible-playbook --syntax-check -i tests/ansible_hosts.)
>>
>>
>> This was a clean install of Ansible to test. On a new VM with 1.3 it
>> works, a new VM with 1.4 fails.
>>
>> And it is not just the APT module, it is every module. See the full
>> output here:
>>
>>      find ./playbooks -name '*.yml' -not -path './playbooks/group_vars/*'
>> -not -path './playbooks/roles/*/files/*' | xargs -n1 ansible-playbook
>> --syntax-check -i tests/ansible_hosts
>>
>>     playbook: ./playbooks/debug.yml
>>
>>
>>
>>     playbook: ./playbooks/default-vps-setup.yml
>>
>>
>>
>>     playbook: ./playbooks/nginx-vps-for-raymii.org.yml
>>
>>
>>
>>     playbook: ./playbooks/roles/bash/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/basic-debian-setup/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/debug/tasks/main.yml
>>
>>     ERROR: register is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/fail2ban/handlers/main.yml
>>
>>     ERROR: service is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/fail2ban/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>     ERROR: parse error: playbooks must be formatted as a YAML list
>>
>>     playbook: ./playbooks/roles/git-setup/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/nginx/handlers/main.yml
>>
>>     ERROR: service is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/nginx/tasks/main.yml
>>
>>     ERROR: template is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/openssh/handlers/main.yml
>>
>>     ERROR: service is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/openssh/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>     ERROR: parse error: playbooks must be formatted as a YAML list
>>
>>     playbook: ./playbooks/roles/postfix/handlers/main.yml
>>
>>     ERROR: service is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/postfix/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/screen/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/sudo/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/vim/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/vnstat/handlers/main.yml
>>
>>     ERROR: action is not a legal parameter in an Ansible Playbook
>>
>>     playbook: ./playbooks/roles/vnstat/tasks/main.yml
>>
>>     ERROR: apt is not a legal parameter in an Ansible Playbook
>>
>>
>> On a  fresh install of Ansible 1.3 it all works, on a fresh install (both
>> in new clean VM's) of 1.4 it fails.
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to ansible-proje...@googlegroups.com.
>> To post to this group, send email to ansible...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ansible-proje...@googlegroups.com <javascript:>.
> To post to this group, send email to ansible...@googlegroups.com<javascript:>
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>
>  --
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to