python - problème avec Ansible pour obtenir l'adresse IP
仅有的幸福
仅有的幸福 2017-05-18 10:56:00
0
1
621

Bonjour à tous les crevettes !

Mon frère a rencontré un problème, c'est-à-dire qu'il doit ajuster le zk d'environ 100 machines. Actuellement, une nouvelle ip zk a été écrite sur la machine de contrôle ansible, et le plan est de distribuer le fichier de cette nouvelle ip zk à. ces 100 machines, puis ajoutez leurs adresses IP et noms d'hôte respectifs aux fichiers de ces 100 machines.

J'ai donc écrit un playbook ansible :

---

- hosts: all
  tasks:
        - name: 将原有的hosts文件备份
          shell: mv /etc/hosts /etc/hosts_bak

        - name: 将ansible端的hosts复制到各自机器上
          copy: src=/root/hosts dest=/etc/ owner=root group=root mode=0544

        - name: 在新的hosts文件后面追加各自机器内网ip和hostname
          lineinfile: dest=/etc/hosts line="{{ansible_all_ipv4_addresses}}  {{ansible_hostname}}"

Mais après l'avoir écrit et exécuté, l'effet est le suivant :

Et ce que je veux, c'est cet effet :

Que dois-je faire ?

仅有的幸福
仅有的幸福

répondre à tous(1)
漂亮男人

Le problème est résolu, utilisez IP : "{{ ansible_eth0'ipv4' }}" plutôt que {{ansible_all_ipv4_addresses}}

Le playbook modifié est le suivant :

---

- hosts: all
  vars:
        IP: "{{ ansible_eth0['ipv4']['address'] }}"
  tasks:
        - name: 将原有的hosts文件备份
          shell: mv /etc/hosts /etc/hosts_bak

        - name: 将ansible端的hosts复制到各自机器上
          copy: src=/root/hosts dest=/etc/ owner=root group=root mode=0644

        - name: 在新的hosts文件后面追加各自机器内网ip和hostname
          lineinfile: dest=/etc/hosts line="{{IP}}  {{ansible_hostname}}"
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!