Team and repository tags

Team and repository tags

http://governance.openstack.org/badges/openstack-ansible-os_zaqar.svg

OpenStack-Ansible Zaqar

tags:openstack, zaqar, cloud, ansible
category:*nix

This Ansible role installs and configures OpenStack Zaqar.

Linux Distribution Support: Ubuntu 14.04

Default Variables

## Verbosity Option
debug: False

# Set the package install state for distribution packages
# Options are 'present' and 'latest'
zaqar_package_state: "latest"
zaqar_pip_package_state: "latest"

# Name of the virtual env to deploy into
zaqar_venv_tag: untagged
zaqar_bin: "/openstack/venvs/zaqar-{{ zaqar_venv_tag }}/bin"

# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
zaqar_venv_download: "{{ not zaqar_developer_mode | bool and not zaqar_local_mode | bool }}"
zaqar_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/zaqar.tgz
zaqar_venv_localpath: /opt/kong/zaqar.tgz

zaqar_git_repo: https://github.com/openstack/zaqar
zaqar_git_install_branch: "stable/queens"
zaqar_developer_mode: false
zaqar_developer_constraints:
  - "git+{{ zaqar_git_repo }}@{{ zaqar_git_install_branch }}#egg=zaqar"
zaqar_local_mode: false

## System info
zaqar_system_user_name: zaqar
zaqar_system_group_name: zaqar
zaqar_system_shell: /bin/false
zaqar_system_comment: zaqar system user
zaqar_system_user_home: "/var/lib/{{ zaqar_system_user_name }}"

## Service API info
zaqar_api_bind_address: 0.0.0.0
zaqar_api_bind_port: 8888
zaqar_service_proto: http
zaqar_api_program_name: zaqar-server
zaqar_service_region: RegionOne
zaqar_service_name: zaqar
zaqar_service_type: messaging
zaqar_service_description: "Zaqar messaging service"
zaqar_service_role_name: admin
zaqar_service_user_name: zaqar
zaqar_service_user_password: passw0rd
zaqar_service_tenant_name: service
zaqar_service_project_name: service
zaqar_service_project_domain_id: default
zaqar_service_user_domain_id: default
zaqar_service_registry_proto: "{{ zaqar_service_proto }}"
zaqar_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(zaqar_service_proto) }}"
zaqar_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(zaqar_service_proto) }}"
zaqar_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(zaqar_service_proto) }}"
zaqar_service_publicuri: "{{ zaqar_service_publicuri_proto }}://{{ zaqar_api_bind_address }}:{{ zaqar_api_bind_port }}"
zaqar_service_publicurl: "{{ zaqar_service_publicuri }}"
zaqar_service_internaluri: "{{ zaqar_service_internaluri_proto }}://{{ zaqar_api_bind_address }}:{{ zaqar_api_bind_port }}"
zaqar_service_internalurl: "{{ zaqar_service_internaluri }}"
zaqar_service_adminuri: "{{ zaqar_service_adminuri_proto }}://{{ zaqar_api_bind_address }}:{{ zaqar_api_bind_port }}"
zaqar_service_adminurl: "{{ zaqar_service_adminuri }}"
zaqar_service_cafile_path: /opt/stack/data/ca-bundle.pem
zaqar_keystone_auth_plugin: "{{ zaqar_keystone_auth_type }}"
zaqar_keystone_auth_type: password

## Apache setup
zaqar_install_apache: false
zaqar_apache_log_level: debug
zaqar_wsgi_threads: 5
zaqar_wsgi_processes: "{{ ansible_processor_vcpus | default (1) * 2 }}"

## Nginx setup
zaqar_install_nginx: false

## Management DB info
zaqar_mgmt_database_user: zaqar
zaqar_mgmt_database_password: password
zaqar_mgmt_database_name: zaqar
zaqar_mgmt_db_type: mysql+pymysql
zaqar_mgmt_db_address: "{{ inventory_hostname }}"
zaqar_mgmt_db_port: 27017
zaqar_mgmt_db_options: "?charset=utf8"
zaqar_mgmt_db_connection_string: "{{ zaqar_mgmt_db_type }}://{{ zaqar_mgmt_database_user }}:{{ zaqar_mgmt_database_password }}@{{ zaqar_mgmt_db_address }}:{{ zaqar_mgmt_db_port }}/{{ zaqar_mgmt_database_name }}{{ zaqar_mgmt_db_options }}"

## Message DB info
zaqar_message_database_user: zaqar
zaqar_message_database_password: password
zaqar_message_db_type: mongodb
zaqar_message_db_address: localhost
zaqar_message_db_port: 27017
zaqar_message_db_connection_string: "{{ zaqar_message_db_type }}://{{ zaqar_message_database_user }}:{{ zaqar_message_database_password }}@{{ zaqar_message_db_address }}:{{ zaqar_message_db_port }}"

## Token Cache
zaqar_memcached_servers: "{{ memcached_servers }}"
zaqar_memcache_security_strategy: ENCRYPT

## Zaqar config
zaqar_enable_pooling: true
zaqar_secret_key: notreallysecret
zaqar_enable_notification: false
zaqar_unreliable: true

# zaqar packages that must be installed before anything else
zaqar_requires_pip_packages:
  - virtualenv
  - python-keystoneclient # Keystoneclient needed to OSA keystone lib

# Common pip packages
zaqar_pip_packages:
  - zaqar
  - python-zaqarclient
  - PyMySQL
  - python-memcached
  - keystonemiddleware
  - pymongo
  - uwsgi

# This variable is used by the repo_build process to determine
# which host group to check for members of before building the
# pip packages required by this role. The value is picked up
# by the py_pkgs lookup.
zaqar_role_project_group: zaqar_all

## Tunable overrides
zaqar_zaqar_conf_overrides: {}

Required Variables

(to be completed)

Example Playbook

- name: Install zaqar server
  hosts: zaqar_all
  user: root
  roles:
    - role: "os_zaqar"
      zaqar_local_mode: true
      zaqar_install_nginx: true
      zaqar_api_bind_address: 192.168.33.11
      zaqar_mgmt_db_connection_string: 'sqlite:////tmp/zaqar.db'

Dependencies

This role needs pip >= 7.1 installed on the target host.

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.