Qual é a sintaxe adequada para criar links simbólicos usando ansible? Estou criando um ambiente virtual Vagrant e executando o ansible como meu provisionador. Tudo funciona bem até que eu tente criar um link simbólico para o arquivo de configuração nginx do meu site a partir de sites habilitados. Aqui está o que eu tentei.
- name: Create symlink to example.com
file:
path: /etc/nginx/sites-enabled/example.com
dest: /etc/nginx/sites-available/example.com
state: link
notify: nginx reload
Quando faço isso, encontro o seguinte erro.
ERRO: Erro de sintaxe ao carregar o script YAML, /Users/username/project/ansible/roles/nginx/tasks/main.yml
Nota: O erro pode realmente aparecer antes desta posição: linha 24, coluna 1
- nome: link simbólico para exemplo.dev.conf
arquivo: caminho=/etc/nginx/sites-enabled/example.dev.conf
estado = link
^ Ansible não foi concluído com sucesso. Qualquer saída de erro deve estar visível acima. Corrija esses erros e tente novamente.
Também tentei usar src=/etc/nginx/sites-enabled
em vez de, path
mas não consigo encontrar um exemplo definitivo disso na web.
Especificações:
- OSX Mavericks
- vagabundo 1.6.3
- Caixa Virtual 4.3
- nginx 1.6.0
- ansible 1.6.2
- Ubuntu 14.04
Responder1
fonte, caminho do arquivo ao qual vincular (aplica-se apenas a state=link). Aceitará caminhos absolutos, relativos e inexistentes. Os caminhos relativos não são expandidos.
Você precisa usar src
e dest
ao usar state=link
, não path
. Você também precisa inverter sua origem e destino, que parecem estar ao contrário (assumindo que você realmente deseja vincular sites-available
de sites-enabled
) - src
é o caminho para o qual vincular, dest
é onde criar o link simbólico.
- name: Create symlink to example.com
file: src=/etc/nginx/sites-available/example.com dest=/etc/nginx/sites-enabled/example.com state=link
notify: nginx reload