ansible - unarchive - 未找到输入文件

时间:2015-09-21 15:02:08

标签: module ansible tar ansible-playbook unpack

我在Ansible(1.9.2)尝试解压缩文件时收到此错误。

19:06:38 TASK: [jmeter | unpack jmeter] ************************************************ 
19:06:38 fatal: [jmeter01.veryfast.server.jenkins] => input file not found at /tmp/apache-jmeter-2.13.tgz or /tmp/apache-jmeter-2.13.tgz
19:06:38 
19:06:38 FATAL: all hosts have already failed -- aborting
19:06:38 

我检查了目标服务器,/ tmp /apache-jmeter-2.13.tgz文件存在并且它具有有效权限(对于测试我也给了777,即使没有reqd但仍然得到上面的错误消息)。

我还检查了这个文件的md5sum(将其与apache jmeter网站上的内容进行比较) - 它匹配!

# md5sum apache-jmeter-2.13.tgz|grep 53dc44a6379b7b4a57976936f3a65e03
53dc44a6379b7b4a57976936f3a65e03  apache-jmeter-2.13.tgz

当我在这个文件上使用tar -xvzf时,tar能够在.tgz文件中显示/提取它的内容。

我能错过什么?在这一点上,我想知道Ansible中的 unarchive 方法/模块必须有一些bug。

我的最后一招(如果我无法在Ansible中取消归档工作)将使用命令:“tar -xzvf / tmp /....."但我不知道我希望这样做是我的第一选择。

1 个答案:

答案 0 :(得分:16)

Unarchive的默认行为是在本地系统上查找文件,将其复制到远程,然后解压缩。我怀疑如果你找不到文件错误,那么你需要在你的任务中指定copy=no