Recherche…


Remarques

Les variables d'environnement dans l'inventaire dynamique ne fonctionnent pas

"ansible_ssh_private_key_file": $HOME/.ssh/key.pem"

Si le côté serveur d'inventaire dynamique transmet $HOME par exemple, remplacez la variable dans le code client (Python):

json_input.replace("$HOME", os.environ.get("HOME"))

Inventaire dynamique avec identifiants de connexion

Passer l'inventaire dynamique à ansible-playbook :

ansible-playbook -i inventory/dyn.py -l targethost my_playbook.yml

python inventory/dyn.py devrait imprimer quelque chose comme ceci:

{
  "_meta": {
    "hostvars": {
      "10.1.0.10": {
        "ansible_user": "vagrant",
        "ansible_ssh_private_key_file": "/home/mrtuovinen/.ssh/id_rsa",
        "ansible_port": 22
      },
      "10.1.0.11": {
        "ansible_user": "ubuntu",
        "ansible_ssh_private_key_file": "/home/mrtuovinen/.ssh/id_rsa",
        "ansible_port": 22
      },
      "10.1.0.12": {
        "ansible_user": "steve",
        "ansible_ssh_private_key_file": "/home/mrtuovinen/.ssh/key.pem",
        "ansible_port": 2222
      }
    }
  },
  "vagrantbox": [
    "10.1.0.10"
  ],
  "ubuntubox": [
    "10.1.0.11"
  ],
  "osxbox": [
    "10.1.0.12"
  ]
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow