Ansible adresse IP variable - partie hôte

J'ai le problème suivant:

Je suis en train d'écrire playbook pour le réglage de l'adresse IP sur la ligne de commande dans Ansible. Disons 10.10.10.x. J'ai besoin d'obtenir la dernière partie de mon IP publique permet de dire que x.x.x.15 et de l'attribuer à l'privée: 10.10.10.15. Est-il une variable pour cela? Puis-je prendre? J'ai essayé d'utiliser quelque chose comme:

shell: "ip addr show | grep inet ...." 
register: host_ip

Mais ce n'est pas ce dont j'ai besoin. Cela fonctionne, mais seulement pour un nombre limité de serveurs.

Le tout devrait être comme ça:

"shell: /dir/script --options 10.10.10.{{ var }}"

et {{ var }} devrait être de la partie hôte de l'adresse IP publique.

Edit:

Merci! Voici ma solution finale:

- name: Get the host part of the IP 
  shell: host {{ ansible_fqdn }} | awk '{print $4}' 
  register: host_ip 

Et

{{ host_ip.stdout.split('.')[3] }}

Pour l'utiliser plus tard dans la playbook.

Comme par @user24364 la réponse ci-dessous, il n'est pas clair si vos serveurs IP publique déjà attribué, ou si vous allez par le biais d'un routeur NAT. Veuillez mettre à jour notre question afin de clarifier cette situation.

OriginalL'auteur plamer | 2014-08-20