Your responses is now a dict which cannot have the same key more than once.
So the second BASE question isn't going to work.
Try turning it into a list.
See
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/expect_module.html#examples




On Wed, 30 Nov 2022 at 02:03, phillip.from.oz <[email protected]>
wrote:

> Hi,
> I want to run a program on a remote server where after login, the program
> will ask for more input using the same prompt.
>
> This is the basic flow:
> Read Username
> Read Password
> Read commands <- these get echoed back
> until 'h' or 'H' is entered
>
> This is a sample run of the program
> BASE:/home# python3 converse2.py
> Welcome to BASE
>    My configuration is up to date
>    Print settings are normal
>  Username: sq
>  Password: SoLong>
> BASE>w abc
> w abc
> BASE>h
>
> I run the same program using Ansible Expect with this playbook:
> ---
> - name: Test a conversation
>    hosts: BASE
>    remote_user: root
>    gather_facts: false
>    tasks:
>     - name: Copy script converse2.py
>       copy: src=/home/converse2.py
>                  dest=/home/converse2.py
>                  remote_src=no
>                  mode=preserve
>     - name: Run test session
>       expect:
>          echo: yes
>          chdir: /tmp
>          command: python3 /home/converse2.py
>          timeout: "300"
>          responses:
>              Username: sq
>              Password: "SoLong>"
>              BASE\>: w ##Class(websys).test()
>              BASE\>: H
>      register: command_output
>     - debug:
>           msg: "{{ command_output.stdout.split('\n') }}"
>
> However Ansible Expect is not sending 'w ##Class(websys).test()' to the
> program
>
> This is the run:
> ansible-playbook /home/ansible_playbooks/test-converse2.yml
> [WARNING]: While constructing a mapping from
> /home/ansible_playbooks/test-converse2.yml, line 20, column 9, found a
> duplicate dict key (BASE\>). Using last defined value only.
>
> PLAY [Test a conversation]
> ****************************************************************************************************************************************************
>
> TASK [Copy script converse2.py]
> ***********************************************************************************************************************************************
> ok: [TRAK-BASE01]
>
> TASK [Run test session]
> ********************************************************************************************************************************************************
> changed: [TRAK-BASE01]
>
> TASK [debug]
> ********************************************************************************************************************************************************************
> ok: [TRAK-BASE01] => {
>     "msg": [
>         "\r",
>         "Welcome to BASE\r",
>         "   My configuration is up to date\r",
>         "   Print settings are normal\r",
>         "\r",
>         "\r",
>         "Username: sq\r",
>         "Password: SoLong>\r",
>         "BASE>H"
>     ]
> }
>
> PLAY RECAP
> ************************************************************************************************************************************************************************
> TRAK-BASE01                : ok=3    changed=1    unreachable=0
>  failed=0    skipped=0    rescued=0    ignored=0
>
> How do I fix this?
>
> --
> 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/38895202-0733-4df4-8d11-1c661128f3f7n%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/38895202-0733-4df4-8d11-1c661128f3f7n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
-- 
Sent from Gmail Mobile

-- 
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/CAF8BbLbthGzGi%3DOb7BJNbTgknvF9nU6sH8LJ44CaaZn9fDjNZQ%40mail.gmail.com.

Reply via email to