ansible迭代/迭代嵌套/同步异步/特殊topic说明
tasks直接举例说明:
---
- host: docker
remote_user: root
gather_facts: yes
serial: 3 #表示同一时间控制主机数量(值可以是数值/也可以是百分比)
max_fail_percentage: 30 #最大失败百分比 (举个例子,如果在10个服务器中失败数量多余3个,其它的play就会主动宕掉)
- tasks:
- name: create some file
file: name=/data/{{ item }} state=touch #这里的{{ item }}会循环with_items列表值来创建文件。 即迭代
with_items: # 参数为文件列表名
- file1
- file2
- file3
- name: create users
user: name={{ item.name }} group={{ item.group }} # 同理,这里创建对应的用户并加入到指定属组。 嵌套迭代
with_items:
- { name: "user1", group: "group1" }
- { name: "user2", group: "group2" }
- { name: "user3", group: "group3" }
- name: YUM - fire and forget task
yum: name=docker-io state=installed
async: 1000 #异步执行方式,如果不指定,默认为同步执行方式。 1000表示最大超时时间,单位秒. async的值太小可能会导致稍后检查任务执行失败
poll: 0 # 轮询查询时间为,如果未指定则默认为10S,指定时间为0,则表示不等待任务执行完毕
register: yum_sleeper # 注册一个查询任务
- name: YUM - check on fire and forget task #实现查询任务
async_status: jid={{ yum_sleeper.ansible_job_id }} #查询状态
register: job_result #查询结果
until: job_result.finished #直到查询到的结果为结束
retries: 30 #尝试查询30次
- name: take out off banlance pool
command: /opt/application/upgrade_db.py
run_once: yes # 只执行一次
delegate_to: 192.168.10.100 # 只在委任指定的ip主机执行
ignore_errors: yes #忽略失败
- apt: name=cobbler state=installed
environment: #指定环境代理信息,代理信息也可以存放在变量中
http_proxy: http://proxy.example.com:8080
- name: this command prints FAILED when it fails
command: /usr/bin/example-command -x -y -z
register: command_result
failed_when: "'FAILED' in command_result.stderr" #控制对失败的定义
- shell: /usr/bin/billybass --mode="take me to the river"
register: bass_result
changed_when: "bass_result.rc != 2" #覆写change结果(ansible任务执行后会显示task任务的状态是否有change)
ansible迭代/迭代嵌套/同步异步/特殊topic说明的更多相关文章
- 【转载】高性能IO设计 & Java NIO & 同步/异步 阻塞/非阻塞 Reactor/Proactor
开始准备看Java NIO的,这篇文章:http://xly1981.iteye.com/blog/1735862 里面提到了这篇文章 http://xmuzyq.iteye.com/blog/783 ...
- 前端笔记之JavaScript(九)定时器&JSON&同步异步/回调函数&函数节流&call/apply
一.快捷位置和尺寸属性 DOM已经提供给我们计算后的样式,但是还是觉得不方便,因为计算后的样式属性值都是字符串类型. 不能直接参与运算. 所以DOM又提供了一些API:得到的就是number类型的数据 ...
- linux基础编程:IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO(转载)
IO概念 Linux的内核将所有外部设备都可以看做一个文件来操作.那么我们对与外部设备的操作都可以看做对文件进行操作.我们对一个文件的读写,都通过调用内核提供的系统调用:内核给我们返回一个file ...
- 05慕课网《进击Node.js基础(一)》HTTP概念进阶(同步/异步)
HTTP模块介绍 支持http协议的更多特性 不缓存请求和响应 API比较底层处理流相关,信息解析 HTTP相关概念 回调 将函数作为参数传到执行函数中,参数函数在执行函数中嵌套执行 function ...
- 02 . Go框架之Gin框架从入门到熟悉(数据解析和绑定,渲染,重定向,同步异步,中间件)
数据解析和绑定 json数据解析和绑定 package main import ( "github.com/gin-gonic/gin" "net/http" ...
- .Net Core WebAPI 基于Task的同步&异步编程快速入门
.Net Core WebAPI 基于Task的同步&异步编程快速入门 Task.Result async & await 总结 并行任务(Task)以及基于Task的异步编程(asy ...
- AJAX请求详解 同步异步 GET和POST
AJAX请求详解 同步异步 GET和POST 上一篇博文(http://www.cnblogs.com/mengdd/p/4191941.html)介绍了AJAX的概念和基本使用,附有一个小例子,下面 ...
- 同步异步,阻塞非阻塞 和nginx的IO模型
同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication).所谓同步,就是在发出一个*调用*时,在没有得 ...
- 阻塞非阻塞,同步异步四种I/O方式
举一个去书店买书的例子吧: (同步)阻塞: 你去书店买书,到柜台告诉店员,需要买一本APUE,然后一直在柜台等.(阻塞) 店员拿到书以后交给你. (同步)非阻塞: 你去书店买书,到柜台告诉店员A,需要 ...
随机推荐
- js 骂人不带脏字 (!(~+[]) + {})[--[~+""][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]] 图解
看到掘金上翻出一个老梗,前端如何不带脏字得骂产品经理傻逼(sb),复制(!(~+[]) + {})[--[~+""][+[]] * [~+[]] + ~~!+[]] + ({} + ...
- ArcPy 重命名拷贝删除图层
使用Python脚本进行图层的重命名拷贝及删除,并在过程中利用logging进行日志记录. 附上Python代码: # -*- coding: utf-8 -*- # nightroad import ...
- Mac Java Idea 下面Git配置简要教程
Mac Java Idea 配置简要教程(Sunplay) 1.找到git路径 终端输入:which git 2.在idea的设置git路径 3.测试Git的效果 测试Git成功的效果
- Android MVP
大家先看看目录结构 先看V层 View里面我写了一个接口LoginView 然后,在登录这个Activity 去实现这个接口,并实现其抽象方法.即看LoginActivity onCreate中引用了 ...
- python 验证码识别库pytesseract的使用
笔者环境 centos7 python3 pytesseract只是tesseract-ocr的一种实现接口.所以要先安装tesseract-ocr(大名鼎鼎的开源的OCR识别引擎). 依赖安装 yu ...
- HTML+Css让网页自动适应电脑手机屏幕
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...
- java 根据ip获取地区信息(淘宝和新浪)
package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr ...
- RequestMapper
@RequestMapping(value = "/v1/getAllUrl", method = RequestMethod.POST) public Object getAll ...
- 如何在FineUIMvc(ASP.NET MVC)中显示复杂的表格列数据(列表和对象)?
起源 最初,这个问题是知识星球内的一个网友提出的,如何在FineUIMvc中展现复杂的列数据? 在FineUIPro中,我们都知道有一个 TemplateField 模板列可以使用,我们只需要在后台定 ...
- QinQ 简介
QinQ 是一种二层隧道协议,通过将用户的私网报文封装上外层 VLAN Tag,使其携带两层 VLAN Tag 穿越公网,从而为用户提供了一种比较简单的二层VPN隧道技术.QinQ 的实现方式可分为两 ...