OpenStack-Ansible Monasca

OpenStack-Ansible Monasca

Ansible role for deploying Monasca Monitoring-as-a-Service.

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

Default variables

#
# (c) 2016 Donovan Francesco <donovan.francesco@is.co.za>
# (c) 2016 Paul Stevens <paul.stevens@is.co.za>
monasca_package_state: "latest"
monasca_pip_package_state: "latest"

debug: False

monasca_system_user_name: monasca
monasca_system_group_name: monasca
monasca_system_comment: Monasca system user
monasca_system_user_shell: /bin/false
monasca_system_user_home: "/var/lib/{{ monasca_system_user_name }}"
monasca_log_directory: "/var/log/monasca"
monasca_conf_directory: "/etc/monasca"
monasca_lock_path: "/var/lock/monasca"

monasca_service_name: monasca
monasca_service_user_name: monasca
monasca_readonly_user_name: monasca-read-only
monasca_service_type: monitoring
monasca_service_description: "OpenStack Monitoring Service (Monasca)"
monasca_service_project_name: service
monasca_service_role_names:
  - admin
monasca_role_names:
  - monasca-user
monasca_service_region: RegionOne
monasca_service_host: "0.0.0.0"
monasca_bind_port: 8070
monasca_service_publicuri_proto: http
monasca_service_publicurl: "{{ monasca_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ monasca_bind_port }}/v2.0"
monasca_service_internaluri_proto: http
monasca_service_internalurl: "{{ monasca_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ monasca_bind_port }}/v2.0"
monasca_service_adminuri_proto: http
monasca_service_adminurl: "{{ monasca_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ monasca_bind_port }}/v2.0"

# Name of the virtual env to deploy into
monasca_venv_tag: untagged
# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
monasca_venv_download: "{{ not monasca_developer_mode | bool }}"
monasca_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/monasca.tgz

monasca_bin: "/openstack/venvs/monasca-{{ monasca_venv_tag }}/bin"

# Toggle developer mode
monasca_developer_mode: false

monasca_api_git_repo: "https://git.openstack.org/openstack/monasca-api"
monasca_api_git_install_branch: stable/ocata

monasca_log_api_bind_port: 5607
monasca_log_api_git_repo: "https://git.openstack.org/openstack/monasca-log-api"
monasca_log_api_git_install_branch: stable/ocata

monasca_ceilometer_git_repo: "https://git.openstack.org/openstack/monasca-ceilometer"
monasca_ceilometer_git_install_branch: stable/ocata

monasca_common_git_repo: "https://git.openstack.org/openstack/monasca-common"
monasca_common_git_install_branch: stable/ocata

monasca_thresh_git_repo: "https://git.openstack.org/openstack/monasca-thresh"
monasca_thresh_git_install_branch: stable/ocata

monasca_transform_git_repo: "https://git.openstack.org/openstack/monasca-transform"
monasca_transform_git_install_branch: master

monasca_notification_git_repo: "https://git.openstack.org/openstack/monasca-notification"
monasca_notification_git_install_branch: stable/ocata

monasca_persister_git_repo: "https://git.openstack.org/openstack/monasca-persister"
monasca_persister_git_install_branch: stable/ocata

monasca_python_client_git_repo: "https://git.openstack.org/openstack/python-monascaclient"
monasca_python_client_git_install_branch: stable/ocata

monasca_developer_constraints:
  - "git+{{ monasca_api_git_repo }}@{{ monasca_api_git_install_branch }}#egg=monasca-api"
  - "git+{{ monasca_log_api_git_repo }}@{{ monasca_log_api_git_install_branch }}#egg=monasca-log-api"
  - "git+{{ monasca_ceilometer_git_repo }}@{{ monasca_ceilometer_git_install_branch }}#egg=monasca-ceilometer"
  - "git+{{ monasca_common_git_repo }}@{{ monasca_common_git_install_branch }}#egg=monasca-common"
  - "git+{{ monasca_thresh_git_repo }}@{{ monasca_thresh_git_install_branch }}#egg=monasca-thresh"
  - "git+{{ monasca_transform_git_repo }}@{{ monasca_transform_git_install_branch }}#egg=monasca-transform"
  - "git+{{ monasca_notification_git_repo }}@{{ monasca_notification_git_install_branch }}#egg=monasca-notification"
  - "git+{{ monasca_persister_git_repo }}@{{ monasca_persister_git_install_branch }}#egg=monasca-persister"
  - "git+{{ monasca_python_client_git_repo }}@{{ monasca_python_client_git_install_branch }}#egg=python-monascaclient"

# Keystone AuthToken/Middleware
monasca_keystone_auth_plugin: password
monasca_service_project_domain_name: Default
monasca_service_user_domain_name: default

# Galera defaults
monasca_galera_address: 127.0.0.1

# Grafana Galera
monasca_grafana_galera_database: grafana
monasca_grafana_galera_username: grafana

monasca_backend_database: "influxdb"
monasca_use_mod_wsgi: false

monasca_api_metrics_driver: "monasca_api.common.repositories.influxdb.metrics_repository:MetricsRepository"

monasca_api_init_config_overrides: {}
monasca_log_api_init_config_overrides: {}

monasca_services:
  monasca-api:
    group: monasca_api
    service_name: monasca-api
    service_init_bin: "{{ monasca_bin }}/gunicorn"
    service_init_options: "-n monasca-api -k eventlet --worker-connections=2000 --backlog=1000 --paste /etc/monasca/api-config.ini"
    init_config_overrides: "{{ monasca_api_init_config_overrides }}"
  monasca-log-api:
    group: monasca_log_api
    service_name: monasca-log-api
    service_init_bin: "{{ monasca_bin }}/gunicorn"
    service_init_options: "-n monasca-log-api -k eventlet --worker-connections=2000 --backlog=1000 --paste /etc/monasca/log-api-config.ini"
    init_config_overrides: "{{ monasca_log_api_init_config_overrides }}"

monasca_requires_pip_packages:
  - httplib2
  - python-glanceclient
  - python-keystoneclient
  - python-monascaclient
  - pyyaml
  - virtualenv
  - virtualenv-tools

monasca_pip_packages:
  - keystoneauth1
  - simport
  - gunicorn
  - python-memcached
  - monasca-common
  - monasca-api
  - monasca-log-api
  - monasca-persister
  - monasca-transform
  - monasca-notification
  - influxdb

monasca_api_paste_ini_overrides: {}
monasca_api_config_overrides: {}
monasca_log_api_paste_ini_overrides: {}
monasca_log_api_config_overrides: {}
monasca_log_api_logging_overrides: {}
monasca_notification_yml_overrides: {}
monasca_persister_yml_overrides: {}

# 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.
monasca_role_project_group: monasca_all

# Specify Ansible-Kafka mirror for the ansible-kafka role
monasca_ansible_kafka_mirror: http://mirror.ox.ac.uk/sites/rsync.apache.org

Required variables

None.

Dependencies

None.

Example playbook

- name: Install Monasca
   hosts: all
   user: root
   roles:
     - role: "openstack-ansible-os_monasca"
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.