Hi Jason,
Thanks for replying. That's definitely another way of doing it. However,
this is what I am trying.

1. Get the ntp server config from "sh run".
2. Store that to a list
3. Jinja template generates the required config. I am passing the
ntp_server IPs via -e (extra variables).
4. Add the config from 3, compare 3 and 4 and remove the rest.

# tasks file for ansible-ios-ntp
---
- name: Current Edge servers before
ios_command:
commands:
- sh run | include ntp server
register: runconfser

- debug:
var: runconfser

# NTP SECTION - START

- name: Set NTP servers
ios_config:
src: ntprequired.j2
notify: Save Config

- name: Remove the rest NTP Servers
with_items: "{{ runconfser.stdout_lines[0] }}"
when: (item not in {src: 'ntprequired.j2'} and (item!=""))
ios_config:
lines:
- "no {{ item }}"




On Tue, Sep 18, 2018 at 3:22 AM Jonathon Woods <jswoo...@gmail.com> wrote:

> I’m not sure how to make it work how you have laid out. But I would do the
> check in the jinja template anyway. Get your current ntp lines. In the
> jinja template run.
>
> {% for ntp_server in ntp_config_get %}
> {% if ntp_line not in ntp_servers %}
> no ntp server {{ ntp_server }}
> {% ending %}
> {% for ntp_srv in ntp_servers %}
> ntp server {{ ntp_srv }}
> {% endfor %}
>
> If you got the whole line of current ntp servers, you’ll have to parse the
> ips with regex, I’m certain I’ve done something very similar to this
> before. Let me know if you still have issues after trying this.
>
>
>
> On Mon, Sep 17, 2018 at 5:40 PM Krishna N <neup.kr...@gmail.com> wrote:
>
>> Greetings!
>>
>> How to compare when items are not in jinja template loop?
>>
>>     with_items: "{{ runconfser.stdout_lines[0] }}"
>>     when: (item not in {src: 'ntprequired.j2'} and (item!=""))
>>     ios_config:
>>       lines:
>>         - "no {{ item }}"
>>
>> I am using roles.
>>
>> */templates/ntprequired.j2*:
>>
>> {% for ntp_srv in ntp_servers %}
>> ntp server {{ ntp_srv }}
>> {% endfor %}
>>
>>
>> --
>> 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 ansible-project+unsubscr...@googlegroups.com.
>> To post to this group, send email to ansible-project@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/1d64f07a-6be8-483f-8dd7-343ea7ab73dd%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/1d64f07a-6be8-483f-8dd7-343ea7ab73dd%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> Jonathon Woods
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/7kKzc8j7cks/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CAB1Ty_fgx1XtbOC3KU636AsPYcWTdGK4jbfatp8gj_dwJHhzCg%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CAB1Ty_fgx1XtbOC3KU636AsPYcWTdGK4jbfatp8gj_dwJHhzCg%40mail.gmail.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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAJQ1BoZna2fKirk8_nJWH5AA4-Xw1%2BEQUiwvbYqvWNY61pHFKw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to