Rev*_*nth 1 unix windows statistics set ansible
我正在尝试构建一个工作流程,其中第一个剧本在 Windows 主机上运行,设置一些变量,其中包含正在执行的所有主机名\xe2\x80\x99s。第二个剧本应该读取这个变量并在 Unix 中使用 Windows 主机名创建一个目录。
\n尝试set_stats
在第一个剧本中使用,但变量与所有主机名连接在一起,并且在 Unix 上使用大字符串创建了一个目录。
任何解决方法或建议来实现这一目标。
\nPlaybook 在 Windows 上运行
\n- name: set hostname in a variable \n set_stats: \n data: \n current_hostname: "{{ ansible_hostname }}" \n per_host: no \n
Run Code Online (Sandbox Code Playgroud)\nPlaybook 在 Unix 上运行:
\n- name: Creates UNIX directory \n file: \n path: "{{ ARCH_DIR_LOC + current_hostname + \'/\'}}" \n state: directory \n mode: 0777 \n
Run Code Online (Sandbox Code Playgroud)\n
无法在 Ansible 运行之间保留变量。但有一个技巧:您可以将变量保存到 yaml/json 文件(位于本地主机)中,然后用于include_vars
加载它们。
保存:
- copy:
content: '{{ my_variable|to_json }}'
dest: foo.json
delegate_to: localhost
Run Code Online (Sandbox Code Playgroud)
加载中:
- include_vars:
file: foo.json
Run Code Online (Sandbox Code Playgroud)