Sintassi corretta per symlink ansible


24

Qual è la sintassi corretta per creare collegamenti simbolici usando ansible? Sto creando un ambiente virtuale Vagrant ed eseguo ansible come mio fornitore. Tutto funziona bene fino a quando non provo a collegare simbolicamente al mio file di configurazione nginx del sito da siti abilitati. Ecco cosa ho provato.

- 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 lo faccio, ho riscontrato il seguente errore.

ERRORE: errore di sintassi durante il caricamento dello script YAML, /Users/username/project/ansible/roles/nginx/tasks/main.yml

Nota: l'errore potrebbe effettivamente apparire prima di questa posizione: riga 24, colonna 1

- name: collegamento simbolico a example.dev.conf

file: percorso = / etc / nginx / sites-enabled / example.dev.conf

state = Link

^ Ansible non è stato completato correttamente. Qualsiasi output degli errori dovrebbe essere visibile sopra. Correggi questi errori e riprova.

Ho anche provato a utilizzare src=/etc/nginx/sites-enabledinvece di, pathma non riesco a trovare un esempio definitivo di questo sul web.

Specifiche:

  • OSX Mavericks
  • vagabondo 1.6.3
  • VirtualBox 4.3
  • nginx 1.6.0
  • 1.6.2
  • ubuntu 14.04

Risposte:


35

Dalla documentazione :

src , percorso del file a cui collegarsi (si applica solo a state = link). Accetterà percorsi assoluti, relativi e inesistenti. I percorsi relativi non vengono espansi.

È necessario utilizzare srce destquando si utilizza state=link, non path. Devi anche invertire la tua sorgente e destinazione, che sembrano essere nel modo sbagliato (supponendo che tu voglia davvero collegarti sites-availableda sites-enabled) - srcè il percorso a cui collegarti, destè dove creare il link simbolico.

- 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.