Как использовать модуль Homebrew Ansible для утверждения ошибки список установленных пакетов

Я относительно новый пользователь Ansible. Я использую его для организации нескольких групп серверов Linux. Сейчас я расширяю это использование, чтобы использовать модуль homebrew Ansible .

Используя модуль homebrew, я хочу подтвердить, что список пакетов установлен на моих компьютерах с macOS. Пока что лучшее, что я могу сделать, это создать отдельные роли для каждого пакета, каждая из которых будет напоминать:

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

Похоже, что должен быть способ предоставить список пакетов в одной роли, который я видел раньше при использовании модуля Ansible apt.

Есть какие-нибудь советы? Должен ли сам модуль homebrew явно поддерживать такого рода операции, или, возможно, есть что-то более фундаментальное для Ansible или даже самого Python, которое предоставляет то, что я ищу?

PS - Вы можете с уверенностью предположить, что все мои машины с macOS серверы.

1
задан 26 October 2017 в 15:40
1 ответ

Более или менее я нашел решение. Моя роль теперь выглядит так, и она работает:

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

Расширенные примечания

Я действительно не знаю, какой механизм отвечает за эту работу. Мне кажется, что это вне Ansible и на самом деле это питонизм (это Lamda?). Как бы то ни было, это могло бы служить шаблоном для общего решения такого рода вещей.

Я попробовал описанное выше после того, как увидел нечто подобное, описанное для определения списка пакетов apt, этот подход выглядит так:

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

Обратите внимание, что в модуле apt я хотел, чтобы было много пакетов, перечисленных для параметр pkg . В контексте homebrew modules 'это был не pkg , а вместо name .

Точно так же оба модуля Ansible имеют параметр состояния, но для apt соответствующее значение было установлено , а для homebrew оно присутствует .

Так что я думаю, что такой синтаксис применим к Ansible в глобальном контексте. И модули не должны знать об этом или явно поддерживать это. Мощный.

1
ответ дан 3 December 2019 в 23:24

Теги

Похожие вопросы