Questão Não é possível formar um link de um arquivo que está disponível em sites para um diretório habilitado para sites no servidor remoto usando ansible?


Não é possível formar um link de um arquivo que está disponível em sites para um diretório habilitado para sites no servidor remoto usando ansible?

Este é o comando que quero executar usando o módulo de arquivo do ansible: ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled

Este é o código da tarefa que estou usando:

- name: Enable the Identity service virtual hosts
  file: src=/etc/apache2/sites-available/wsgi-keystone.conf dest=/etc/apache2/sites-enabled state=link owner=root group=root mode=0644

Pela maneira que eu estou executando o playbook como usuário root:

Obtendo o seguinte erro:

fatal: [10.0.1.32]: FAILED! => {"changed": false, "failed": true, "gid": 0, "group": "root", "mode": "0755", "msg": "refusing to convert between directory and link for /etc/apache2/sites-enabled", "owner": "root", "path": "/etc/apache2/sites-enabled", "size": 4096, "state": "directory", "uid": 0}

2


origem


Eu não estou tão familiarizado com os links, mas encontrei esta resposta curta nos fóruns do Google. Espero que tenha algum insight. - DrZoo


Respostas:


Conjunto force=true para criar o symlink.

forçar a criação dos links simbólicos em dois casos:

  1. o arquivo de origem não existe (mas aparecerá depois);

  2. o destino existe e é um arquivo (portanto, precisamos desvincular o arquivo "caminho" e criar um link simbólico para o arquivo "src" nele).


6