我从运行剧本中得到的输出出现问题。
如何将调试输出-H/W Version : 1.0
转换为HW Version: 1.0
以及如何清理输出文件以删除u'和[]
more /tmp/sw-facts
Hostname: switch Version: 5.2(1)N1(3) Hardware: [u'H/W Version : 1.0'] Serial: 000000000
PLAY [研究]
任务[第一阶段收集版本和硬件信息] 好的:[切换]
任务[第二阶段收集不可思议的事实] 好的:[切换]
任务[阶段3验证网络设备的输出] 好的:[switch] => 味精: --'H / W版本:1.0' -5.2(1)N1(3)
任务[格式化后将一些事实写入磁盘] 好的:[切换]
---
# This playbook will retrieve version & hw info from Nexus switches
- name: Research
hosts: lab
gather_facts: false
tasks:
- name: Stage 1 gathering version & HW info
nxos_command:
commands:
- "show sprom sup | inc 'H/W Version'"
register: output
- name: Stage 2 collect ansible facts
nxos_facts:
gather_subset: hardware
register: version
- name: Stage 3 validating output from network device
debug:
msg:
- "{{ output.stdout }}"
- "{{ ansible_net_version }}"
- name: write some facts to disk after formatting
copy:
content: |
#jinja2: lstrip_blocks: True
{% for host in groups['lab'] if hostvars[host]['ansible_net_hostname'] is defined %}
Hostname: {{ hostvars[host].ansible_net_hostname }} Version: {{ hostvars[host].ansible_net_version }} Hardware: {{ hostvars[host].output.stdout }} Serial: {{ hostvars[host].ansible_ne$
{% endfor %}
dest: /tmp/sw-facts
run_once: yes
在此先感谢您的帮助
答案 0 :(得分:0)
我将nxos_command修改为:“ show sprom sup | inc'H / W Version'| cut -c 19-22”