[ English | Indonesia | 한국어 (대한민국) | English (United Kingdom) | русский | français | español | Deutsch ]
Source overriding examples¶
There are situations where a deployer want to override sources with its own fork.
This chapter gives case-by-case examples on how to override the default sources.
Overriding Ansible version¶
Overriding the default Ansible version is not recommended, as each branch of OpenStack-Ansible has been built with the a specific Ansible version in mind, and many Ansible changes are neither backwards nor forward compatible.
The bootstrap-ansible.sh
script installs Ansible, and uses
a variable ANSIBLE_PACKAGE
to describe which version to install.
For example to install ansible version 2.5.0:
$ export ANSIBLE_PACKAGE="ansible==2.5.0"
Installing directly from git is also supported. For example, from the tip of Ansible development branch:
$ export ANSIBLE_PACKAGE="git+https://github.com/ansible/ansible@devel#egg=ansible"
Overriding the roles¶
Overriding the role file has been explained in the reference guide, on the Adding new or overriding roles in your OpenStack-Ansible installation section.
Overriding other upstream projects source code¶
All the upstream repositories used are defined in the
openstack-ansible
integrated repository, in the
playbooks/defaults/repo_packages
folder.
For example, if you want to override glance
repository with your
own, you need to define the following:
glance_git_repo: https://<your git repo>
glance_git_install_branch: <your git branch or commit SHA>
glance_git_project_group: glance_all
Please note, for this glance example, that you do not need to edit the
playbooks/defaults/repo_packages/openstack_services.yml
file.
Instead, the usual overrides mechanism can take place, and you
can define these 3 variables in a user_*.yml
file.
See also the Overriding default configuration page.
Note
These variables behave a little differently than standard ansible precedence, because they are also consumed by a custom lookup plugin.
The py_pkgs lookup
will ignore all _git_ variables unless the
_git_repo
variable is present.
So even if you only want to override the _git_install_branch
for
a repository, you should also define the _git_repo
variable
in your user variables.