Thanks Karol,

I've given that a go. Initially wasn't working because I didn't have the
pexpect module installed but I think I have that sorted with the
following dependencies installed now: epel, pip and pexpect > version 3.3.

I have tried running this task but it just hangs for the entire timeout
duration I have set.

  - name: Setup postcodesiodb
      expect:
        echo: yes
        chdir: "/apps/was/postcodes.io"
        command: npm run setup
        timeout: "10"
        responses:
          Question:
            -
Postgresql Superuser (for database creation) [default':' postgres]:
"postgres"
            -
New Database Username (for readonly access) [default':' postcodesio]:
"postcodesio"
            - Password for new user [default':' secret]: "secret"
            - Postgresql Host [default':' localhost]: "localhost"
            - Database Name [default':' postcodesiodb]: "postcodesiodb"
            - Postgresql Port [default':' 5432]: "5432"
      tags:
        - setup
        - install

I have also tried with no space after the final colon but that then changes
the font to all orange which doesn't seem right. Regardless, i tried it but
the error was still exactly the same as below:


Fatal: [hostname]: FAILED! => {"changed": true, "cmd": "npm run setup",
"delta": "0:02:00.145566", "end": "2020-08-25 21:33:22.107526", "msg":
"command exceeded timeout", "rc": null, "start": "2020-08-25
21:31:21.961960",
...
 "Postgresql Superuser (for database creation) [default: postgres]:"]}

This is the only error logging I have but it's failed at the first input I
am attempting to populate here the postgres Super user. Any ideas how I
need to pass in these answers and or variables if I don't want to hard
code? Currently it looks like it is picking up a corrupt / blank value as
shown by those chatacters in the green section below.
"Postgresql Superuser (for database creation) [default: postgres]:"]}

The wording / syntax of the questions when the script is called is exactly
like this:
Postgresql Superuser (for database creation) [default: postgres]:

Any ideas much appreciated.

Regards,

S



On Mon, Aug 24, 2020 at 5:34 PM Karol Czeryna <czer...@gmail.com> wrote:

> Hi,
>
> I think you can use
> https://docs.ansible.com/ansible/latest/modules/expect_module.html
>
> Best,
> Karol
>
>
> > On 24 Aug 2020, at 5:30 pm, jonin <sebastian.coll...@gmail.com> wrote:
> >
> > Hi,
> >
> > I am looking to automate this task within ansible and have no idea
> really how to do this.
> >
> > I run the set up script manually on the host(s) like this:
> >
> > I call the "setup" script below with npm run options:
> >
> > npm run setup
> >
> > The script then prompts for my user input to provide the following
> details:
> >
> >       • Postgresql Superuser (for database creation) [default:
> postgres]:postgres
> >       • New Database Username (for readonly access) [default:
> postcodesio]:postcodesio
> >       • Password for new user [default: secret]:secret
> >       • Postgresql Host [default: localhost]:localhost
> >       • Database Name [default: postcodesiodb]:postcodesiodb
> >       • Postgresql Port: [default: 5432]:5432
> > Once these have been provided the script completes. Pleas help in
> advising how I can go about automating this in ansible.
> >
> > Thanks
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Ansible Development" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to ansible-devel+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-devel/07433108-d97b-40e6-b86d-be046df06346n%40googlegroups.com
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-devel/CAFqnG01N5H9tuDmmnKNV1iQXwqfJjNp2jHoJ%3DSZhrX-JZ4mKRg%40mail.gmail.com.

Reply via email to