Решение предупреждения о интерпретаторе Python в Ansible

AnsibleAnsibleBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом испытании вы столкнетесь с распространенной проблемой конфигурации Ansible, связанной с интерпретатором Python. При выполнении команд Ansible вы можете получать предупреждения о стандартном интерпретаторе Python. Ваша задача — устранить эти предупреждения путем правильной настройки Ansible. Это испытание поможет проверить вашу способность понять файлы конфигурации Ansible и внести необходимые изменения для оптимизации вашей среды Ansible.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ansible(("Ansible")) -.-> ansible/ModuleOperationsGroup(["Module Operations"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) ansible(("Ansible")) -.-> ansible/AnsibleSetupandConfigurationGroup(["Ansible Setup and Configuration"]) ansible/AnsibleSetupandConfigurationGroup -.-> ansible/install("Ansible Setup") ansible/ModuleOperationsGroup -.-> ansible/command("Execute Commands") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills ansible/install -.-> lab-390490{{"Решение предупреждения о интерпретаторе Python в Ansible"}} ansible/command -.-> lab-390490{{"Решение предупреждения о интерпретаторе Python в Ansible"}} linux/touch -.-> lab-390490{{"Решение предупреждения о интерпретаторе Python в Ansible"}} linux/nano -.-> lab-390490{{"Решение предупреждения о интерпретаторе Python в Ansible"}} end

Настройте Ansible для использования правильного интерпретатора Python

Вам предоставлена предварительно настроенная среда Ansible. Когда вы пытаетесь выполнить простую команду Ansible, вы сталкиваетесь с предупреждениями о интерпретаторе Python. Ваша задача — устранить эти предупреждения и убедиться, что команды Ansible выполняются без каких-либо проблем, связанных с интерпретатором.

Для повторения предупреждений выполните следующую команду в терминале:

ansible all -m ping

Вы должны увидеть вывод, похожий на этот:

[DEPRECATION WARNING]: Distribution ubuntu 22.04 на хосте localhost должна использовать /usr/bin/python3, но используется /usr/bin/python для обратной совместимости с предыдущими выпусками Ansible. В будущем выпуске Ansible по умолчанию будет использоваться обнаруженный платформой интерпретатор Python для этого хоста. См.
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html для дополнительной информации. Эта функция будет удалена в версии 2.12. Предупреждения о устаревании можно отключить, установив deprecation_warnings=False в ansible.cfg.
localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[DEPRECATION WARNING]: Distribution ubuntu 22.04 на хосте web1 должна использовать /usr/bin/python3, но используется /usr/bin/python для обратной совместимости с предыдущими выпусками Ansible. В будущем выпуске Ansible по умолчанию будет использоваться обнаруженный платформой интерпретатор Python для этого хоста. См.
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html для дополнительной информации. Эта функция будет удалена в версии 2.12. Предупреждения о устаревании можно отключить, установив deprecation_warnings=False в ansible.cfg.
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Ваша цель — устранить эти предупреждения и убедиться, что Ansible использует Python 3.

Задачи

  • Определить предупреждения о интерпретаторе Python при выполнении команды Ansible.
  • Создать файл конфигурации Ansible для указания правильного интерпретатора Python.
  • Проверить, что предупреждения устранены, выполнив команду снова.

Требования

  1. Все операции должны выполняться в директории /home/labex/project.
  2. Создайте файл конфигурации Ansible с именем ansible.cfg в директории /home/labex/project.
  3. Используйте соответствующий параметр конфигурации для настройки интерпретатора Python на /usr/bin/python3.
  4. Файл инвентаризации уже настроен в /etc/ansible/hosts (предоставляется в исходном наборе).

Пример

После правильной настройки Ansible выполнение команды не должно генерировать никаких предупреждений о интерпретаторе Python. Вывод должен выглядеть примерно так:

localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
web1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
✨ Проверить решение и практиковаться

Резюме

В этом испытании вы узнали, как решить распространенную проблему конфигурации Ansible, связанную с интерпретатором Python. Вы столкнулись с предупреждениями о устаревшем интерпретаторе Python и узнали, как настроить Ansible для использования Python 3 вместо него. Создав файл конфигурации Ansible (ansible.cfg) и используя параметр interpreter_python для указания правильного пути к интерпретатору Python, вы удостоверились, что Ansible использует соответствующую версию Python. Эта практика демонстрирует важность правильной настройки Ansible для беспрепятственного взаимодействия с Python-окружением вашей системы, что имеет решающее значение для избежания предупреждений и обеспечения гладкого выполнения команд Ansible.