我想使用 Ansible 在某些 Windows 7 主机上安装(旧版本的)Eclipse。我的剧本安装了 Java 并下载了所需的 zip 文件,但win_unzip
没有提取该文件。
- name: Ensure Eclipse Luna RCP is extracted
win_unzip:
src: '%TEMP%\eclipse-rcp-luna-SR2-win32.zip'
dest: '%userprofile%\Programs\eclipse_luna'
tags: eclipse
当任务执行时,我可以看到一个powershell
进程正在 Windows 主机上运行,并且正在消耗一些 CPU。一段时间后,我通过 Ansible 获得了以下结果:
TASK [Ensure Eclipse Luna RCP is extracted] ************
ok: [192.168.1.87] => {"changed": false,
"dest": "C:\\Users\\testuser\\Programs\\eclipse_luna",
"removed": false,
"src": "C:\\Users\\testuser\\AppData\\Local\\Temp\\eclipse-rcp-luna-SR2-win32.zip"
}
结果有点奇怪,因为win_zip
文档状态:
这个模块并不是真正幂等的,它每次都会提取档案,并报告变化。
因此我期望的是changed
而不是ok
。尽管如此,文件夹C:\Users\testuser\Programs\eclipse_luna
还是创建了,但是是空的。
答案1
在发布这个问题后,我尝试自己解压该 zip 文件,并发现该文件有错误。
删除文件并重新运行剧本后,win_unzip
一切如预期。