networking - Ansible:更新的路由器主机名未在 ansible_net_hostname 中获取
问题描述
我尝试从 Ansible 文档站点https://docs.ansible.com/ansible/latest/network/getting_started/first_playbook.html运行“第一个扩展剧本” 。该剧本执行以下操作:
- 从 VyOS 路由器收集事实
- 调试以打印 ansible_net_hostname
- 更改主机名
- 再次收集事实。
- 调试以打印更新的主机名
在我更新主机名后,ansible_net_hostname 变量没有改变。经过调查,我发现以下内容:
- 主机名已更改(通过登录路由器验证)
- 我使用 Cisco IOS 得到了相同的结果。
- 如果我在第二个剧本中运行 vyos_facts,我会看到更新的主机名
- 如果我在第二次收集事实之前运行设置,我仍然会得到原始名称
- 如果我运行 meta: clear_facts 也一样
- 如果我运行 clear_facts 但没有再次收集事实,则事实将被清除,并且我在第二次调试消息中收到错误,如预期的那样。
- 如果我在更新后运行暂停 10 秒,我仍然会看到旧值
那么为什么 vyos_facts 的第二次调用仍然返回原始值呢?
环境:
- Ubuntu 20.04 下的 Docker 容器
- Ansible 2.9.6
- 蟒蛇 3.8.5
解决方案
推荐阅读
- javascript - Javascript将变量放入正则表达式?
- debugging - 调查大型日志文件中的错误的好方法/技术是什么?
- heroku - 运行时如何解决 SHA 不匹配问题:heroku update?
- html - 右侧边距未知
- solidity - 智能合约不能在合约内部添加转账功能
- flutter - 是否有可能知道我何时在 for 循环中的最后一个元素上?
- android - firebase 查询 orderByChild().equalTo() android kotlin 的问题
- java - JavaFX css菜单边框颜色错误
- c - rand() 与 fork() 一起使用时生成相同的数字
- r - 将 ggplot2 与 ks 包的 kde 图一起使用