Où stocker Ansible hôte de fichiers sur Mac OS X
Je suis en train de commencer avec Ansible à disposition mon Vagrantbox, mais je ne peux pas savoir comment traiter avec les héberger des fichiers.
Selon la documentation de la devrait être storred dans /etc/ansible/hosts
, mais je ne trouve pas cela sur mon système (Mac OS X). J'ai aussi vu des exemples où la host.ini
fichier situé à la racine du document adjacent à l'errance fichier.
Donc ma question est, où voulez-vous stocker vos hostfile pour mettre en place un seul vagrant box?
Vous devez vous connecter pour publier un commentaire.
Tout Ansible vais essayer
/etc/ansible/hosts
par défaut, il y a plusieurs façons de dire ansible où chercher pour un autre fichier d'inventaire :-i
commutateur de ligne de commande et passer votre inventaire chemin d'accès au fichierhostfile = path_to_hostfile
dans le[defaults]
section de votre~/.ansible.cfg
fichier de configurationexport ANSIBLE_HOSTS=path_to_hostfile
comme suggéré par DomaNitro dans sa réponseMaintenant, vous n'avez pas de mentionner si vous souhaitez utiliser le ansible provisionner disponible dans vagrant, ou si vous voulez fournir votre vagrant hôte manuellement.
Let's go pour le Vagabond ansible provisionner première :
Créer un répertoire (par exemple), et de créer un Vagabond fichier à l'intérieur :
Vagrantfile:
Maintenant, lorsque vous exécutez
vagrant up
(ouvagrant provision
), Vangrant de l'ansible provionner va chercher un nom de fichierhosts
dans le même répertoire que Vagrantfile, et tentera d'appliquer laprovision.yml
playbook.Vous pouvez également l'exécuter manuellement, sans recourir à l'Errance de l'ansible provisionner :
Noter que Vagrant+Virtualbox+Ansible trio ne permet pas toujours d'obtenir le long bien. Il y a quelques versions de combinaisons qui sont problématiques. Essayez de mettre à niveau à la latests versions si vous rencontrez des problèmes (notamment concernant le réseau).
{shameless_plug} Vous pouvez trouver un plus vaste exemple de mélange de l'errance et de l'ansible ici {/shameless_plug}
Bonne chance !
hostfile
est deprecated, utilisezinventory
place.Si vous avez utilisé Infusion d'installer Ansible, vous aurez plus de chances de trouver le fichier hosts par défaut à
/usr/local/etc/ansible/hosts
. Mais, comme d'autres l'ont souligné, vous pouvez modifier la valeur par défaut./usr/local/etc/ansible/
et de mettre un fichier hosts en elle, contrairement à Linux.-i
drapeau que je suis en train d'apprendreJ'aime utiliser bash variables d'environnement que mon projet de base est partagée avec d'autres utilisateurs.
vous pouvez simplement
export ANSIBLE_HOSTS=/pathTo/inventory/
cela peut être un hôte fichier ou un dossier avec plusieurs fichiers.Vous pouvez également utiliser l'écrire dans votre ~/.bash_profile donc la persistance de l'
Un tas d'autres variables peuvent définir de cette façon, au lieu de maintenir un fichier de conf pour plus d'informations, consultez la source dans ansible/lib/ansible/constants.py
Si vous utilisez l'Errance de l'ansible provisioner, Vagabond va générer automatiquement un Ansible fichier hosts (appelé
vagrant_ansible_inventory_default
) et configurer ansible-playbook à utiliser ce fichier. Il ressemble à ceci:Il appelle le Vagabondage de l'hôte "par défaut", si vos pièces doivent soit se référer à "par défaut" ou "tous".
Voici une description que faire après l'installation d'Ansible sur Mac, il a travaillé pour moi: ansible-conseils-et-astuces.readthedocs.io
J'ai téléchargé l'ansible.fichier cfg pour
et ensuite vous pouvez modifier l'ansible.fichier cfg en décommentant la
ligne et en spécifiant le chemin d'accès à l'ansible dossier comme indiqué ci-dessus. Vous pouvez créer le fichier hosts dans ce dossier, puis en tant que bien. Pour l'essayer en local, vous pouvez mettre
dans le fichier hosts et de l'essayer avec