Even when a broken playbook or a broken yaml file is includes as role it 
validates as correct with 1.4.

Op vrijdag 27 december 2013 08:16:26 UTC+1 schreef TextEditor:
>
> 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
>> [email protected]
>>
>> On December 26, 2013 at 5:50:45 PM, TextEditor ([email protected]) 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 [email protected].
>> To post to this group, send email to [email protected].
>> 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 [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to