Ansible - 将变量从角色/任务返回到剧本

pv2*_*021 5 ansible ansible-2.x

我有一个格式如下的剧本:

- name: Get VM IP
 hosts: local
 connection: local
 gather_facts: true
 roles:
   - operations/get_IP
Run Code Online (Sandbox Code Playgroud)

在我的 Role/tasks/main.yml 中

- name: GET IP.
  script: " Script to get the IP"
  register: IP_status
Run Code Online (Sandbox Code Playgroud)

我想将变量“IP_status”返回到我的剧本中。正确的做法是什么?我想返回这个变量,因为我想通过解析该值来创建一个 JSON 对象,特别是在出现错误的情况下。

Mat*_*t P 5

该变量已经作为主机变量“可用”到您的剧本中。只要角色已经运行,您就可以直接访问它:

- name: Get VM IP
  hosts: local
  connection: local
  gather_facts: true

  roles:
    - operations/get_IP

  post_tasks:
    - debug:
        var: IP_status.stdout
Run Code Online (Sandbox Code Playgroud)