Невозможно вернуть семейство ОС с помощью ansible_os_family

Я пытаюсь получить семейство ОС моей хост-машины, используя ansible. Я использую эту команду.

ansible my-host -i hosts.ini -m setup | grep ansible_os_family

Так выглядит мой хост-файл.

[my-host] myhostvm.com  ansible_ssh_pass=mypw ansible_ssh_user=root

Однако я получаю это сообщение:

"ansible_os_family": "NA",

Я тоже пытаюсь запустить это.

ansible my-host -i hosts.ini -m setup | grep ansible_distribution

Это результат:

"ansible_distribution": "NA", "ansible_distribution_major_version": "NA", "ansible_distribution_release": "NA", "ansible_distribution_version": " NA ",

Может кто-нибудь объяснить мне, почему он не возвращает никакое семейство ОС?

0
задан 9 September 2016 в 20:23
1 ответ

Код Ansible для получения значения для ansible_os_family находится в lib / ansible / module_utils /facts.py[1159448 sizes.

Если семейство ОС целевой системы не содержится в списке OS_FAMILY , вам необходимо исправить код Ansible, чтобы добавить семейство ОС. В настоящее время список содержит:

OS_FAMILY = dict(
    RedHat = 'RedHat', Fedora = 'RedHat', CentOS = 'RedHat', Scientific = 'RedHat',
    SLC = 'RedHat', Ascendos = 'RedHat', CloudLinux = 'RedHat', PSBM = 'RedHat',
    OracleLinux = 'RedHat', OVS = 'RedHat', OEL = 'RedHat', Amazon = 'RedHat',
    XenServer = 'RedHat', Ubuntu = 'Debian', Debian = 'Debian', Raspbian = 'Debian', Slackware = 'Slackware', SLES = 'Suse',
    SLED = 'Suse', openSUSE = 'Suse', SuSE = 'Suse', SLES_SAP = 'Suse', Gentoo = 'Gentoo', Funtoo = 'Gentoo',
    Archlinux = 'Archlinux', Manjaro = 'Archlinux', Mandriva = 'Mandrake', Mandrake = 'Mandrake', Altlinux = 'Altlinux',
    Solaris = 'Solaris', Nexenta = 'Solaris', OmniOS = 'Solaris', OpenIndiana = 'Solaris',
    SmartOS = 'Solaris', AIX = 'AIX', Alpine = 'Alpine', MacOSX = 'Darwin', FreeBSD = 'FreeBSD', HPUX = 'HP-UX', openSUSE_Leap = 'Suse'

Ansible проверяет наличие / etc / $ OS-release для определения ОС. Если семейство ОС вашей целевой системы находится в списке OS_FAMILY , вам следует проверить правильность / etc / $ OS-release .

1
ответ дан 4 December 2019 в 16:29

Теги

Похожие вопросы