[ English | русский | Deutsch | 한국어 (대한민국) | English (United Kingdom) | Indonesia | español | français ]

Пример переопределения источников

Бывают ситуации, когда оператор хочет переопределить источники своей собственной копией.

Данный раздел предоставляет ситуативные примеры переопределения стандартных источников.

Переопределение версии Ansible

Переопределение версии Ansible не рекомендуется, так как каждая ветка OpenStack-Ansible создавалась под конкретную версию Ansible, и многие изменения Ansible не имеют ни обратной, ни восходящей совместимости.

Скрипт bootstrap-ansible.sh производит установку Ansible и использует переменную ANSIBLE_PACKAGE для описания версии для установки.

Например, для установки версии ansible 2.5.0:

$ export ANSIBLE_PACKAGE="ansible==2.5.0"

Установка непосредственно из git также поддерживается. Например, для установки последней версии с ветки для разработки:

$ export ANSIBLE_PACKAGE="git+https://github.com/ansible/ansible@devel#egg=ansible"

Переопределение ролей

Переопределение файла ролей было описано в руководстве по применению, в секции Adding new or overriding roles in your OpenStack-Ansible installation.

Переопределение других источников исходного кода проектов

Все репозитории источников, которые используются, определены в интегрированном репозитории openstack-ansible, в директории playbooks/defaults/repo_packages.

Например, если вы хотите переопределить репозиторий glance своим собственным, вам необходимо определить следующее:

glance_git_repo: https://<your git repo>
glance_git_install_branch: <your git branch or commit SHA>
glance_git_project_group: glance_all

Пожалуйста отметьте, что в данном примере glance, вам не нужно редактировать файл playbooks/defaults/repo_packages/openstack_services.yml.

Вместо этого можно использовать обычный механизм переопределений, и можете определить эти 3 переменные в файле user_*.yml. Просмотрите также страницу Overriding default configuration.

Примечание

Данные переменные ведут себя немного иначе, чем стандартные переменные ansible, так как они также используются нестандартным lookup плагином.

py_pkgs lookup будет игнорировать все переменные _git_ до тех пор, пока переменная _git_repo присутствует.

Таким образом, даже если вы хотите переопределить _git_install_branch для репозитория, вам необходимо также определить и переменную _git_repo среди пользовательских переменных.