Hi Racke,

Thanks for the tip. But iam wondering if there is any restriction in 
ios_config module that my config line wouldn't work and your config is 
compatable with this module?

Regards,
Vikram

On Wednesday, 17 February, 2021 at 1:41:08 am UTC+5:30 [email protected] 
wrote:

> On 2/16/21 9:42 AM, Vikram S wrote:
> > Hi,
> > 
> > Thanks for your assistance. Please find output for both the playbooks as 
> you requrested:
>
> So if you have "hostname router28" in output.stdout, you can use the 
> following when condition:
>
> when: output.stdout is search('router28$')
>
> This condition is true when the string "router28" is at the end of 
> output.stdout.
>
> Regards
> Racke
>
>
> > 
> > *OUTPUT FOR 1ST PLAYBOOK (WORKING ONE):*
> > TASK [debug]
> > 
> ***************************************************************************************************************************
> > ok: [R1] => {
> >     "output": {
> >         "ansible_facts": {
> >             "discovered_interpreter_python": "/usr/bin/python"
> >         },
> >         "changed": false,
> >         "deprecations": [
> >             {
> >                 "msg": "Distribution Ubuntu 18.04 on host R1 should use 
> /usr/bin/python3, but is using /usr/bin/python
> > for backward compatibility with prior Ansible releases. A future Ansible 
> release will default to using the discovered
> > platform python for this host. See 
> https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html
> > for more information",
> >                 "version": "2.12"
> >             }
> >         ],
> >         *"failed": false,*
> > *        "stdout": [*
> > *            "hostname router28"*
> > *        ],*
> > *        "stdout_lines": [*
> > *            [*
> > *                "hostname router28"*
> > 
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > 
> > *OUTPUT FOR 2ND PLAYBOOK (NON-WORKING ONE):*
> > 
> > PLAY [show hostname]
> > 
> *******************************************************************************************************************
> > 
> > TASK [configure hostname]
> > 
> **************************************************************************************************************
> > [DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host R1 should use 
> /usr/bin/python3, but is using /usr/bin/python
> > for backward
> > compatibility with prior Ansible releases. A future Ansible release will 
> default to using the discovered platform python
> > for this host.
> >  See 
> https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html
>  
> for more information. This
> > feature will be
> > removed in version 2.12. Deprecation warnings can be disabled by setting 
> deprecation_warnings=False in ansible.cfg.
> > changed: [R1]
> > 
> > *TASK [debug]
> > 
> ****************************************************************************************************************************
> > *fatal: [R1]: FAILED! => {"msg": "The conditional check ''router11' in 
> output.stdout[0]' failed. The error was: error
> > while evaluating conditional ('router11' in output.stdout[0]): Unable to 
> look up a name or access an attribute in
> > template string ({% if 'router11' in output.stdout[0] %} True {% else %} 
> False {% endif %}).\nMake sure your variable
> > name does not contain invalid characters like '-': argument of type 
> 'AnsibleUndefined' is not iterable\n\nThe error
> > appears to be in '/root/sample8.yaml': line 15, column 7, but may\nbe 
> elsewhere in the file depending on the exact
> > syntax problem.\n\nThe offending line appears to be:\n\n\n    - 
> debug:\n      ^ here\n"}*
> > 
> > PLAY RECAP
> > 
> *****************************************************************************************************************************
> > R1                         : ok=1    changed=1    unreachable=0    
> failed=1    skipped=0    rescued=0    ignored=0
> > 
> > root@NetworkAutomation-2:~#
> > On Tuesday, 16 February, 2021 at 1:43:58 pm UTC+5:30 [email protected] 
> wrote:
> > 
> > On 2/16/21 9:04 AM, Vikram S wrote:
> > > 1st playbook uses ios_command module and gets executed as intended (to 
> display the output when hostname of device
> > > contains router1).
> > >
> > > However 2nd playbook uses ios_config module and fails when i use the 
> 'when' conditional. Am i do something wrong
> > or is
> > > it that 'when' conditional is not supposed to work with ios_config 
> module?  (please ignore the formatting)
> > >
> > 
> > First of all output.stdout is not a list but a string.
> > 
> > Can you provide sample output?
> > 
> > Regards
> > Racke
> > 
> > > ---
> > >
> > > - name: show hostname
> > >
> > >   hosts: R1
> > >
> > >
> > >   tasks:
> > >
> > >     - name: show hostname
> > >
> > >       ios_command: 
> > >
> > >         commands: "show run | i hostname"
> > >
> > >             
> > >
> > >       register: output
> > >
> > >  
> > >
> > >     - debug:
> > >
> > >         var: output
> > >
> > >       when: "'router1' in output.stdout[0]"
> > >
> > > -------------------------------------------------
> > >
> > > ---
> > >
> > > - name: show hostname
> > >
> > >   hosts: R1
> > >
> > >
> > >   tasks:
> > >
> > >     - name: show hostname
> > >
> > >       ios_config: 
> > >
> > >         lines: 
> > >
> > >           - hostname router1   
> > >
> > >             
> > >
> > >       register: output
> > >
> > >  
> > >
> > >     - debug:
> > >
> > >         var: output
> > >
> > >       when: "'router1' in output.stdout[0]"
> > >
> > > -------------------------------------------------
> > >
> > >
> > > --
> > > 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] <mailto:
> [email protected]>.
> > > To view this discussion on the web visit
> > > 
> https://groups.google.com/d/msgid/ansible-project/8bb51686-7f9a-4c88-8148-b94063103649n%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/8bb51686-7f9a-4c88-8148-b94063103649n%40googlegroups.com
> >
> > >
> > <
> https://groups.google.com/d/msgid/ansible-project/8bb51686-7f9a-4c88-8148-b94063103649n%40googlegroups.com?utm_medium=email&utm_source=footer
> > <
> https://groups.google.com/d/msgid/ansible-project/8bb51686-7f9a-4c88-8148-b94063103649n%40googlegroups.com?utm_medium=email&utm_source=footer
> >>.
> > 
> > 
> > 
> > -- 
> > Ecommerce and Linux consulting + Perl and web application programming.
> > Debian and Sympa administration. Provisioning with Ansible.
> > 
> > -- 
> > 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] <mailto:
> [email protected]>.
> > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/ansible-project/4bc08ea4-622a-4f27-b2cd-f92c588a5030n%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/4bc08ea4-622a-4f27-b2cd-f92c588a5030n%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>
> -- 
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration. Provisioning with Ansible.
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/2bae50e6-13fd-4d49-af89-fb5f9e326999n%40googlegroups.com.

Reply via email to