Thanks for the responses guys, but these are the errors I see -
The full traceback is:
File
"/tmp/ansible_ansible.legacy.command_payload_uk3ys11b/ansible_ansible.legacy.command_payload.zip/ansible/module_utils/basic.py",
line 2050, in run_command
cmd = subprocess.Popen(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
failed: [100.91.187.42] (item=./power_consumption.sh) => {
"ansible_loop_var": "item",
"changed": false,
"cmd": "./power_consumption.sh",
"invocation": {
"module_args": {
"_raw_params": "./power_consumption.sh",
"_uses_shell": false,
"argv": null,
"chdir": "/usr/src/",
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"stdin_add_newline": true,
"strip_empty_ends": true
}
},
"item": "./power_consumption.sh",
"msg": "[Errno 8] Exec format error: b'./power_consumption.sh'",
"rc": 8,
"stderr": "",
"stderr_lines": [],
"stdout": "",
"stdout_lines": []
}
I also create a simple foo.sh and tried to execute it like this, but here
also I get errors -
foo.sh contents -
#!/bin/sh
echo "Hello world"
My TestShell script yml looks like this -
- name: Shell script test
hosts: all
tasks:
- name: Run a shell command and register its output as a variable
ansible.builtin.shell: /usr/src/foo.sh
register: foo_result
ignore_errors: true
- name: Run a shell command using output of the previous task
ansible.builtin.shell: /usr/src/bar.sh
when: foo_result.rc == 5
Output of the above yml gives this error -
fatal: [132.56.197.46]: FAILED! => {
"changed": true,
"cmd": "/usr/src/foo.sh",
"delta": "0:00:00.002043",
"end": "2024-08-21 08:32:06.317505",
"invocation": {
"module_args": {
"_raw_params": "/usr/src/foo.sh",
"_uses_shell": true,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"stdin_add_newline": true,
"strip_empty_ends": true
}
},
"msg": "non-zero return code",
"rc": 127,
"start": "2024-08-21 08:32:06.315462",
"stderr": "/bin/sh: 1: /usr/src/foo.sh: not found",
"stderr_lines": [
"/bin/sh: 1: /usr/src/foo.sh: not found"
],
"stdout": "",
"stdout_lines": []
}
On Mon, Aug 19, 2024 at 5:47 PM [email protected] <[email protected]>
wrote:
>
> Create a var for script i.e.: script_path="/some/path/script" and use that
> instead of hard coding path
> On Sunday, August 18, 2024 at 7:14:58 AM UTC-4 Yogita Patil wrote:
>
>> Hi All,
>>
>> I am simply unable to execute a shell script on the remote host - this is
>> my code (all other tasks run correctly except the execute task)
>>
>> - name: Power consumption test
>> hosts: all
>> tasks:
>>
>> - name: Transfer the script
>> ansible.builtin.copy:
>> src: power_consumption.sh
>> dest: /usr/src/power_consumption.sh
>> mode: '0777'
>>
>> - name: Execute the script
>> # command: ./usr/src/power_consumption.sh
>> command: "{{ item }}"
>> args:
>> chdir: "/usr/src/"
>> with_items:
>> - "./power_consumption.sh"
>> ignore_errors: true
>>
>> - name: Remove shell script from remote server
>> file:
>> path: /usr/src/power_consumption.sh
>> state: absent
>>
>> - name: Copy shell script output from remote server
>> fetch:
>> src: /usr/src/{{ ansible_fqdn }}.txt
>> dest: /usr/src
>> mode: '0777'
>> with_fileglob:
>> _ "*.txt"
>>
>>
>> I have also tried with the shell: , script: sh ways of executing the
>> script and none of them work, can someone tell me what I am doing wrong?
>> TIA.
>>
> --
> 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/8da4e506-2504-4724-b4e9-c1d45c61800dn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/8da4e506-2504-4724-b4e9-c1d45c61800dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
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/CAC15M2K3t7%2BtseL5gi%2BX_nE%3D3JtsBjfHU8rdxO48puT_m%2BgV8A%40mail.gmail.com.