• [^] # Re: pas besoin de ssh

    Posté par . En réponse au journal Faciliter la configuration d'un ordinateur portable (ou fixe) sous Debian GNU/Linux 10 (Suite). Évalué à 4.

    En fait ansible-pull c'est juste un script de fainéant qui va cloner ton repo et exécuter localement le playbook avec une seule commande. Mais c'est équivalent aux commandes que j'ai posté dans mon précédent commentaire.

    En fait, quand tu utilises --connection=local, il exécute le playbook localement. Donc si ton playbook contient :

    - hosts: foo
    

    Il va considérer que l'hôte local est foo. Il va chercher foo dans ton fichier hosts et trouver ainsi les variables correspondantes dans group_vars/ et host_vars/. Si tu n'as qu'une seule machine dans ton inventaire, tu peux utiliser all dans ton playbook comme c'est le cas actuellement.

    Personnellement, j'ai toujours utilisé des noms d'hôtes, donc je ne sais pas ce que ça donne si tu mets directement des adresses IP dans ton inventaire.

    J'étais parti du principe que tu l'utilisais juste localement à l'install.

    Si tu veux utiliser à la fois les connections locales et SSH, il faudra soit avoir un playbook dédié à l'utilisation locale, soit utiliser ansible_connection dans ton inventaire pour cibler ta machine locale (et ne pas utiliser l'argument --ansible-connection=local)

    Attention, comme dit le commentaire plus haut, ça peut poser problème de mixer les connections SSH et locales avec plusieurs machines à gérer, notamment si tu utilises des délégations, ou certains modules comme synchronise.

    <ma vie>
    Je gère mes machines perso avec ansible. 2 VPS et 2 laptops (boulot et perso). C'est pour des besoins assez simple, toutes mes machines sont différentes (pas de LB/failover) donc j'ai un playbook par machine et je n'utilise pas de délégation.
    J'utilise SSH pour les serveurs. Pour les laptops, j'ai un cron qui récupère mon repo et exécute localement le playbook correspondant à la machine. Si je fais une modif je la pousse sur les serveurs et les laptops l'appliqueront lorsqu'ils seront allumés.

    Par contre, actuellement je ne vois pas le résultat des exécutions cronées. Faut que je me décide entre :
    * une bête alerte renvoyée par le cron si l'exécution renvoie une erreur
    * rediriger l'output dans un log et centraliser les logs sur un serveur
    * utiliser ARA
    </ma vie>