# ansible

Роли ansible, которые мы (пока только я) используем. [Книга](https://cloud.sistematics.ru/wiki/books/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C/chapter/ansible) в нашей вики.

## Установка

- устанавливаем ansible на хост, с которого будем управлять (Control node). [Статья](https://cloud.sistematics.ru/wiki/books/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D1%8C/page/%D0%BE%D0%B1%D1%89%D0%B8%D0%B9-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-ansible) по установке и начальной настройке. В этой статье приведён inventory-файл
- клонируем git-репозиторий в какой-нибудь каталог:
    ```
    git clone https://git.sistematics.ru/yaroslav/ansible
    ```
- подгружаем git-submodules в этом каталоге:
    ```
    git submodule init && git submodule update
    ```
- затем из этого каталога организуем символические ссылки в /etc/ansible как показано на схеме ниже:
    ```
    yaroslav@arch /etc/ansible (master) $ tree
    .
    |-- ansible.cfg
    |-- files -> /home/yaroslav/ansible/files
    |-- group_vars
    |   `-- sis_srvs
    |-- hosts
    |-- playbooks -> /home/yaroslav/ansible/playbooks
    `-- roles -> /home/yaroslav/ansible/roles

    4 directories, 3 files
    ```
    В данном случае `/home/yaroslav/ansible` - каталог с git-репой. Файл `hosts` и `group_vars/sis_srvs` создаются на этапе начальной настройки.
- После этого можно проверить выполнить проверку:
    ```
    ansible all -m ping 
    ```
    Должны появиться записи типа:
    ```
    optibit_stcpl2-2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
    }
    ...
    ```
