On 10/02/2022 14:48, SysAdmin EM wrote:
Hello,
I’m trying to run a playbook which executes a shell script in a remote instance.

Playbook
---
- name: Test SH
   hosts: schedule-dev
   become: yes
   gather_facts: no
   tasks:
     - name: Test Shell Ansible
       shell: |
         sh create_partition_db.sh {{ carrier }}
       args:
         chdir: /opt/app/automation
         executable: /bin/bash
       register: output
     - name: ouput
       debug:
         var: output.stdout
The value of the variable {{ carrier }} is sent through the command line:

ansible-playbook -i hosts-dev --extra-vars "carrier=dev" playbook/step-2.yaml

When I run the playbook I see this error:

fatal: [schedule01-dev]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "cmd": "sh create_partition_db.sh 00CN\n", "delta": "0:00:00.003453", "end": "2022-02-10 13:27:23.244718", "msg": "non-zero return code", "rc": 2, "start": "2022-02-10 13:27:23.241265", "stderr": "create_partition_db.sh: 3: create_partition_db.sh: source: not found\ncreate_partition_db.sh: 4: create_partition_db.sh: source: not found\ncreate_partition_db.sh: 6: create_partition_db.sh: get_partitions: not found\ncreate_partition_db.sh: 8: create_partition_db.sh: function: not found\ncreate_partition_db.sh: 34: create_partition_db.sh: Syntax error: \"}\" unexpected", "stderr_lines": ["create_partition_db.sh: 3: create_partition_db.sh: source: not found", "create_partition_db.sh: 4: create_partition_db.sh: source: not found", "create_partition_db.sh: 6: create_partition_db.sh: get_partitions: not found", "create_partition_db.sh: 8: create_partition_db.sh: function: not found", "create_partition_db.sh: 34: create_partition_db.sh: Syntax error: \"}\" unexpected"], "stdout": "", "stdout_lines": []}

PLAY RECAP 
*****************************************************************************************************************************************
schedule01-dev             : ok=0    changed=0    unreachable=0    failed=1    
skipped=0    rescued=0    ignored=0
When I run the script from the instance I don’t see any errors, I think it has 
to do with the fact that in the script I use the source command to call other 
files:

#!/bin/bash

source config-dev.cfg
source functions.sh


Any sugestion?

Looks like the default shell on the target doesn't know about "source". Use "." 
instead or force the usage of bash with:

  executable: "/bin/bash"

in your shell task.

Regards
       Racke


--
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] 
<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAGUDtn%3DHeuyr5kyXPYODJKCvn06d6QhmMne9USsxWxD%3D8O%2B-zw%40mail.gmail.com
 
<https://groups.google.com/d/msgid/ansible-project/CAGUDtn%3DHeuyr5kyXPYODJKCvn06d6QhmMne9USsxWxD%3D8O%2B-zw%40mail.gmail.com?utm_medium=email&utm_source=footer>.


--
Automation expert - Ansible and friends
Linux administrator & Debian maintainer
Perl Dancer & conference hopper

--
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/04e71d13-c95f-fc60-14d6-9ff8e9d21c7b%40linuxia.de.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to