1 votos

Cómo utilizar Ansible ' s módulo de homebrew para afirmar una lista de paquetes instalados

Soy relativamente nuevo usuario de Ansible. Yo lo uso para orquestar un par de grupos de servidores Linux. Ahora estoy en expansión que el uso Ansible del homebrew módulo.

Usar el homebrew módulo, quiero afirmar que una lista de los paquetes que están instalados en mi macOS cajas. Hasta ahora, lo mejor que puedo hacer es separar las funciones de cada paquete, con cada función se asemeja a:

- name: "htop"
  homebrew:
    name: htop
    state: present

Parece que debe haber una manera de dar una lista de los paquetes en una sola función, que la he visto antes cuando se utiliza el Ansible apt módulo.

Algún consejo? ¿El homebrew propio módulo expresamente tienen soporte para este tipo de operación, o tal vez hay algo más fundamental para Ansible o incluso el propio Python que proporciona lo que estoy buscando?

PS - Se puede asumir con seguridad que mi macOS máquinas son todos los servidores.

1voto

Jonatham Puntos 31

He encontrado una solución, más o menos. Mi papel ahora este aspecto, y funciona:

- name: "brew favourites"
  homebrew: name={{ item }} state=present
  with_items:
    - htop
    - nmap
    - telnet
    - wget
    - nginx

Extendida Notas

Yo no sé realmente lo que es el mecanismo responsable de este trabajo. Me siento como fuera de Ansible y en realidad es un Pythonism (esta Es una Lamda?). Sea lo que sea, podría servir como una plantilla para una solución general a este tipo de cosas.

He probado el de arriba después de ver algo similar a la descrita para la definición de una lista de paquetes apt, el enfoque parece:

- name: "Asserting apt packages"
  apt: pkg={{ item }} state=installed
  with_items:
    - aptitude
    - vim
    - htop
    - nmap
    - curl
    - screen
    - open-vm-tools

Por lo tanto tenga en cuenta que en el apt módulo, quería tener muchos paquetes listados para el pkg parámetro. En el homebrew módulosde contexto, no era pkg, pero en lugar del nombre.

Del mismo modo, tanto Ansible módulos tienen un parámetro de estado, pero para apt el valor apropiado fue instalado, y con homebrew es presente.

Así que creo que este tipo de sintaxis se aplica a Ansible en un contexto global. Y módulos deben tener cero conocimiento o apoyo explícito de este. Potentes.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: