Transfer execute and delete script python via playbook

Hello,

I would like to know how it is possible with a command to be able to both transfer execute and delete a python script via a playbook. Currently I do it in 3 lines: 1) Transfer 2) Execute 3) Delete.

I could see on different forum that we could use the function “script”

My current playbook :
hosts: host

  • name: download python script
    copy:
    src: /etc/ansible/xxxx/python.py
    dest: /etc/sssd/
  • name: execute python script
    command: python /etc/sssd/python.py
  • name: delete python script
    command: rm /etc/sssd/python.py

In fact, I would like to be able to transfer the python script, execute it and delete it because I do not want to store it on the machine where it runs.

(example command “script” find on internet) I tried it but it does not work :

  • hosts: my-servers sudo: true tasks: - script: /home/stuart/scripts/setup.sh --creates /home/stuart/installed-git.txt

Thanks a lot for answer.

Vincent

Try to put the steps in shell script…like copy the python script to the server …change the permission of the script…execute it…once the exit status s 0…delete the script…you can use 2 modules…copy and shell

You can do this using the ansible script module

https://docs.ansible.com/ansible/2.5/modules/script_module.html

You can do this using the ansible script module

https://docs.ansible.com/ansible/2.5/modules/script_module.html

Hi Vaibhav,

I use already this 2 modules, but i just want use only one module ‘maybe “script module”’ like that https://docs.ansible.com/ansible/2.5/modules/script_module.html

I think the only native module of ansible to do this is “script”
Like this maybe :

- script: /etc/ansible/python.py --some-arguments 1234
  args:
    creates: /the/created/python.py

Or 

Hi Vince,

script will delete your script on it’s own after executing it, similar to other modules.

https://github.com/ansible/ansible/blob/0461620b2ddc7e8c0bf00bf8b7b95edd3a4c109c/lib/ansible/plugins/action/script.py#L144