问题标签 [ansible-inventory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - ansible将主机添加到多个组
我不确定以下是否可以通过 ansible 实现。我有如下主机列表:注意:主机可以跨组重复
地区:美国
舞台:QA
主持人:Host1
地区:美国
舞台:UAT
主持人:Host2
地区:伦敦
舞台:QA
主持人:Host3
地区:伦敦
舞台:UAT
主持人:Host1
现在我可能想在美国组的所有主机上运行某些任务。或者我可能想在我们的地区运行主机并作为 qa 上台。或者我可能想运行属于 QA 组的所有主机。那么我该如何实现呢?
amazon-web-services - 连接 AWS 时的 Ansible 动态清单
我已经下载了 ec2.py 和 ec2.ini 文件并将它们放在
我已将 ansible.cfg 更改为
我将环境变量设置为
现在当我运行 ansible -m ping 所有我得到
而不是 ping 我帐户中的所有实例
当我运行 ./ec2.py --list 我得到
我在 aws 中的所有实例都在运行
ansible - 在 Ansible playbook 中访问库存主机变量
在 Ansible 2.1 中,我有一个角色被需要访问主机文件变量的剧本调用。关于如何访问它的任何想法?
我正在尝试访问以下库存文件部分ansible_ssh_host
中的 :test1
host
我尝试通过以下方式访问该角色:
和
我收到此错误:
ansible - 带有 host_vars 的 Ansible EC2 动态清单
我是 Ansible 动态库存的新手。
我有一本剧本:
hosts: tag_Name_abc
运行此剧本可以在标记的 EC2 实例上正确执行所需的操作。当我尝试使用时,host_vars
我得到fatal: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: 'test_var' is undefined"}
host_vars/tag_Name_abc
playbook 文件目录下有一个文件files test_var: test_value
,但它没有获取变量。
启动剧本ansible-playbook -i ec2.py myplaybook.yml
任何建议都会很棒。谢谢!
ansible - 具有本地操作的 Ansible 组变量评估
我有一个 Ansible 剧本,其中包含用于创建一些 Azure 云资源的角色。组变量用于设置创建这些资源的参数。库存文件包含多个组,这些组引用该播放作为后代节点。
问题在于,由于运行云操作的目标是 localhost,所有组变量都会立即被拾取。这是库存:
该剧本包含一个引用要运行的实际角色的 azure_infrastructure 剧本。
发生的情况是该角色针对 localhost 运行了两次,但每次都加载了来自 cloud_instance_a 和 cloud_instance_b 的组变量。我希望它运行两次,但第一次加载 cloud_instance_a 变量,第二次加载 cloud_instance_b 变量。
有没有办法做到这一点?本质上,我正在为 localhost 寻找一个伪主机,让它认为这些是不同的目标。我能够解决此问题的唯一方法是创建两个不同的库存。
ansible - Ansible:想用 instance-id 映射动态主机
我的代码: http: //pastebin.com/jzrYTR2u
我想要实现的目标:我的脚本应该动态获取具有特定标签的主机,并在每个主机上一一执行上述任务。目前,我正在从 elb_facts 模块中获取实例 ID。
到目前为止我所取得的成就:我的脚本将从 elb 中取出第一个实例,将执行部署任务,然后添加回 elb。hosts 文件当前使用 IP 进行硬编码
amazon-web-services - Ansible EC2 动态清单 - 包含连字符的标签
ansible
我正在尝试在已标记为Name = foo-bar
(注意连字符)的主机上运行临时命令。当我运行时:
ansible tag_Name_foo_bar -i ec2.py -m ping
我得到:No hosts matched
但是,有这样的主人。如果我对使用不包含连字符的名称标记的主机运行相同的命令,它可以正常工作,例如对于标记为 的主机,Name = foobar
以下工作:
ansible tag_Name_foobar -i ec2.py -m ping
H
ansible - 运行 Ansible playbook 时在 Ec2.py 中刷新 ElastiCache 时出错
在过去的几天里,我在使用 AWS 云模块运行 ansible playbook 或从本地机器使用 --refresh-cache 命令直接运行 ec2.py 文件时收到以下错误:
从 AWS 账户中的 Ec2 实例运行时,此问题似乎消失了。
我有最新的 EC2.py 和 EC2.ini 文件,Ansible 版本是 2.2.0.0,安装了 boto3,并且我在运行 playbook 之前设置了有效的 AWS 凭证。
关于发生了什么的任何想法?