OpenStack-Ansible Repo Server

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_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

# If you want to regenerate the repo users SSH keys, on each run, set this var to True
# Otherwise keys will be generated on the first run and not regenerated each run.
repo_recreate_keys: False

# Main web server port
repo_server_port: 8181

# Pypi Server port
repo_pypiserver_port: 8280

# Toggle the implementation of the Package Cache service
repo_pkg_cache_enabled: true

# Set the listening port for the Package Cache service
repo_pkg_cache_port: 3142

# Set the listening address for the Package Cache service
repo_pkg_cache_bind: "0.0.0.0"

# Set the git file paths
repo_git_cache_dirname: openstackgit
repo_git_cache_dir: "{{ repo_service_home_folder }}/repo/{{ repo_git_cache_dirname }}"

# Set the Package Cache Service files path
repo_pkg_cache_dirname: pkg-cache
repo_pkg_cache_dir: "{{ repo_service_home_folder }}/repo/{{ repo_pkg_cache_dirname }}"

# Set the Package Cache Service owner and group
repo_pkg_cache_owner: apt-cacher-ng
repo_pkg_cache_group: apt-cacher-ng

# Set the log directory
repo_service_log_dir: /var/log/apt-cacher-ng

# Required packages to install on the host
repo_requires_pip_packages:
  - virtualenv

# Set the list of packages for the pypiserver
repo_pypiserver_pip_packages:
 - "pypiserver[cache]==1.2.0"

# Set the path to place all built python wheels
# This is used by pypiserver to serve them
repo_pypiserver_package_path: "{{ repo_service_home_folder }}/repo/pools"

# Path to the pypiserver python virtualenv binaries
repo_pypiserver_bin: "/openstack/venvs/pypiserver-1.2.0/bin"

# Path to the pypiserver working directory
repo_pypiserver_working_dir: "{{ repo_service_home_folder }}/pypiserver"

# pypiserver service start options
repo_pypiserver_start_options: >-
  -i localhost
  -p {{ repo_pypiserver_port }}
  --log-file /var/log/pypiserver/pypiserver.log
  --disable-fallback
  {{ (debug | bool) | ternary('-vv', '-v') }}
  {{ repo_pypiserver_package_path }}

# config override var for systemd init file
repo_pypiserver_init_overrides: {}

Required variables

None.

Example playbook

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

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.