ansible - Ansible 检查和差异模式的问题
问题描述
我正在阅读这篇文章(https://blog.networktocode.com/post/generating-diff-with-ansible/),其中提到我们可以一起使用检查和差异模式。我正在尝试将其用于 Cisco 和 Extreme 设备的黄金配置审计(根据设备上存在的内容审计预先决定的配置)。下面是我的剧本——</p>
# task to audit & heal ntp configuration
- name: Set NTP template
ios_config:
src: "{{domain}}_{{ansible_network_os}}_ntp.cfg"
match: line
register: ntp_result
以下是我的模板 -
ntp server 10.19.70.1
Ansible 强调它将更改配置。下面是我得到的结果。令人惊讶的是,我没有得到任何配置差异。
"ntp_result": {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"commands": [
"configure ntp server add x.x.x.x"
],
"failed": false,
"updates": [
"configure ntp server add x.x.x.x"
],
"warnings": [
"unable to perform diff against running-config due to check mode"
]
}
为什么我没有得到配置差异?知道有什么问题吗?
解决方案
这是该模块的一个限制:您只能check
使用和diff
的diff_against
选项进行组合,而不能使用。startup
intended
running
此处对应的 Ansible 源代码:
if module.params['diff_against'] == 'running':
if module.check_mode:
module.warn("unable to perform diff against running-config due to check mode")
推荐阅读
- c - SDL 正在播放 wav 文件,但我似乎无法播放简单的波形
- javascript - 表单和网格 Extjs 之间的绑定
- makefile - 无法使用 catkin_make 构建 ROS 包。对包树感到困惑
- spring - 如何使用 MockHttpSession 和 Junit 进行模拟
- json - 如何在 Swift 中使用带有自定义类型值的可解码协议?
- javascript - 如何从 Ionic 4 中的 TypeScript 文件调用 iframe 显示的网页中的 JavaScript 函数?
- kotlin - 具有多种类型的 Equals 重载使运算符 '==' 不能应用于
- php - 在while循环中计算总和到数组
- php - Laravel 主机不允许连接到这个 mysql 服务器(Centos 7)
- swift - 将html转换为字符串时如何设置NSAttributedString的字体大小?