Як отримати ім'я хоста поточної машини, як визначено у файлі Ansible hosts?


166

Я налаштовую програму "Play Ansible playbook" для встановлення пари серверів. Є кілька завдань, які я хочу виконати, лише якщо поточний хост - це мій локальний розробник, з ім'ям "локальний" у моєму файлі хостів. Як я можу це зробити? Я не можу його знайти ніде в документації.

Я намагався це ansible_hostnameробити, коли оператор, але він не вдається, оскільки вирішує ім'я хоста, створене під час створення машини, а не те, яке ви визначаєте у файлі хостів.

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

Відповіді:



2

Ви можете обмежити область використання ігрової книги, змінивши заголовок хостів у своїх програваннях, не покладаючись на спеціальну мітку хоста "локальний" у своєму інвентарі. Localhost не потребує спеціальної лінії в товарно-матеріальних запасах.

- name: run on all except local
  hosts: all:!local

hosts: !localhostймовірно, працює також як, наприклад, --limit '!dev'твори
timdiels

0

Це альтернатива:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.