Недавно мне приходилось развернуть агенты Appdynamics в некоторых системах, которые работали как на рабочие нагрузки TOMCAT, так и JBOSS, и вот как я использовал один PlayBook, чтобы управлять им все.
1 — выяснить, какую платформу я имел дело с
#check to see if we're tomcat or jboss
- name: Check to see if tomcat user exists
stat:
path: /home/tomcat8
register: tomcat8
- name: check to see if jbossadm user exists
stat:
path: /home/jbossadm
register: jbossadm
Как видите, я выполняю простую проверку модуля статистика в домашнем каталоге пользователя, запускающую рабочую нагрузку Java. В нашем использовании случаем этих 2 пользователей никогда не сосуществуют на сервере.
2 — Связь собственности на файлы/папки на основе наших выводов выше
#creates directory path
- name: Create the directories for site specific configurations owned by tomcat8
file:
path: /usr/local/appdynamics/appagent/
state: directory
owner: tomcat8
group: tomcat8
mode: 0755
when: tomcat8.stat.exists
- name: Create the directories for site specific configurations owned by jbossadm
file:
path: /usr/local/appdynamics/appagent/
state: directory
owner: jbossadm
group: jbossadm
mode: 0755
when: jbossadm.stat.exists
Таким образом, в каждом случае мы создаем ту же путь папки и изменение владения файловой системы Linux на основе какой платформы мы выполняем эту анающую игрушку.
статус модуль и Когда Условия являются довольно мощными инструментами, которые вы можете использовать, чтобы сделать Anbible Super Firecible без необходимости проходить кучу дополнительных параметров для управления, какие задачи выполняются в ваших плейговых устройствах.
Оригинал: «https://dev.to/bak3y/deterministic-ansible-3ch7»