Установите ansible 2.5 в Ubuntu 22.04.

Я хотел бы установить Ansible 2.5 в Ubuntu 22.04, поскольку наша книга по развертыванию несовместима с более новой версией Ansible. Я пробовал установить из apt, но ppa не предоставляет версию 2.5 для 22.04. Установка по пипу тоже не работает. может кто-нибудь пролить свет на это, пожалуйста

1 ответ

Пожалуйста, прочтите это сначала


Это крайне плохая идея, поскольку ansible 2.5 был выпущен в 2018 году, то есть много лет назад в контексте темпов выпуска ansible. Как следствие:

  1. вам придется запустить эту версию ansible на контроллере в Python 2.7, которая также устарела.
  2. вам, вероятно, придется бороться с ошибками, которые уже исправлены месяцами или даже годами.

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


При этом мне удалось установить ansible 2.5 за считанные минуты в образе докера Ubuntu 22.04. Учитывая мои замечания выше, я предлагаю вам запустить устаревшую версию ansible изолированно от остальной части вашей системы в контейнере докера, если вы действительно не хотите обновлять свои плейбуки.

Вот полный сеанс тестовой установки (без вывода команд установки, который слишком длинный и неактуальный). Вы можете перевезти все это внутри Dockerfile, если хотите создать образ для своих нужд.

Я запустил мусорный тестовый контейнер со своего хоста:

      docker run -it --rm ubuntu:22.04 bash

Затем внутри контейнера:

      apt update
apt install -y python-pip
pip2 install "ansible<2.6"

И теперь мы можем проверить, правильно ли установлен ansible. Пожалуйста, обратите внимание наpython2/cryptographyпредупреждения, которые относятся к моим предварительным комментариям выше...

      $ ansible --version
/usr/local/lib/python2.7/dist-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.exceptions import InvalidSignature
ansible 2.5.15
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.18 (default, Jul  1 2022, 10:30:50) [GCC 11.2.0]
Другие вопросы по тегам