ansible cisco ios_command module"无法设置终端参数"

时间:2018-04-06 21:55:01

标签: ansible

我正在运行ansible v 2.5并试图运行一个基本的" show clock"命令在我的开关上。

如果错误说它无法设置终端参数,

以下是我的yml文件:

---
- hosts: ios_devices
  gather_facts: no
  connection: local

  vars_prompt:
  - name: "mgmt_username"
    prompt: "Username"
    private: no
  - name: "mgmt_password"
    prompt: "Password"

  tasks:

  - name: SYS | Define provider
    set_fact:
      provider:
        host: "{{ inventory_hostname }}"
        username: "{{ mgmt_username }}"
        password: "{{ mgmt_password }}"

  - name: IOS | Show clock
    ios_command:
      provider: "{{ provider }}"
      commands:
        - show clock
    register: clock

  - debug: msg="{{ clock.stdout }}"

并且在运行剧本时我收到以下错误:

致命:[x.x.x.x]:失败了! => {" msg":"无法设置终端参数"}

我将不胜感激任何帮助

3 个答案:

答案 0 :(得分:1)

错误unable to set terminal parameters表示以下一个(或两个)命令失败:

  • terminal length 0
  • terminal width 512

尝试在您的Cisco IOS交换机上手动运行这些命令,以检查它们是否受支持。

答案 1 :(得分:0)

我也遇到过同样的问题,但是在使用“ asa_command”模块后解决了该问题:

- hosts: ASA
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ ansible_host }}"
      username: "{{ ansible_user }}"
      password: "{{ ansible_password }}"
      authorize: yes
      auth_pass: "{{ ansible_password }}"


  tasks:
    - name: run multiple commands and evaluate the output
      asa_command:
         commands:
            - show service-policy
            - show running-config
         provider: "{{ cli }}"
      register: output

    - debug:
          msg: "{{ output.stdout_lines }}"

答案 2 :(得分:0)

是的,必须能够设置以下两个命令:

terminal length 0

terminal width 512

您不需要特定特权即可发出这些命令。两者都可以从思科的常规CLI执行模式发出。

检查您的用户名“命令”授权特权,这可能是问题。您可能在IOS设备上配置了有限的命令授权。如果您有权使用“ show running”命令,请尝试使用以下命令检查aaa授权:

show run | i aaa authorization commands

如果看到它在路由器/交换机上定义,则需要与您的网络管理员联系,并确保他们允许您或您正在使用的ansible用户发出“终端长度”和“终端宽度” ”命令。我不知道有其他解决方法。

仅供参考,“ terminal”命令仅限于用户当前的活动会话,不会以任何方式影响任何路由器操作参数。注销后,终端参数将重置为默认值。

对于asa_command解决方法,实际上不建议这样做。 asa和ios具有不同的输出格式,因此,尽管在某些情况下可能会起作用,但可以保证在其他情况下会失败。

如果您将ASA与PIXOS一起使用并且遇到相同的问题,请使用“ Pager”命令来设置终端的长度。

请查看以下Cisco Community链接,以获取有关在不同Cisco设备上设置终端长度的更多信息:

Show the Complete Configuration without Breaks/Pauses on Cisco Router/Switches, ASA Firewall and WLC (Wireless LAN Controller)