Ansible hostvars
1. inventory hosts file 中的server 变量会覆盖group变量.
hostvars:
{
"iaas_name": "test",
"inventory_hostname": "hostname....",
"inventory_hostname_short": "hostname....",
"hostname....": {
"passvar": {
"changed": true,
"cmd": [
"echo",
""
],
"delta": "0:00:00.004135",
"end": "2016-05-10 13:02:51.363078",
"invocation": {
"module_args": "echo 123",
"module_complex_args": {},
"module_name": "command"
},
"rc": 0,
"start": "2016-05-10 13:02:51.358943",
"stderr": "",
"stdout": "",
"stdout_lines": [
""
],
"warnings": []
}
},
}
"iaas_name" 这个变量是group中的值, 这个值在hostvars中的第一级变量中. 这个变量并没有merge到"hostname...."中 2. hostvars中包含了说有执行过gather_facts的server的facts.
---
- name: test
hosts: all
gather_facts: no
vars:
xiama: "------------------------"
tasks:
- command: echo 123
register: passvar - name: test
hosts: masters
gather_facts: no
tasks:
- debug: var=hostvars
- debug: var=groups['masters'][0]
在第二步中的debug中, hostvars包含了所有机器的facts, 可以在下面的steps中引用hostvars[groups.masters[0]].变量名. 这样就可以使用
Note 1 "passvar" 这个变量是register产生的, 类似于机器的facts, 会在playbook的整个生命周期中使用, hostvars[groups.masters[0]].passvar
Note 2 但是vars产生的"xiama" 不会存在于下一个playbook中
Note 3 可以通过set_fact模块来设置机器的fact, 并且永久生效.
关于hostvars的结构, 可以直接在playbook中使用hostvars下面的一级变量, 也可以用hostvars.变量名, 或者字典hostvars['变量名'] 来引用. 不能直接使用二级变量中的变量.
Ansible hostvars的更多相关文章
- ansible中的hostvars
首先来看一个例子:假设我想得到主机IP为172.25.250.9的完全限定域名(FQDN),但是我无法登录该主机,那么就可以用本机里面的hostvars魔法变量(后面会分享我对魔法这个词的理解)这个字 ...
- ansible模块debug
示例: # Example that prints the loopback address and gateway for each host - debug: msg="System { ...
- Ansible :一个配置管理和IT自动化工具
编译文章:LCTT https://linux.cn/article-4215-1.html 译者: felixonmars 文章地址:https://linux.cn/article-4215-1 ...
- Ansible状态管理
转载自:http://xdays.me/ansible状态管理.html 简介 就像所有服务器批量管理工具(puppet有DSL,salt有state)一样,ansible也有自己的状态管理组件 ...
- ansible官方文档翻译之变量
Ansible变量 在使用ansible变量的时候,主要是因为各个系统的不同,从而需要使用不同的变量来进行设置,例如在设置一些配置文件的时候,有大部分内容是相同的,但是一部分内容是和主机的ip地址或者 ...
- Ansible 变量
1. 变量来源 inventoryfile中定义 playbook中定义 include文件和角色中定义变量 系统facts ansible hostname -m setup local fact ...
- Ansible系列(六):各种变量定义方式和变量引用
本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...
- 【Ansible】 基于SSH的远程管理工具
[Ansible] 参考文档:[http://www.ansible.com.cn/docs/intro.html] 和ansible类似的工具还有saltstack,puppet,sshpass等, ...
- ansible基础-Jinja2模版 | 过滤器
Jinja2模版介绍 注:本文demo使用ansible2.7稳定版 在ansible基础-变量的「8.2 模版使用变量」章节中关于模版与变量也有所提及,有兴趣的同学可以去回顾一下. ansible通 ...
随机推荐
- java实现验证码
第一步:在web.xml中配置servlet <servlet> <servlet-name>ImageServlet</servlet-name> <ser ...
- hibernate查询出的数据和数据库不一致
之前直接使用hibernate的时候就出现过已经进行物理存储后的数据,查询不出来的情况,既然是已经存储后的数据,说明事务已经提交,想必问题出在查询时,查询的缓存,没有查询数据库.时有时无就很奇怪. 现 ...
- 什么时候用spring
论公司spring的滥用 这个公司每个项目用不同的一套开发框架,实在忍不住拿一个出来说说事.
- jquery mobile扁平化设计样式--Jquery mobile Flat UI介绍
jquery mobile扁平化设计样式--Jquery mobile Flat UI介绍 这几天开发的web app使用了jquery mobile,jquery mobile自带的样式比较适合做企 ...
- php的sendmail发件人邮箱设定
以前就碰到过设置发件人后缀的方式,这次迁移服务器居然忘记,从头开始记录下 1:第一种方法,修改/etc/hosts,据说sendmail使用hosts里面的本地设置域名,修复方法如下 127.0.0. ...
- jquery uploadifive使用
应为考虑到flash将逐渐被淘汰,所以选择了uploadfive完成上传 js文件和css文件自行下载,我上传了免费版(啃爹的官网竟然收费) 文件引入之后: <input type=" ...
- 维吉尼亚密码java代码实现根据密钥长度计算IC值过程
package cn.longxuzi; import java.util.Scanner; import org.junit.Test; public class ICUtils { /** * @ ...
- PB导出规定格式DBF文件
最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...
- C语言之冒泡排序
冒泡排序: 1). 简介 其实就是把一个数组的元素,按照从小到大(从大到小)得顺序,重新排列起来,这种排序就叫冒泡排序 例: int nums[5] = {5,4,3,2,1}; //经过排序后 下标 ...
- USACO 3.3 Camelot
CamelotIOI 98 Centuries ago, King Arthur and the Knights of the Round Table used to meet every year ...