debug模块在执行期间打印语句,并且可用于调试变量或表达式,而不必停止playbook。

打印自定义的信息


- debug: msg="System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}"

调试变量


- debug: var=result verbosity=2

playbook 开启debug模式


在2.1中,我们添加了一个调试策略。 此策略使您能够在任务失败时调用调试器。 您可以访问失败任务上下文中调试器的所有功能。 然后,您可以例如检查或设置变量的值,更新模块参数,并使用新的变量和参数重新运行失败的任务,以帮助解决失败的原因。

- hosts: test
strategy: debug
gather_facts: no
vars:
var1: value1
tasks:
- name: wrong variable
ping: data={{ wrong_var }}

以上playbook,在执行到错误的任务时,会进入debug模式下

 
Paste_Image.png

可用命令

命令 说明
p 显示此次失败的原因
p task 显示此次任务的名称
p task.args 显示模块的参数
p host 显示执行此次任务的主机
p result 显示此次任务的结果
p vars 显示当前的变量
vars[key] = value 更新vars中的值
task.args[key] = value 更新模块的参数。
r 再次执行此任务
c 继续执行
q 退出debug模式

Ansible 小手册系列 十六(Playbook Debug)的更多相关文章

  1. Ansible 小手册系列 十四(条件判断和循环)

    条件判断 When 语句 在when 后面使用Jinja2 表达式,结果为True则执行任务. tasks: - name: "shut down Debian flavored syste ...

  2. Ansible 小手册系列 十八(Lookup 插件)

    file:获取文件内容 --- - hosts: all vars: contents: "{{ lookup('file', '/etc/foo.txt') }}" tasks: ...

  3. Ansible 小手册系列 十二(Facts)

    Facts 是用来采集目标系统信息的,具体是用setup模块来采集得. 使用setup模块来获取目标系统信息 ansible hostname -m setup 仅显示与ansible相关的内存信息 ...

  4. Ansible 小手册系列 十(包含和角色)

    一.包含 (include) 使用include模块来包含foo文件 tasks: - include: foo.yml --- foo.yml - name: test foo command: e ...

  5. Ansible 小手册系列 九(Playbook)

    playbook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task无非 ...

  6. Ansible 小手册系列 十九(常见指令表)

    Play 指令 说明 accelerate 开启加速模式 accelerate_ipv6 是否开启ipv6 accelerate_port 加速模式的端口 always_run   any_error ...

  7. Ansible 小手册系列 十五(Blocks 分组)

    当我们想在满足一个条件下,执行多个任务时,就需要分组了.而不再每个任务都要用when. tasks: - block: - command: echo 1 - shell: echo 2 - raw: ...

  8. Ansible 小手册系列 二十(经常遇到的问题)

    (1). 怎么为任务设置环境变量? - name: set environment shell: echo $PATH $SOME >> /tmp/a.txt environment: P ...

  9. Ansible 小手册系列 六(Patterns 匹配模式)

    Patterns 是定义Ansible要管理的主机.但是在playbook中它指的是对应主机应用特定的配置或IT流程. 命令格式 命令行 ansible <host-pattern> [o ...

随机推荐

  1. 搭建 maven 项目 搭建 maven web 项目及遇到 JDK 的问题

    临时起意搭建一个 maven web 项目.使用的servlet 3.0 及 1.8 JDK. maven 默认创建了一个JDK 1.5 版本的项目. 注意此处选择一下WAR包.不然在配置中配置的话会 ...

  2. 文本文件显示 删除文本文件前n个字符

    #include<iostream>#include<string.h>using namespace std;void displayContent(const char * ...

  3. java jdom 解析CDATA内容

    package com; import java.io.IOException; import java.io.StringReader; import java.util.List; import ...

  4. JavaScript:传对象数组到后台

    页面: <script> function improve() { var improveForm = $('#improveForm'); if (!improveForm.valid( ...

  5. 【转载】IDEA:放置型塔防备忘录

    下周开始做原型了,我需要再次细细的整理一遍设计思路,确保每一个设计都能为了我所追求的玩家体验添砖加瓦,而不是互相打架.同时本文还能提供最原始的VISION,待到将来开发万一陷入泥淖,翻出此文来可以起到 ...

  6. Submine Text 快捷键

    Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关闭所有打开文件 Ctrl+Shift+V ...

  7. 使用LinQ进行增删改查

    数据库访问技术: ADO.net EF框架 LinQ LinQ是一种高集成化的数据库访问技术,他将数据库中的表映射成程序中的类 数据库的表名变成类名 数据库的列名变成字段名/属性名 所有的操作都是通过 ...

  8. SQL学习笔记之MySQL查询的三层解析

    Mysqld的三层结构: SQL类型: DDL:数据库对象定义语言 对库和表的定义 DML:操作语言 DCL:控制语言 结构化的查询语言:select * from user; 执行该语句时: 1.连 ...

  9. Nginx 日志

    原文地址:Nginx深入详解之日志 作者:scq2099yt 一.日志分类        Nginx日志主要分为两种:访问日志和错误日志.日志开关在Nginx配置文件(/etc/nginx/nginx ...

  10. 客户端发一个post请求

    public static String doPostStr(String httpUrl, String str) { HttpPost httpPost = null; try { HttpCli ...