4715b470f9
Due to some corner cases that are possible with currnet logic, it was decided to simply it and always build wheel regardless of host count. While runtime might take a bit longer, it's always better for scaling up to already have wheels prepared. Closes-Bug: #2004252 Change-Id: I5f53db8476eb394516fb35d593932d2552b95a57
166 lines
5.9 KiB
YAML
166 lines
5.9 KiB
YAML
---
|
|
# Copyright 2018, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
#
|
|
# Required variables
|
|
#
|
|
|
|
# The path where venvs are extracted to
|
|
# on the target host during an install, for example:
|
|
# venv_install_destination_path: "/openstack/venvs/myvenv"
|
|
|
|
#
|
|
# Optional variables
|
|
#
|
|
|
|
# Distribution packages which must be installed
|
|
# on all hosts when building python wheels.
|
|
venv_build_base_distro_package_list: "{{ _venv_build_base_distro_package_list }}"
|
|
venv_install_base_distro_package_list: "{{ _venv_install_base_distro_package_list }}"
|
|
|
|
# Distribution packages which must be installed
|
|
# on the host for the purpose of building the
|
|
# python wheels.
|
|
venv_build_distro_package_list: []
|
|
|
|
# Distribution packages which must be installed
|
|
# on the host when installing the venv.
|
|
venv_install_distro_package_list: []
|
|
|
|
# Set the package install state for packages
|
|
# Options are 'present' and 'latest'
|
|
venv_distro_package_state: "latest"
|
|
venv_pip_package_state: "latest"
|
|
|
|
# The time in seconds that the distribution package
|
|
# cache is valid for. This is only used by the apt
|
|
# package manager.
|
|
venv_distro_cache_valid_time: 600
|
|
|
|
# Default python packages which will be installed
|
|
# into every venv.
|
|
venv_default_pip_packages: []
|
|
|
|
# Python packages which must be installed
|
|
# into the venv.
|
|
venv_pip_packages: []
|
|
|
|
# Don't use the site-wide PIP configuration file when
|
|
# upgrading PIP (some operating systems have issued
|
|
# with upgrades w/ extra-index-urls)
|
|
# ref: https://github.com/pypa/pip/issues/4195
|
|
venv_pip_upgrade_noconf: false
|
|
|
|
# A list of constraints to be applied when building
|
|
# or installing python packages.
|
|
venv_build_constraints: []
|
|
|
|
# A list of pip constraints to be applied as global
|
|
# constraints ahead of the list in venv_build_constraints.
|
|
# This is useful for global pins across all venvs.
|
|
venv_build_global_constraints: []
|
|
|
|
# Arguments to pass to pip when building the wheels
|
|
venv_pip_build_args: ""
|
|
|
|
# Environemnt to be set for building the wheels
|
|
venv_pip_build_env: {}
|
|
|
|
# Default arguments to pass to pip when installing into
|
|
# the venv.
|
|
venv_default_pip_install_args: >-
|
|
{%- if (groups['repo_all'] is defined) and (groups['repo_all'] | length > 0) and (venv_wheel_build_enable | bool) %}
|
|
--find-links {{ openstack_repo_url | default('http://localhost') }}/os-releases/{{ openstack_release | default('master') }}/{{ _venv_build_dist_arch }}/wheels
|
|
--trusted-host {{ (openstack_repo_url | default('http://localhost')) | urlsplit('hostname') }}
|
|
{%- endif %}
|
|
|
|
# Arguments to pass to pip when installing into the venv
|
|
venv_pip_install_args: ""
|
|
|
|
# Environemnt to be set for building the wheels
|
|
venv_pip_install_env: {}
|
|
|
|
# Some python packages have C bindings which tend to be very
|
|
# particular about the version of their underlying shared libraries.
|
|
# To ensure things run smoothly for stable releases, we opt to
|
|
# use the distro packages for these python packages and symlink the
|
|
# appropriate python library files and their bindings into the venv.
|
|
# This variable should contain the list of packages installed which
|
|
# should be symlinked into the venv.
|
|
venv_packages_to_symlink: []
|
|
|
|
# The python executable to use for creating the venv
|
|
venv_python_executable: "python3"
|
|
|
|
# Enable the recreation of the venv from scratch.
|
|
# This is useful if you think the venv may be corrupted
|
|
# or if you have changed options which means that packages
|
|
# should be removed from the venv.
|
|
# Under normal circumstances, the installs will be done
|
|
# into the existing venv over the top of any previously
|
|
# installed packages.
|
|
venv_rebuild: no
|
|
|
|
# Enable the recreation of the pre-built wheels.
|
|
# This is useful if wheels build has been interrupted or
|
|
# previously failed because of connectivity or other issues.
|
|
venv_wheels_rebuild: no
|
|
|
|
# Enable/disable the build of python wheels
|
|
# If the package concerned is built from a tarball, rather
|
|
# than from a git source or pypi, then this may be best to
|
|
# set to false.
|
|
venv_wheel_build_enable: True
|
|
|
|
# Set the host where the wheels will be built.
|
|
# If this host is not the same as the target host, then
|
|
# python wheels will be built in order to speed up the
|
|
# subsequent venv builds on this host and others. When
|
|
# this is the same as the target host, then we will not
|
|
# bother building wheels.
|
|
venv_build_host: "{{ venv_build_targets[ansible_facts['distribution_version']][ansible_facts['architecture']] }}"
|
|
|
|
# The owner of directories and files held on the build host.
|
|
# venv_build_host_user_name: "root"
|
|
# venv_build_host_group_name: "root"
|
|
|
|
# The path for the wheel build venv.
|
|
# This is the path where a venv will be created on the
|
|
# build host for the purpose of building the wheels.
|
|
venv_build_host_venv_path: "/openstack/venvs/wheel-builder-{{ venv_python_executable }}"
|
|
|
|
# The path where the requirements/constraints are stored
|
|
# on the build host in order to ensure the build process
|
|
# is idempotent.
|
|
venv_build_host_requirements_path: >-
|
|
/var/www/repo/os-releases/{{ openstack_release | default('master') }}/{{ _venv_build_dist_arch }}/requirements
|
|
|
|
# The path where the wheels are cached on the build host
|
|
# for speeding up the build process.
|
|
venv_build_host_wheel_path: >-
|
|
/var/www/repo/os-releases/{{ openstack_release | default('master') }}/{{ _venv_build_dist_arch }}/wheels
|
|
|
|
# The facts to set when the venv changes during a
|
|
# build, or the installation of a venv.
|
|
# Eg:
|
|
# set_facts_when_changed:
|
|
# - section: glance
|
|
# option: venv_tag
|
|
# value: "{{ glance_venv_tag }}"
|
|
venv_facts_when_changed: []
|
|
|
|
# The INI file name to use for the fact setting.
|
|
venv_facts_dest: "openstack_ansible"
|