2016-07-13 3 views
0

(soyez prévenus: question totale newbie suit):Pouvez-vous définir des variables sur la machine qui s'exécute ansible, pas l'hôte?

Je débogage actuellement un livre de jeu qui crée deux nouveaux hôtes, supprime deux anciens hôtes d'un équilibreur de charge, puis ajoute deux nouveaux hôtes à l'équilibreur de charge. Nous avons séparé plusieurs de ces jeux dans leurs propres fichiers de playbook et les avons inclus dans un jeu de haut niveau. Je veux être en mesure de définir une liste des deux nouveaux hôtes plus tôt dans un jeu et de le faire persister sur l'ordinateur qui s'exécute entre ces jeux imbriqués, de sorte que plus tard, je puisse lancer un jeu qui saisit la liste des les anciens hôtes actuellement dans l'équilibreur de charge, puis utilisez la liste des nouveaux hôtes que j'ai définis précédemment pour les ajouter au LB, puis utilisez la liste des anciens hôtes pour les supprimer du LB. C'est, pour autant que je sache, le meilleur moyen de le faire, car le module rax_clb_nodes de Rackspace apporte des modifications à l'équilibreur de charge de localhost. A.) Est-ce le meilleur moyen d'y parvenir?

B.) Quelle est la meilleure façon de le faire?

Répondre

0

Les faits définis par set_fact sont persistants entre les jeux.
Vous pouvez donc définir le fait pour localhost et l'utiliser ensuite comme {{ hostvars['localhost']['my_custom_fact'] }}.

Veuillez lire à propos de Magic Variables - par ex. Si vous placez vos nouveaux hôtes dans un groupe d'inventaire séparé, vous pouvez parcourir ce groupe.