2 déc. 2020

[ANSIBLE] ça marche sur la machine mais pas sur ansible !


 Il m'est arrivé récemment, alors que je lançais un script via ansible (je sais c'est mal) un problème.

Quand je lançais le script sur la machine  en mode :

# ./installation.sh

il se trouve que le script se lançait correctement et envoyait à la fin un code retour 0

# echo $?
0

Cependant quand je lançais un role ansible avec le paramètre:

#- name: Lancement du script d'installation (shell)
#  shell: ./installation.sh
#  args:
#    chdir: "/tmp/install"


Le script plantait au niveau ansible.


J'ai alors créé un script chapeau (templates j2)

#!/bin/bash

su -
cd /tmp/install/
./installation.sh

qui était déposé et ensuite

namecopie du script de lancement (launch_installer.sh)
  template:
    srclaunch_installer.sh.j2
    dest/tmp/launch_installer.sh
    ownerroot
    grouproot
    mode'0777'

name"Lancement du script d'installation (shell module)"
  shell/tmp/launch_installer.sh


Cela fonctionne même si c'est pas forcément le plus propre

Aucun commentaire:

Enregistrer un commentaire

Différences majeures entre Red Hat 6, 7, 8 et 9

Quelles sont les différences majeures entre RHEL 6, 7, 8 et 9 ? Système de fichiers RHEL 6: Par défaut : ext4. Autres : ext2, ext3 supportés...