【问题标题】:how to handle multiple prompts in Ansible如何在 Ansible 中处理多个提示
【发布时间】:2020-05-07 13:22:26
【问题描述】:

我正在将启动配置文件复制到 cisco 路由器并尝试使用 Ansible 重新加载 cisco 路由器 C2900。 尝试使用带有“提示和回答”的 ios_command 模块和 cli_command 模块,但仍然没有运气。 我的重新加载剧本看起来像

使用 ios_command 模块:

- name: reload one device
  ios_command:
    commands:
      - command: 'reload in 0:01'
        prompt: 'System configuration has been modified. Save? [yes/no]'
        answer: 'y'
        prompt: 'Proceed with reload? [confirm]'
        answer: 'y'

使用 cli_command:

- name: reload one device
  cli_command:
    commands:
      - command: 'reload in 0:01'
        prompt: 
          - 'System configuration has been modified. Save? [yes/no]'
          - 'Proceed with reload? [confirm]'
        answer: 
          - 'y'
          - 'y'

两者都不工作。它也不会抛出任何错误。 任何帮助将不胜感激。

【问题讨论】:

标签: ansible


【解决方案1】:
 vars_prompt:
       - name: var1
         private: no
         prompt: "what is var1"
       - name: var2
         private: no
         prompt: "what is var2"
       - name: var3
         private: no
         prompt: "var3"

将 ios_config 模块与提示符中的 vars 一起使用。'{{ var1 }}', '{{ var2 }}'

如果您正在响应控制台上的提示,您可以尝试使用 psexpect

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多