OpenStack-Ansible Repo Server

Ansible role that deploys a repository server for python packages, git sources and package caching for deb/rpm.

To clone or view the source code for this repository, visit the role repository for repo_server.

Default variables

## Verbosity Options
debug: False

## Cap the maximum number of threads / workers when a user value is unspecified.
repo_nginx_threads_max: 16
repo_nginx_threads: "{{ [[ansible_facts['processor_vcpus']|default(2) // 2, 1] | max, repo_nginx_threads_max] | min }}"

## APT Cache Options
cache_timeout: 600

# Set the package install state for distribution and pip packages
# Options are 'present' and 'latest'
repo_server_package_state: "latest"
repo_server_pip_package_state: "latest"

repo_worker_connections: 1024
repo_server_name: openstack-slushee

repo_service_home_folder: /var/www
repo_service_user_name: nginx
repo_service_group_name: www-data

# Main web server port
repo_server_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}"
repo_server_port: 8181

# This directory is used by the repo_build, and will cause problems if synced
# to repo_containers with other releases.
repo_build_global_links_dirname: links

# This directory is used on the deploy host to create u-c files which are then
# copied to the repo server and served by http. Any other files in this
# directory placed by the deployer will also be transferred
repo_upper_constraints_path: "/etc/openstack_deploy/upper-constraints"

# Multiple repo servers must have a shared /var/www/repo
repo_server_systemd_mounts: []

# Example using remote shared filesystem to synchronise the repo contents between
# several repo servers
#repo_server_systemd_mounts:
#  - what: "gluster-server:gluster-volume-name"
#    where: "/var/www/repo"
#    type: glusterfs
#    state: 'started'
#    enabled: true

Required variables

None.

Example playbook

    - name: Setup repo servers
      hosts: repo_all
      user: root
      roles:
        - { role: "repo_server", tags: [ "repo-server" ] }