If I delete these two lines
       async: 1200
       poll: 10
it works! But I would like to start the task on all of the servers at once 
which needs async, right? 

jojebo schrieb am Mittwoch, 13. September 2023 um 14:10:37 UTC+2:

> I removed the ssh arguments → “the input device is not a TTY”
> I set usetty to true → “the input device is not a TTY”
> ssh -t test2@* dest ip ** “source toolrc && tool” → works
> So it is basically possible to run the script via ssh with the -t 
> argument. 
>
> jojebo schrieb am Donnerstag, 7. September 2023 um 15:44:28 UTC+2:
>
>> Hi everyone,
>>
>> I’m fairly new to ansible and I stumbled across a problem which I’m 
>> unable to solve.
>>
>> *Problem*
>> It occurs when I try to run a playbook that should execute two commands 
>> (proprietary sw).
>> The error is either “the input device is not a TTY” or it just hangs with 
>> python indend errors depending on the -t or -tt flag for ssh.
>>
>> *Hosts file*
>> [SERVERS] server
>> ansible_host=** dest ip **
>> [SERVERS:vars]
>> ansible_user = test2 ansible_port = 22
>> ansible_private_key_file = ~/.ssh/id_rsa
>> ansible_ssh_common_args='-tt -o ServerAliveInterval=30 -o 
>> ServerAliveCountMax=60' 
>>
>> *Playbook*
>> ---
>> - name: test hosts: SERVERS
>>   vars: logfile: "/home/test/reports/{{inventory_hostname}}_
>> {{ansible_date_time.date}}_{{ansible_date_time.hour}}-
>> {{ansible_date_time.minute}}.log" loghost: "localhost" jumphost: "**src 
>> ip**"
>>    tasks:
>>      - name: ice tool
>>        shell: . ~/toolrc && tool
>>        async: 1200
>>        poll: 10
>>        register: output
>>      - debug: var=output.stdout_lines
>>      - name:
>>        find logs find:
>>          paths: "/home/test2/"
>>          patterns: "*2023-09*.log"
>>        register: files_to_fetch
>>      - name: fetch logs
>>        fetch:
>>          src: "{{ item.path }}"
>>          dest: "/home/test/reports/{{inventory_hostname}}/"
>>          flat: yes
>>        with_items: "{{ files_to_fetch.files }}" 
>>
>> I turned the debug output on.
>> ansible.cfg shows #usetty = True
>>
>> *Ouput*
>> Example withou -tt in the ansible_ssh_common_args
>> 1603371 1693992535.99884: attempt loop complete, returning result 1603371 
>> 1693992535.99896: _execute() done 1603371 1693992535.99898: dumping 
>> result to json 1603371 1693992535.99902: done dumping result, returning 
>> 1603371 1693992535.99913: done running TaskExecutor() for server/TASK: 
>> tool [005056bd-514d-af4f-7949-000000000009] 1603371 1693992535.99927: 
>> sending task result for task 005056bd-514d-af4f-7949-000000000009 
>> 1603371 1693992535.99979: done sending task result for task 
>> 005056bd-514d-af4f-7949-000000000009 1603371 1693992536.00018: WORKER 
>> PROCESS EXITING changed: [server] => { "ansible_job_id": 
>> "452358306988.608654", "changed": true, "cmd": ". ~/toolrc && tool;", 
>> "delta": "0:00:01.791007", "end": "2023-09-06 11:28:47.296398", 
>> "finished": 1, "invocation": { "module_args": { "_raw_params": ". 
>> ~/toolrc && tool;", "_uses_shell": true, "argv": null, "chdir": null, 
>> "creates": null, "executable": null, "removes": null, "stdin": null, 
>> "stdin_add_newline": true, "strip_empty_ends": true, "warn": true } }, 
>> "rc": 0, "start": "2023-09-06 11:28:45.505391", "stderr": "the input 
>> device is not a TTY", "stderr_lines": [ "the input device is not a TTY" 
>> ], "stdout": "", "stdout_lines": [] } 
>>
>> Example with -t in the ansible_ssh_common_args
>> 1605471 1693992665.10629: attempt loop complete, returning result 1605471 
>> 1693992665.10642: _execute() done 1605471 1693992665.10644: dumping 
>> result to json 1605471 1693992665.10647: done dumping result, returning 
>> 1605471 1693992665.10659: done running TaskExecutor() for server/TASK: 
>> tool [005056bd-514d-4bf1-ae78-000000000009] 1605471 1693992665.10671: 
>> sending task result for task 005056bd-514d-4bf1-ae78-000000000009 
>> 1605471 1693992665.10715: done sending task result for task 
>> 005056bd-514d-4bf1-ae78-000000000009 1605471 1693992665.10753: WORKER 
>> PROCESS EXITING changed: [server] => { "ansible_job_id": 
>> "359810881181.622306", "changed": true, "cmd": ". ~/toolrc && tool;", 
>> "delta": "0:00:01.693101", "end": "2023-09-06 11:30:56.355022", 
>> "finished": 1, "invocation": { "module_args": { "_raw_params": ". 
>> ~/toolrc && tool;", "_uses_shell": true, "argv": null, "chdir": null, 
>> "creates": null, "executable": null, "removes": null, "stdin": null, 
>> "stdin_add_newline": true, "strip_empty_ends": true, "warn": true } }, 
>> "rc": 0, "start": "2023-09-06 11:30:54.661921", "stderr": "the input 
>> device is not a TTY", "stderr_lines": [ "the input device is not a TTY" 
>> ], "stdout": "", "stdout_lines": [] } 
>>
>> Example with -tt in the ansible_ssh_common_args
>> 1607836 1693992806.87791: stdout chunk (state=3): >>>Python 2.7.5 
>> (default, Oct 14 2020, 14:45:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on 
>> linux2 Type "help", "copyright", "credits" or "license" for more 
>> information. <<< 1607836 1693992806.88345: stdout chunk (state=3): 
>> >>>ESC[?1034h>>> ... ... >>> ... ... >>> >>> >>> >>> <<< 1607836 
>> 1693992806.89308: stdout chunk (state=3): >>>>>> >>> >>> >>> >>> >>> ... 
>> ... ... ... ... >>> File "<stdin>", line 1 return content ^ 
>> IndentationError: unexpected indent >>> >>> >>> ... ... >>> File 
>> "<stdin>", line 1 if hasattr(platform, 'dist'): ^ IndentationError: 
>> unexpected indent >>> File "<stdin>", line 1 result[
>> 'platform_dist_result'] = platform.dist() ^ IndentationError: unexpected 
>> indent >>> >>> File "<stdin>", line 1 osrelease_content = read_utf8_file(
>> '/etc/os-release') ^ IndentationError: unexpected indent >>> ... File 
>> "<stdin>", line 2 if not osrelease_content: ^ IndentationError: 
>> unexpected indent >>> File "<stdin>", line 1 osrelease_content = 
>> read_utf8_file('/usr/lib/os-release') ^ IndentationError: unexpected 
>> indent >>> >>> File "<stdin>", line 1 result['osrelease_content'] = 
>> osrelease_content ^ IndentationError: unexpected indent >>> >>> File 
>> "<stdin>", line 1 return result ^ IndentationError: unexpected indent 
>> >>> >>> >>> ... ... >>> File "<stdin>", line 1 print(json.dumps(info)) ^ 
>> IndentationError: unexpected indent >>> >>> >>> ... ... <<< 1607836 
>> 1693992881.03244: _low_level_execute_command(): starting 1607836 
>> 1693992881.03257: _low_level_execute_command(): executing: /bin/sh -c 'rm 
>> -f -r 
>> /home/test2/.ansible/tmp/ansible-tmp-1693992806.503195-1607836-118059838868414/
>>  
>> > /dev/null 2>&1 && sleep 0' <** dest ip **> ESTABLISH SSH CONNECTION 
>> FOR USER: test2 <** dest ip **> SSH: ansible.cfg set ssh_args: 
>> (-C)(-o)(ControlMaster=auto)(-o)(ControlPersist=60s) <** dest ip **> SSH: 
>> ANSIBLE_REMOTE_PORT/remote_port/ansible_port set: (-o)(Port=22) <** dest 
>> ip **> SSH: 
>> ANSIBLE_PRIVATE_KEY_FILE/private_key_file/ansible_ssh_private_key_file 
>> set: (-o)(IdentityFile="/home/test/.ssh/id_rsa") <** dest ip **> SSH: 
>> ansible_password/ansible_ssh_password not set: 
>> (-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
>>  
>> <** dest ip **> SSH: ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u 
>> set: (-o)(User="test2") 1607829 1693992881.03295: RUNNING CLEANUP <** 
>> dest ip **> SSH: ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10) 
>>
>> Is it really about the -tt attribute?
>> Or is there a python issue?
>>
>> I might get beaten by this but I recall that it worked a few weeks before 
>> when I tried it but now it doesn’t anymore. No one touched the servers in 
>> the meantime.
>>
>> After the script part worked I started to comment it and try to get the 
>> file copy part working. I guess I edited it to often.
>>
>> “tool” runs perfectly fine when started directly on the destination. 
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/9cb8ab6f-7450-4817-b772-b1ef229ca01fn%40googlegroups.com.

Reply via email to