OK. Yet again, thanks for the help. Op vrijdag 27 december 2013 19:52:03 UTC+1 schreef Michael DeHaan: > > Doesn't matter as it is for playbooks. > > -- Michael > > On Dec 27, 2013, at 1:35 PM, TextEditor <[email protected] <javascript:>> > 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 <[email protected]> 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 >>> [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. >> >> -- > 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] <javascript:>. > To post to this group, send email to [email protected]<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 [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
