博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible playbook循环
阅读量:6685 次
发布时间:2019-06-25

本文共 991 字,大约阅读时间需要 3 分钟。

  1. 标准Loops

    • hosts: all
      gather_facts: False
      tasks:
      • name: debug loops
        debug: msg=" name -----> {
        { item }}"
        with_items:
        • one
        • two
          执行结果:ansible-playbook loops.yaml -l 192.168.1.1
          TASK [debug loops] *****
          ok: [192.168.1.1] => (item=one) => {
          "changed": false,
          "item": "one",
          "msg": " name -----> one"
          }
          ok: [192.168.1.1] => (item=two) => {
          "changed": false,
          "item": "two",
          "msg": " name -----> two"
          }

PLAY RECAP ****

192.168.1.1 : ok=1 changed=0 unreachable=0 failed=0

with_items的值是python list数据结构,每个task会循环读取里面的值;也支持字典

ansible playbook循环
ansible playbook循环

2.嵌套Loops

主要实现一对多或者多对多的合并
ansible playbook循环
ansible playbook循环

3.散列Loops

散列loops直接支持YAML格式的数据变量
ansible playbook循环
ansible playbook循环

4.文件匹配Loops

针对一个目录下指定格式的文件进行处理,引用with_fileglob循环去匹配需要处理的文件
ansible playbook循环
ansible playbook循环

5.随机选择Loops(with_random_choice)

ansible playbook循环
ansible playbook循环

6.条件判断Loops

ansible playbook循环
ansible playbook循环
5秒执行一次cat /root/ansible将结果register给host然后判断host.stdout.startswith的内容是否是轶Master字符串开头,如果条件成立,此task完成;如果条件不成立5s之后重试,2次重试还不成立,此task运行失败

7.文件优先匹配Loops

with_first_found会从list里面定义的文件从上往下一个一个的匹配,如果匹配到了item就是该文件
ansible playbook循环
ansible playbook循环

8.register Loops

register除了用作单一的task临时变量存储,还可以同时接受多个task的结果当做变量临时存储
ansible playbook循环
ansible playbook循环

转载于:https://blog.51cto.com/yangxiongchun/2068384

你可能感兴趣的文章
HTTP服务器实现
查看>>
2017.03
查看>>
未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项
查看>>
思科模拟器Packet Tracer的使用
查看>>
资产-服务器变更流程图
查看>>
linux文件特殊权限及文件的访问控制列表
查看>>
目录管理和文件管理
查看>>
广播事件的两种类型。
查看>>
cmd进入控制Mysql&出现乱码的问题
查看>>
POJ 2407 Relatives 题解《挑战程序设计竞赛》
查看>>
关于那些最好玩的户外APP合集下(适合资深驴友、牛逼设计狮、装逼攻城狮)...
查看>>
实现一个日期类
查看>>
mysql实时记录客户端提交的sql语句
查看>>
多线程学习笔记(五)
查看>>
pyspider爬虫学习-教程3-Render-with-PhantomJS.md
查看>>
107个常用Javascript语句
查看>>
Java递归拷贝文件夹
查看>>
从Java到C++——从union到VARIANT与CComVariant的深层剖析
查看>>
java使用jeids实现redis2.6的list操作(3)
查看>>
Android简单框架会用到的基类(2)
查看>>