Hi For substring comparisons, I use the ‘in’ keyword like this:
- name: Get timezone info shell: date register: zoneinfo changed_when: no - name: If timezone is not CST then remove /etc/localtime and call set timezone handler file: path=/etc/localtime state=absent when: '"CST" in zoneinfo.stdout' notify: set timezone The entire conditional is quoted in order to conform to yaml syntax. You could also add changed_when: no to the first task that runs date, so that Ansible doesn’t report it as a changed task. In this case, I would probably use a task rather than a handler for ‘set timezone’ - should your playbook run fail, the handler will not be invoked and the timezone will not get configured. Regards Tom On 30 December 2014 at 22:22, <[email protected]> wrote: > Hello everyone! > > Conditionals seem to be very difficult to get right for some reason so I > am hoping someone can explain why the following doesn't seem to work. Or > show me the way. :) > > I am simply trying to check the current timezone of the server and if it > doesn't match CST then run a handler to update it. Here's the code: > - name: Get timezone info > shell: date > register: zoneinfo > > Then just to make sure I have the right data I use debug to print the > zoneinfo var I just registered: > - name: Print zoneinfo for debug > debug: var="zoneinfo.stdout" > > This outputs: > TASK: [common | Print zoneinfo for debug] > ************************************* > ok: [10.10.10.10] => { > "zoneinfo.stdout": "Tue Dec 30 14:11:03 CST 2014" > } > > Referring to the Ansible docs I can use something like when: > zoneinfo.stdout.find('CST') != 1 but no matter what I try I can't get it to > work. > > I have tried the following: > > - name: If timezone is not CST then remove /etc/localtime and call set > timezone handler > file: path=/etc/localtime state=absent > when: zoneinfo.stdout.find('CST') != 1 > notify: > - set timezone > > I have tried not true. Is not. == 1 == 0 and several other options but > its not working. > > Any suggestions? > > Thanks! > > -- > 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/1c7a5e23-6375-4136-9b75-38777dbf1e41%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/1c7a5e23-6375-4136-9b75-38777dbf1e41%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CAAnNz0M3oPZ4TYuNMRDsEQmoA42o%2BuVWQZYVjL-Kq_rAYzXj-w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
