Sintaxe adequada para link simbólico ansible

Sintaxe adequada para link simbólico ansible

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-enabledem vez de, pathmas 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

Dea documentação:

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 srce destao 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-availablede 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

informação relacionada