--- # 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 the host for the purpose of building the venv. 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: [] # Arguments to pass to pip when installing into the venv venv_pip_install_args: "" # The python executable to use for creating the venv venv_python_executable: "python2" # 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 # 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: "{{ ((groups['repo_all'] is defined) and (groups['repo_all'] | length > 0)) | ternary(groups.get('repo_all')[0], inventory_hostname) }}" # 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" # The path where the wheels are cached on the build host # for speeding up the build process. # TODO(odyssey4me): # Once we remove the repo build process, this needs to point # to the location where wheels are served by pypiserver. # For now we use this to ensure that we don't rebuild the wheels # that were already built by the repo build process. It has also # been found that pypiserver hangs when it encounters duplicated # wheels. venv_build_host_wheel_path: >- /var/www/repo/os-releases/{{ openstack_release | default('master') }}/{{ (ansible_distribution | lower) | replace(' ', '_') }}-{{ ansible_distribution_version.split('.')[:2] | join('.') }}-{{ ansible_architecture | lower }} # 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"