我正在试图做一个脚本的高级版本,在那里根据“何时”的条件运行一个angular色。 在我的情况下,以root身份进行连接,创buildansible_bot用户,授予他特权并拒绝对根的访问。
这一切都在第一次运行,但它不能在第二次运行,因为ansible无法连接作为第一步的根。
我试图通过使用下面的逻辑省略这一步,但它返回一个错误“评估条件时:错误:root_connection.rc == 0”。
- hosts: ansible-test gather_facts: false vars: - ansible_ssh_user: "{{ initial_ssh_user }}" tasks: - name: Test SSH connection for {{ initial_ssh_user }} local_action: shell ssh {{ initial_ssh_user }}@{{ inventory_hostname }} exit register: root_connection ignore_errors: True roles: - { role: add-ansible-bot, when: root_connection.rc == 0 } - hosts: ansible-test sudo: yes roles: - common
你可以build议吗? 谢谢!
这可能只是您的任务不在angular色之前运行的问题。 如果你真的需要做你正在做的事情,你可以使用pre_task: ::
- hosts: ansible-test gather_facts: false vars: - ansible_ssh_user: "{{ initial_ssh_user }}" pre_tasks: - name: Test SSH connection for {{ initial_ssh_user }} local_action: shell ssh {{ initial_ssh_user }}@{{ inventory_hostname }} exit register: root_connection ignore_errors: True roles: - role: add-ansible-bot when: root_connection.rc == 0