openstack-ansible/doc/source/user/source-overrides/index.rst
Jesse Pretorius 6dca33a00d [docs] Add reference page with release information
We often get asked about how often we release and
how long it will take for a patch to reach a release.

Hopefully this page will help to answer those questions.

Change-Id: I9189126b641746a44f2d807cfd928653a8cb8233
2018-06-01 14:11:19 +01:00

2.3 KiB

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 extend_osa_roles 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 user-overrides 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.