Ansible unarchive:没有到达远程主机

时间:2017-01-06 13:01:49

标签: vagrant ansible ansible-playbook

我使用Ansible作为Vagrant的供应商。我有一个任务:

- name: download and unarchive redis binaries
  unarchive:
    src: "http://download.redis.io/redis-stable.tar.gz"
    dest: "/tmp"
    remote_src: True

但由于某些原因,当我运行vagrant provision时,我在控制台中看到错误:

  

"失败":true," msg":"文件或模块不存在:/ Users / my-username / Projects / project-name / http:/ download.redis.io/redis-stable.tar.gz"`

> ansible --version
ansible 2.1.2.0

有什么想法吗?

注意:仔细查看错误http:/download。为什么只有一个反斜杠?

1 个答案:

答案 0 :(得分:1)

您的问题的语法适用于Ansible 2.2.0.0及更高版本。

对于Ansible 2.0和2.1使用:

- name: download and unarchive redis binaries
  unarchive:
    src: "http://download.redis.io/redis-stable.tar.gz"
    dest: "/tmp"
    copy: false

您的问题中的双斜杠被剥离,因为参数src被视为本地文件的路径(同样,因为除了URL之外,旧版本的Ansible还需要copy: false)。