J'ai la structure de dossier ci-dessous, qui semble la faire construire et charger les rôles, mais les vars de groupe et d'hôte ne sont pas chargés. Comment venir?host_vars et group_vars ne sont pas chargés
/etc/ansible/
- hosts
- requirements.yml
- group_vars/
- app/
- postgres.yml
- host_vars/
- app1/
- postgres.yml
- roles
/documents/ansible/
- playbook.yml
- vagrant
fichier hôte
# Application servers
[app]
192.168.60.6
# Group multi
[multi:children]
app
#variables applied to all servers
[multi:vars]
ansible_ssh_user=vagrant
ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key
** errante **
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Genral Vagrant VM Configuration.
config.vm.box = "geerlingguy/centos7"
config.ssh.insert_key = false
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :virtualbox do |v|
v.memory = 256
v.linked_clone = true
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
# Application server 1
config.vm.define "app1" do |app|
app.vm.hostname = "orc-app1.dev"
app.vm.network :private_network, ip: "192.168.60.6"
end
end
J'ai donc besoin de copier les dossiers 'host_vars' et' group_vars' dans playbook.yml? et comment pointer vers '/ etc/ansible/hosts' dans le fichier vagabond? –
Je ne sais pas ce dont vous avez besoin, parce que je ne sais pas ce que vous voulez. À première vue, cela n'a aucun sens d'utiliser un fichier d'inventaire global pour un projet Vagrant, mais peut-être avez-vous vos propres raisons. Je ne suis pas sûr de la deuxième question non plus, j'ai donné le nom de l'arrangement dans la réponse - quel est le problème avec juste l'employant? – techraf
Et même si vous copiez 'group_vars' tel quel, Vagrant n'aura aucune idée de ce qu'est' app'. Il va chercher le 'app1' de' host_vars', parce que vous définissez 'app1' dans le' Vagrantfile' et il sera reflété dans l'inventaire généré automatiquement, mais pas 'app'. – techraf