È possibile applicare un ruolo specifico come sudo in Ansible?Applicazione di un ruolo con utente sudo
In particolare, si tratta di ruoli recuperati da ansible-galassia, quindi la sorgente non è sotto il mio controllo.
This example suggerisce che il passaggio del ruolo sudo:yes
dovrebbe funzionare, ma presumo che il ruolo debba prima essere definito per prevedere il parametro.
This section del changelog suggerisce che sudo true
può essere impostato a livello di ruolo, tuttavia, la seguente non funziona:
---
- remote_user: "vagrant"
tasks: []
hosts: "all"
roles:
- role: "mysql"
sudo: yes
Tuttavia, applicando sudo al livello superiore fa funzionare ruolo:
---
- remote_user: "vagrant"
tasks: []
hosts: "all"
sudo: yes
roles:
- role: "mysql"
Nota: ho provato sia con sudo: true
sia con sudo: yes
e il risultato è lo stesso.
cosa succede se si cambia 'sudo: Vero 'a' sudo: si'? – Ewan
Stesso risultato: il ruolo non viene eseguito utilizzando sudo. –
Qual è la tua versione di Ansible? Sto riscontrando lo stesso problema con Ansible 2.2 e una terza parte [ruolo MySQL] (https://github.com/geerlingguy/ansible-role-mysql) che dice che entrambe le modalità dovrebbero funzionare. L'esecuzione del ruolo con un 'sudo: yes' (in realtà' diventa') fa fallire un comando della shell a causa delle autorizzazioni, mentre l'esecuzione con 'become: yes' al livello di riproduzione funziona. Chiaramente un bug di tipo Ansible come role-level 'become' dovrebbe funzionare. – RichVel