在循环上创建多个符号链接会导致不稳定的行为

时间:2016-12-14 12:39:55

标签: ansible ansible-2.x

我一直在尝试在一个Ansible任务中创建8种不同产品的符号链接。这是我的代码。

- name: Other symlinks of Products
  file:
    src: "/var/www/html/{{ item.src }}"
    dest: "/var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/{{ item.dest }}"
    state: link
  with_items:
  - src:  simpleRepo
    dest:  p1
  - src:  simpleRepo
    dest:  p2
  - src:  simpleRepo
    dest:  p3
  - src:  simpleRepo
    dest:  p4
  - src:  simpleRepo
    dest:  p5
  - src:  simpleRepo
    dest:  p6
  - src:  simpleRepo
    dest:  p7
  - src:  simpleRepo
    dest:  p8

错误:

  

(item = {u'dest':u'p3',u'src':u'simpleRepo'})=> {“failed”:true,“gid”:0,“group”:“root”,“item”:{“dest”:“p3”,“src”:“simpleRepo”},“mode”:“0755” ,“msg”:“拒绝在目录和链接之间转换/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2004 / p3”,“owner”:“root”,“path”:“/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2004 / p3“,”size“:4096,”state“:”directory“,”uid“:0}

错误2

  

失败:[54.85.157.222](item = {u'dest':u'p8',u'src':u'simpleRepo'})=> {“failed”:true,“item”:{“dest”:“p8”,“src”:“simpleRepo”},“msg”:“链接时出错:[Errno 2]没有这样的文件或目录”,“路径“:”/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2005 / p8“,”state“:”absent“}

以下是内容列表/var/www/html/simpleRepo只有index.html/var/www/html/simpleRepoTwo/simpleRepoThree/有基于时间戳20161214-1922 , 20161214-1921的发布文件夹,/var/www/html/simpleRepoTwo/simpleRepoThree/20161214-1922/应该有p1, p2 }符号链接指向p1 -> /var/www/html/simpleRepo

我首先尝试创建所有文件夹并进行符号链接simpleRepo。另外,我使用了command模块,更改了目录。像这样。仍然,创建符号链接是不稳定的。

 - command: ln -s /var/www/html/simpleRepo /var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/p2
   args:
     chdir: /var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果它对其他人有帮助,我收到了同样的错误消息:

refusing to convert between directory and link for /path/to/file

因为我的playbook中的早期任务创建了一个与我尝试在dest中创建的链接同名的目录。