首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >即使出现命令语法错误,可能的iosxr_command也会保存输出

即使出现命令语法错误,可能的iosxr_command也会保存输出
EN

Stack Overflow用户
提问于 2021-06-22 23:55:55
回答 1查看 25关注 0票数 0

当使用iosxr_command模块向思科设备发送任意命令并保存输出时,如何在设备返回命令语法错误的情况下保留输出,而不是将任务视为失败?

攻略:

代码语言:javascript
运行
复制
- name: run command and save output
  iosxr_command:
    commands: 
      - "invalid syntax command"
    register: output

预期保存的输出:

代码语言:javascript
运行
复制
RP/0/RSP0/CPU0:IOSXR_ROUTER#invalid syntax command
                              ^
% Invalid input detected at '^' marker.

而不是:

代码语言:javascript
运行
复制
TASK [run command and save output] 
*****************************************************************************************************************
failed: [IOSXR_ROUTER] (item=invalid syntax command) => {"changed": false, "item": "invalid command", 
"msg": "invalid syntax command\r\n\r      
^\r\n% Invalid input detected at '^' marker.\r\nRP/0/RSP0/CPU0:IOSXR_ROUTER#"}
EN

回答 1

Stack Overflow用户

发布于 2021-06-23 23:24:47

正如@mdaniel建议的那样,我尝试在任务中使用ignore_errors: yes,然后我对playbook进行了一些修改,这样当命令出现语法错误时,它将捕获output.msg而不是output.stdout。如下所示:

代码语言:javascript
运行
复制
- name: run show command
  iosxr_command:
    commands: 
      - invalid command
  register: output
  ignore_errors: yes

- name: Check previous task fail
  set_fact:
    captured_data: "{{output.msg}}"
  when: output.failed

- name: Check previous task succeed
  set_fact:
    captured_data: "{{output.stdout[0] | replace('\\n', '\n')}}"
  when: not output.failed
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68086924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档