The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Обойти группу Ansible, и вызвать модуль только для текущ. хоста, !*! xintrea, 02-Дек-19, 13:34  [смотреть все]
В инвентаре описаны хосты:

[serviceHosts]
arm1 ansible_ssh_host=192.168.1.10 ansible_ssh_user=root
km1 ansible_ssh_host=192.168.1.11 ansible_ssh_user=root
km2 ansible_ssh_host=192.168.1.12 ansible_ssh_user=root

Соответственно, в плейбуке используется группа:

hosts: serviceHosts

А задача в следующем. Нужно на каждом хосте создать директорию с его же конфигурационным именем. Ну то есть:

На arm1 создать /usr/share/myservice/settings/arm1
На km1 создать /usr/share/myservice/settings/km1
На km2 создать /usr/share/myservice/settings/km2

Я пробую в плейбуке сделать так:

  - name: Создание директорий с настройками
    file:
      path: "/usr/share/myservice/settings/{{ item }}"
      state: directory
    with_items:
    - "{{ groups['serviceHosts'] }}"

Однако в этом случае, все директории появляются на каждом хосте. А нужно чтобы одна директория с именем хоста на хосте, как написано выше.

Как это сделать?

  • Обойти группу Ansible, и вызвать модуль только для текущ. хоста, !*! ыы, 15:34 , 02-Дек-19 (1)
    >[оверквотинг удален]
    >   - name: Создание директорий с настройками
    >     file:
    >       path: "/usr/share/myservice/settings/{{ item }}"
    >       state: directory
    >     with_items:
    >     - "{{ groups['serviceHosts'] }}"
    >

    > Однако в этом случае, все директории появляются на каждом хосте. А нужно
    > чтобы одна директория с именем хоста на хосте, как написано выше.
    > Как это сделать?

         file:
           path: "/usr/share/myservice/settings/{{inventory_hostname}}"
           state: directory




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру