gpt4 book ai didi

vagrant - host_vars 和 group_vars 未加载

转载 作者:行者123 更新时间:2023-12-04 17:52:46 24 4
gpt4 key购买 nike

我有以下文件夹结构,这似乎使它能够构建和加载角色,但没有加载组和主机变量。怎么会?

/etc/ansible/

- hosts
- requirements.yml
- group_vars/
- app/
- postgres.yml
- host_vars/
- app1/
- postgres.yml
- roles

/documents/ansible/

- playbook.yml
- vagrant

主机文件

# 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

** Vagrant **

# -*- 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

最佳答案

默认情况下,Vagrant 在 .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory 中使用自己的自动生成的 list 文件。

在 Vagrant 中有一个选项 ansible.inventory_path 指向库存文件/目录而不是自动生成的,但你不要用它来指向 /Vagrantfile 中的 etc/ansible/hosts,所以 Vagrant 完全不知道它。同样,它不会在 /etc/ansible 中查找 host_varsgroup_vars


另一方面,角色的路径不会被 list 文件覆盖,因此 Vagrant 使用自己的路径这一事实不会影响角色的路径。

它们默认从 /etc/ansible/roles(或 Ansible 默认使用的任何目录,例如 /usr/local/etc/ansible/roles 加载> 在 macOS 上)。

关于vagrant - host_vars 和 group_vars 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com