2017-05-26 2 views
-1

Je souhaite que l'ansible attende mon entrée dans la ligne de commande pour le script interactif s'exécutant sur la machine distante. "Expect" ne répondra pas à mes besoins car les questions interactives ne cessent de changer.Ansible - attendre que l'utilisateur saisisse la valeur des scripts interactifs sur la machine distante

par exemple xxx.pl Ce doit être l'utilisateur qui exécute le service. [root: root] ': y ----> je devrais être autorisé à changer en temps réel gérer les utilitaires? [/ usr/bin]: y ---> même avec ceci

Répondre

0

Ceci n'est pas possible avec Ansible. Ansible rassemble tous les scripts/paramètres de tâche avant de l'envoyer à l'hôte distant et il n'y a aucun moyen (depuis Ansible 2.4) d'obtenir des commentaires pendant l'exécution de la tâche - uniquement le résultat final de la tâche.

+0

Je me demande ... si vous appeliez un script, qui exécuterait le script approprié dans une session 'screen' distincte, a attrapé sa sortie (rediriger la sortie standard vers un fichier?), Renvoyé la question du script approprié comme sa sortie, alors Ansible invitera l'utilisateur, et la tâche suivante exécutera un autre script pour se reconnecter à la session 'screen' et transmettre la valeur de l'utilisateur ... – techraf

+0

La deuxième tâche (reconnexion) devrait être un module Expect ou un script appelant' expect' . – techraf

+0

@techraf théoriquement c'est possible ... mais comme nous le savons tous les deux, les playbooks Ansible ne devraient avoir aucune interaction humaine :) –