Hi All,

I am trying to do a syntax check on all my .yaml files before running 
ansible-playbook. I am using version 2.0.2.0. However some modules give 
error saying that they are "illegal parameters" in an Ansible play.

I am using  role based system and these "illegal parameters" are in my 
roles/ROLENAME/tasks/main.yaml files. Examples of these parameters are 
fail,register. However the funny thing is that the playbook runs absolutely 
fine. Only when i do ansible-playbook myYAMLFILE.yaml --check do I get 
these errors. Sample errors:

ERROR: fail is not a legal parameter of an Ansible Play

ERROR: register is not a legal parameter of an Ansible Play

Sample playbook:

---

- fail: msg="Please provide a profile name. Profile name can be 
qa|qa2|prod1|prod2|staging"
  when: profile is undefined

- fail: msg="Invalid profile. Profile name can be 
qa|qa2|prod1|prod2|staging "
  when: not((profile == 'qa') or (profile == 'qa2') or (profile == 'prod1') 
or (profile == 'prod2') or (profile == 'prod3') or (profile == 'staging'))

#Extract the file name pointed to by the mwportal link
- name: Get file name of the war file to deploy
  local_action: shell readlink -f {{local_repo}}apiserver
  register: res

- set_fact:
    war_file_dir_absolute_path="{{remote_repo}}{{ 
res.stdout.split('/')[-1].split('.')[0] }}"
    war_file_dir_basename="{{ res.stdout.split('/')[-1].split('.')[0] }}"

- debug: msg="{{war_file_dir_absolute_path}}"

- name: create a dir to unzip war file
  file: name={{war_file_dir_absolute_path}} state=directory

- name: Unzip the war file
  unarchive: src={{local_repo}}apiserver dest={{war_file_dir_absolute_path}}


#Copy the profiles from the WEB-INF/classes/profiles/XX directory to 
WEB-INF/classes
- name: Copy properties files to WEB-INF/classes
  shell: cp {{war_file_dir_absolute_path}}/WEB-INF/classes/{{profile}}/* 
{{war_file_dir_absolute_path}}/WEB-INF/classes/

- name: Ensure there are no residual folders from previus failed 
installation
  command: rm -rf /usr/local/{{war_file_dir_basename}}-{{profile}}
  #notify:
    #- Restart Tomcat7

- name: Move the war file to /usr/local
  command: mv {{war_file_dir_absolute_path}} 
/usr/local/{{war_file_dir_basename}}-{{profile}}
  # notify:
  #   - Restart Tomcat7

- name: Create a symlink
  file: name=/usr/local/apiserver src={{war_file_dir_basename}}-{{profile}} 
state=link force=yes
  # notify:
  #   - Restart Tomcat7

- name: Restart tomcat
  service: name=tomcat7 state=restarted

...

Am I doing something wrong here? If check is not the correct way to check 
the correctness of YAML config then what is?

Thank you.

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/c5d32881-ca15-40ac-87cd-1818b9a6d460%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to