Thanks a Lot.

  What I  did is   ,indent the lines  as in the exact examples  of per  the 
examples of modules  yum, copy and  uri  and it worked .
  This program is an  example  given for me to learn block and I continue 
with that . when I learn block completely , I will do the changes as you 
suggested.

 So , was indent was the only  problem I had?
if so , the service module indent is  not  the exact one in my  program  
but still it works ?

[student@mgmvm1 ~]$ cat test.yml
> ---
> - name: intranet services
>   hosts: ctlvm.example.com
>   become: yes
>   tasks:
>   - block:
>       - name: latest httpd version installed
>         yum:
>           name: httpd
>           state: latest
>
>       - name: latest firewalld version is installed
>         yum:
>           name: firewalld
>           state: latest
>   - block:
>       - name: firewalld permits http service
>         firewalld:
>          service: http
>          permanent: yes
>          state: enabled
>          immediate: yes
>   - block:
>       - name: httpd enabled and running
>         service:
>           name: httpd
>           enabled: yes
>           state: started
>       - name: firewalld is enabled and running
>         service:
>           name: firewalld
>           enabled: yes
>           state: started
>   - block:
>       - name: test html page
>         copy:
>           content: "Welcome to the example.com intranet!\n"
>           dest: /var/www/html/index.html
> - name: test
>   hosts: localhost
>   tasks:
>       - name: connect to intranet
>         uri:
>           url: http://ctlvm.example.com
>           status_code: 200
> [student@mgmvm1 ~]$ ansible-playbook --syntax-check test.yml
> playbook: test.yml
> [student@mgmvm1 ~]$





I  am  assuming that I will follow the below steps of   yaml writing  .  
Will it be ok?



write yaml with exact syntax
indent as exactly as given(example) in each module
 validate the yaml format
validate the ansible format.






On Sunday, November 12, 2017 at 4:44:30 AM UTC+5:30, Veera wrote:
>
> Hi all,
>
> I am new to Ansible learning  and I   start practicing  yaml playbook 
> writings. 
> Though I am able to have a program with  correct indent, ansible-playbook  
> still pointing errors. I have no programming experience than bash scripting.
>
> Could someone highlight, what I am missing.
> Any  guidance to  do a search here before posting   will be much 
> appreciated.
>
> Thanks
>
>
>
> [student@mgmvm1 ~]$ ansible --version
> ansible 2.3.1.0
>   config file = /home/student/ansible.cfg
>   configured module search path = Default w/o overrides
>   python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 
> 20150623 (Red Hat 4.8.5-11)]
> [student@mgmvm1 ~]$ python -c 'import yaml, sys; print 
> yaml.load(sys.stdin)' < test.yml
> [{'become': True, 'tasks': [{'block': [{'state': 'latest', 'yum': None, 
> 'name': 'httpd'}, {'state': 'latest', 'yum': None, 'name': 'firewalld'}]}, 
> {'block': [{'state': 'enabled', 'permanent': True, 'name': 'firewalld 
> permits http service', 'service': 'http', 'firewalld': None, 'immediate': 
> True}]}, {'block': [{'state': 'started', 'enabled': True, 'name': 'httpd', 
> 'service': None}, {'state': 'started', 'enabled': True, 'name': 
> 'firewalld', 'service': None}]}, {'block': [{'content': 'Welcome to the 
> example.com intranet!\n', 'dest': '/var/www/html/index.html', 'copy': None
> , 'name': 'test html page'}]}], 'hosts': 'ctlvm.example.com', 'name': 
> 'intranet 
> services'}, {'tasks': [{'url': 'http://ctlvm.example.com', 'status_code': 
> 200, 'name': 'connect to intranet', 'uri': None}], 'hosts': 'localhost', 
> 'name': 'test'}]
> [student@mgmvm1 ~]$ ansible-playbook --syntax-check test.yml
>  [WARNING]: While constructing a mapping from /home/student/test.yml, 
> line 7, column 9, found a duplicate dict key (name).
> Using last defined value only.
>
>
>  [WARNING]: While constructing a mapping from /home/student/test.yml, 
> line 13, column 9, found a duplicate dict key (name).
> Using last defined value only.
>
>
>  [WARNING]: While constructing a mapping from /home/student/test.yml, 
> line 28, column 9, found a duplicate dict key (name).
> Using last defined value only.
>
>
>  [WARNING]: While constructing a mapping from /home/student/test.yml, 
> line 34, column 9, found a duplicate dict key (name).
> Using last defined value only.
>
>
> ERROR! 'state' is not a valid attribute for a Task
>
>
> The error appears to have been in '/home/student/test.yml': line 7, 
> column 9, but may
> be elsewhere in the file depending on the exact syntax problem.
>
>
> The offending line appears to be:
>
>
>   - block:
>       - name: latest httpd version installed
>         ^ here
>
>
> [student@mgmvm1 ~]$ cat test.yml
> ---
> - name: intranet services
>   hosts: ctlvm.example.com
>   become: yes
>   tasks:
>   - block:
>       - name: latest httpd version installed
>         yum:
>         name: httpd
>         state: latest
>
>
>
>
>       - name: latest firewalld version is present
>         yum:
>         name: firewalld
>         state: latest
>
>
>   - block:
>
>
>       - name: firewalld permits http service
>         firewalld:
>         service: http
>         permanent: yes
>         state: enabled
>         immediate: yes
>
>
>   - block:
>       - name: httpd enabled and running
>         service:
>         name: httpd
>         enabled: yes
>         state: started
>
>
>       - name: firewalld is enabled and running
>         service:
>         name: firewalld
>         enabled: yes
>         state: started
>
>
>   - block:
>       - name: test html page
>         copy:
>         content: "Welcome to the example.com intranet!\n"
>         dest: /var/www/html/index.html
>
>
> - name: test
>   hosts: localhost
>   tasks:
>    - name: connect to intranet
>      uri:
>      url: http://ctlvm.example.com
>      status_code: 200
> [student@mgmvm1 ~]$
>
>

-- 
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/a493fbfe-3be8-493b-8c97-beabd80aae3d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to