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.
