Hi,

I am new to ansible and try to automate the installation process of elastic 
stack. Currently I am stuck while trying to add a key to kibana's keystore.

Directly from bash (no ansible) the following works:

bash-4.2$ echo bla | /usr/share/kibana/bin/kibana-keystore add test25
Enter value for test25: bla
                        bash-4.2$
The value is taken from stdin.
We can see that the key test25 has been added to keystore.

bash-4.2$ /usr/share/kibana/bin/kibana-keystore list
test25
bash-4.2$


When I try the following in ansible, I get following error:
fatal: [myserver]: FAILED! => {
    "changed": true,
    "cmd": "bash -lc 'echo bla | /usr/share/kibana/bin/kibana-keystore add 
test26'",
    "delta": "0:00:00.407170",
    "end": "2019-12-17 11:32:36.231715",
    "invocation": {
        "module_args": {
            "_raw_params": "bash -lc 'echo bla | 
/usr/share/kibana/bin/kibana-keystore add test26'",
            "_uses_shell": true,
            "chdir": null,
            "creates": null,
            "executable": null,
            "removes": null,
            "stdin": "bla",
            "warn": true
        }
    },
    "msg": "non-zero return code",
    "rc": 1,
    "start": "2019-12-17 11:32:35.824545",
    "stderr": "/usr/share/kibana/src/legacy/server/utils/prompt.js:87\n    
        output.cursorTo(questionPrompt.length);\n                  
 ^\n\nTypeError: output.cursorTo is not a function\n    at 
Socket.input.on.char 
(/usr/share/kibana/src/legacy/server/utils/prompt.js:87:20)\n    at 
Socket.emit (events.js:194:15)\n    at addChunk 
(_stream_readable.js:284:12)\n    at readableAddChunk 
(_stream_readable.js:265:11)\n    at Socket.Readable.push 
(_stream_readable.js:220:10)\n    at Pipe.onStreamRead [as onread] 
(internal/stream_base_commons.js:94:17)",
    "stderr_lines": [
        "/usr/share/kibana/src/legacy/server/utils/prompt.js:87",
        "            *output.cursorTo*(questionPrompt.length);",
        "                   ^",
        "",
        "TypeError: output.cursorTo is not a function",
        "    at Socket.input.on.char 
(/usr/share/kibana/src/legacy/server/utils/prompt.js:87:20)",
        "    at Socket.emit (events.js:194:15)",
        "    at addChunk (_stream_readable.js:284:12)",
        "    at readableAddChunk (_stream_readable.js:265:11)",
        "    at Socket.Readable.push (_stream_readable.js:220:10)",
        "    at Pipe.onStreamRead [as onread] 
(internal/stream_base_commons.js:94:17)"
    ],
    "stdout": "Enter value for test26: ",
    "stdout_lines": [
        "Enter value for test26: "
    ]
}


I also tired using expect module as workaround (although I would like to 
avoid to install epel, pip, pexpect, etc. on the target machine just for 
running ansible):

- name: keystore - add elasticsearch.password
      expect:
        command: "./kibana-keystore add test28"
        chdir: "/usr/share/kibana/bin"
        responses:
          '.*value.*': "{{ CRED_KIBANA_PW }}"
        timeout: 10


Here I get this error in ansible:
fatal: [myserver]: FAILED! => {
    "changed": true,
    "cmd": "./kibana-keystore add test28",
    "delta": "0:00:10.528739",
    "end": "2019-12-17 11:32:49.123846",
    "invocation": {
        "module_args": {
            "chdir": "/usr/share/kibana/bin",
            "command": "./kibana-keystore add test28",
            "creates": null,
            "echo": false,
            "removes": null,
            "responses": {
                ".*value.*": "blubber"
            },
            "timeout": 10
        }
    },
    "msg": "command exceeded timeout",
    "rc": null,
    "start": "2019-12-17 11:32:38.595107",
    "stdout": "\u001b[1G\u001b[0JEnter value for test28: 
\u001b[25Gblubber\r\r\n\u001b[25G",
    "stdout_lines": [
        "\u001b[1G\u001b[0JEnter value for test28: \u001b[25Gblubber",
        "",
        "\u001b[25G"
    ]
}


Any idea where the error is?

Thanks, Andreas

-- 
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/60dc7a24-fef8-4c3e-bb5e-58022b9b894d%40googlegroups.com.

Reply via email to