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.
bootstrap-ansible.sh script installs Ansible, and uses
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
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
Instead, the usual overrides mechanism can take place, and you
can define these 3 variables in a
See also the Overriding default configuration page.
These variables behave a little differently than standard ansible precedence, because they are also consumed by a custom lookup plugin.
py_pkgs lookup will ignore all _git_ variables unless the
_git_repo variable is present.
So even if you only want to override the
a repository, you should also define the
in your user variables.