Team and repository tags

Team and repository tags

https://governance.openstack.org/tc/badges/openstack-ansible-os_zaqar.svg

OpenStack-Ansible Zaqar

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

This Ansible role installs and configures OpenStack Zaqar.

Documentation for the project can be found at:
https://docs.openstack.org/openstack-ansible-os_zaqar/latest/
Release notes for the project can be found at:
https://docs.openstack.org/releasenotes/openstack-ansible-os_zaqar/
The project source code repository is located at:
https://git.openstack.org/cgit/openstack/openstack-ansible-os_zaqar/
The project home is at:
https://launchpad.net/openstack-ansible
The bugs can be found at:
https://bugs.launchpad.net/openstack-ansible

Default Variables

## Verbosity Option
debug: False

# Set the host which will execute the shade modules
# for the service setup. The host must already have
# clouds.yaml properly configured.
zaqar_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}"
zaqar_service_setup_host_python_interpreter: "{{ openstack_service_setup_host_python_interpreter | default((zaqar_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}"

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

# TODO(odyssey4me):
# This can be simplified once all the roles are using
# python_venv_build. We can then switch to using a
# set of constraints in pip.conf inside the venv,
# perhaps prepared by giving a giving a list of
# constraints to the role.
zaqar_pip_install_args: >-
  {{ zaqar_developer_mode | ternary(pip_install_developer_constraints | default('--constraint /opt/developer-pip-constraints.txt'), '') }}
  {{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''), '') }}
  {{ pip_install_options | default('') }}

# Name of the virtual env to deploy into
zaqar_venv_tag: "{{ venv_tag | default('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: master
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

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

# 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 service
  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'
Documentation for the project can be found at:
https://docs.openstack.org/openstack-ansible-os_zaqar/latest/
Release notes for the project can be found at:
https://docs.openstack.org/releasenotes/openstack-ansible-os_zaqar/
The project home is at:
https://launchpad.net/openstack-ansible

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.