Ho provato con entrambi i moduli mount
e stat
. Entrambi non hanno soddisfatto le tue esigenze.
Sono riuscito a lavorare solo utilizzando un comando OS. Ho testato su famiglie Redhat, Debian e SLES.
vars:
- myvolume: /backup
tasks:
- command: mountpoint -q {{myvolume}}
register: volume_stat
failed_when: False
changed_when: False
- debug:
msg: "This is a mountpoint!"
when: volume_stat.rc == 0
Il problema è, mountpoint
comando genera stderr se il percorso non è un punto di montaggio quindi bisogna usare ignore_errors
, strega non è una buona soluzione.
EDIT 1: è menzionata da @udondan, failed_when
è un approccio migliore allora ignore_errors
in quanto non errori di output.
Potrebbe essere quello che vuoi se hai bisogno di fermare il playbook se il percorso non è un punto di mount.
Spero che qualcuno trovi una soluzione migliore di questa.
NOTA: C'è alcune piattaforme che non hanno mountpoint
di comando, per quanto ne so Darwin (Mac OSX) e SunOS (Oracle Solaris), se avete bisogno di questo per lavorare su questi sistemi, ti è necessario trovare un'altra soluzione alternativa.
fonte
2016-01-11 12:31:34
Credo di creare un punto di montaggio che l'obiettivo ha effettivamente bisogno di esistere. Ma un percorso esistente non significa che sia montato. – udondan
Hai ragione @udondan, ho cambiato la mia risposta. –
Invece di 'ignore_errors: true' puoi usare' failed_when: false'.È un po 'meno brutto perché non mostrerebbe l'errore nell'output. D'altra parte salta tutti gli errori. Non so se il comando 'mountpoint' potrebbe non esistere su alcuni sistemi? Sarebbe qualcosa su cui vorresti fallire. :) Ma se questo è il modo in cui vuoi andare, puoi armeggiare con la condizione 'failed_when'. – udondan