1

Я пишу роль, которая включает в себя некоторые задачи, которые должны быть выполнены на локальном компьютере с помощью операторов dedicate_to: localhost .

При сборе фактов ansible регистрирует некоторые переменные об удаленном хосте (например, ansible_os_family или ansible_system и т.д.)

Как я могу обнаружить локальную (не удаленную) семью ОС / ОС? Это может быть достигнуто с помощью сбора фактов? Или есть какой-то другой правильный способ сделать это?

1 ответ1

0

Ansible может собирать факты о любом хосте, который вы ему сообщаете, будь то удаленный сервер или локальный хост, с которого вы запускаете ansible/ansible-playbook.

пример

Образец инвентаря:

$ cat local_inv
[local]
localhost   ansible_connection=local

Образец пьесы:

$ cat os.yml
- name: OS family
  hosts: all

  tasks:
    - name: print OS Family
      debug: var=ansible_os_family

Пример выполнения:

$ ansible-playbook -i local_inv os.yml

PLAY [OS family] *********************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ***************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [print OS Family] ***************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "ansible_os_family": "Darwin"
}

PLAY RECAP ***************************************************************************************************************************************************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .