top today seguidores populares para likes hashtags for conseguir copy ansible nagios nrpe

copy - today - Archivo de envío de Ansible al primer destino conocido



tags for likes apk (1)

Una opción podría ser simplemente buscar el archivo nrpe.cfg existente y luego registrar esa ubicación como una variable que se utilizará para la tarea de copia.

Podrías hacerlo a través de una tarea de shell / comando que solo usa find o loop en un montón de ubicaciones con stat para verificar si existen.

Entonces puedes tener algo como esto:

- name: find nrpe.cfg shell: find / -name nrpe.cfg register: nrpe_path - name: overwrite nrpe.cfg copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item}}" with_items: - nrpe_path.stdout_lines when: nrpe_path.stdout != "" register: nrpe_copied - name: copy nrpe.cfg to box if not already there copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{ default_nrpe_path }}" when: nrpe_copied is not defined

Como Mxx señaló en los comentarios, tenemos una tercera tarea para volver a copiar a alguna ruta predeterminada (potencialmente /etc/nagios/ o cualquier otra ruta realmente) si el archivo nrpe.cfg no ha sido encontrado por find .

Para usar stat lugar de una tarea de shell / comando, podría hacer algo como esto:

- name: find nrpe.cfg stat: path: {{ item }} with_items: - "/etc/nagios/nrpe.cfg" - "/usr/local/nagios/etc/nrpe.cfg" - "/usr/lib64/nagios/etc/nrpe.cfg" - "/usr/lib/nagios/etc/nrpe.cfg" - "/opt/nagios/etc/nrpe.cfg" register: nrpe_stat - name: overwrite nrpe.cfg copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item.stat.path}}" when: item.stat.exists with_items: - "{{nrpe_stat.results}}"

Estoy enviando un archivo de configuración para miles de nodos, debido a algunas personalizaciones hay quizás 5 o 6 rutas para ese archivo (solo hay un archivo para el host pero la ruta puede variar) y no hay una manera fácil de descubrir el ubicación predeterminada con hechos.

Basado en esto, estoy buscando una forma de configurar el "destino" del módulo de copia, como podemos establecer el "src", con un bucle with_first_found .

Algo como eso:

copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item}} with_items: - "/etc/nagios/nrpe.cfg" - "/usr/local/nagios/etc/nrpe.cfg" - "/usr/lib64/nagios/etc/nrpe.cfg" - "/usr/lib/nagios/etc/nrpe.cfg" - "/opt/nagios/etc/nrpe.cfg"

PD: Estoy enviando nrpe.cfg así que si alguien conoce una mejor manera de encontrar dónde está el nrpe.cfg predeterminado, será mucho más fácil.

EDIT 1 : me las arreglé para trabajar con la ayuda de @ydaetskcoR así:

- name: find nrpe.cfg stat: path: "{{ item }}" with_items: - "/etc/nagios/nrpe.cfg" - "/usr/local/nagios/etc/nrpe.cfg" - "/usr/lib64/nagios/etc/nrpe.cfg" - "/usr/lib/nagios/etc/nrpe.cfg" - "/opt/nagios/etc/nrpe.cfg" register: nrpe_stat no_log: True - name: Copy nrpe.cfg copy: src=/foo/{{ ansible_hostname }}/nrpe.cfg dest="{{item.stat.path}}" when: item.stat.exists no_log: True with_items: - "{{nrpe_stat.results}}"