--- project_name: "vitrage" vitrage_services: vitrage-api: container_name: vitrage_api group: vitrage-api enabled: true image: "{{ vitrage_api_image_full }}" volumes: "{{ vitrage_api_default_volumes + vitrage_api_extra_volumes }}" dimensions: "{{ vitrage_api_dimensions }}" haproxy: vitrage_api: enabled: "{{ enable_vitrage }}" mode: "http" external: false port: "{{ vitrage_api_port }}" vitrage_api_external: enabled: "{{ enable_vitrage }}" mode: "http" external: true port: "{{ vitrage_api_port }}" vitrage-notifier: container_name: vitrage_notifier group: vitrage-notifier enabled: true image: "{{ vitrage_notifier_image_full }}" volumes: "{{ vitrage_notifier_default_volumes + vitrage_notifier_extra_volumes }}" dimensions: "{{ vitrage_notifier_dimensions }}" vitrage-graph: container_name: vitrage_graph group: vitrage-graph enabled: true image: "{{ vitrage_graph_image_full }}" volumes: "{{ vitrage_graph_default_volumes + vitrage_graph_extra_volumes }}" dimensions: "{{ vitrage_graph_dimensions }}" vitrage-ml: container_name: vitrage_ml group: vitrage-ml enabled: true image: "{{ vitrage_ml_image_full }}" volumes: "{{ vitrage_ml_default_volumes + vitrage_ml_extra_volumes }}" dimensions: "{{ vitrage_ml_dimensions }}" vitrage-persistor: container_name: vitrage_persistor group: vitrage-persistor enabled: true image: "{{ vitrage_persistor_image_full }}" volumes: "{{ vitrage_persistor_default_volumes + vitrage_persistor_extra_volumes }}" dimensions: "{{ vitrage_persistor_dimensions }}" #################### ## Database ##################### vitrage_database_name: "vitrage" vitrage_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}vitrage{% endif %}" vitrage_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" #################### # Docker #################### vitrage_install_type: "{{ kolla_install_type }}" vitrage_tag: "{{ openstack_tag }}" vitrage_graph_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ vitrage_install_type }}-vitrage-graph" vitrage_graph_tag: "{{ vitrage_tag }}" vitrage_graph_image_full: "{{ vitrage_graph_image }}:{{ vitrage_graph_tag }}" vitrage_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ vitrage_install_type }}-vitrage-api" vitrage_api_tag: "{{ vitrage_tag }}" vitrage_api_image_full: "{{ vitrage_api_image }}:{{ vitrage_api_tag }}" vitrage_notifier_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ vitrage_install_type }}-vitrage-notifier" vitrage_notifier_tag: "{{ vitrage_tag }}" vitrage_notifier_image_full: "{{ vitrage_notifier_image }}:{{ vitrage_notifier_tag }}" vitrage_ml_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ vitrage_install_type }}-vitrage-ml" vitrage_ml_tag: "{{ vitrage_tag }}" vitrage_ml_image_full: "{{ vitrage_ml_image }}:{{ vitrage_ml_tag }}" vitrage_persistor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ vitrage_install_type }}-vitrage-persistor" vitrage_persistor_tag: "{{ vitrage_tag }}" vitrage_persistor_image_full: "{{ vitrage_persistor_image }}:{{ vitrage_persistor_tag }}" vitrage_api_dimensions: "{{ default_container_dimensions }}" vitrage_notifier_dimensions: "{{ default_container_dimensions }}" vitrage_graph_dimensions: "{{ default_container_dimensions }}" vitrage_ml_dimensions: "{{ default_container_dimensions }}" vitrage_persistor_dimensions: "{{ default_container_dimensions }}" vitrage_api_default_volumes: - "{{ node_config_directory }}/vitrage-api/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian' else '' }}" - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - "kolla_logs:/var/log/kolla/" vitrage_notifier_default_volumes: - "{{ node_config_directory }}/vitrage-notifier/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian' else '' }}" - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - "kolla_logs:/var/log/kolla/" vitrage_graph_default_volumes: - "{{ node_config_directory }}/vitrage-graph/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian' else '' }}" - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - "kolla_logs:/var/log/kolla/" vitrage_ml_default_volumes: - "{{ node_config_directory }}/vitrage-ml/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian' else '' }}" - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - "kolla_logs:/var/log/kolla/" vitrage_persistor_default_volumes: - "{{ node_config_directory }}/vitrage-persistor/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_os_family == 'Debian' else '' }}" - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - "kolla_logs:/var/log/kolla/" vitrage_extra_volumes: "{{ default_extra_volumes }}" vitrage_api_extra_volumes: "{{ vitrage_extra_volumes }}" vitrage_notifier_extra_volumes: "{{ vitrage_extra_volumes }}" vitrage_graph_extra_volumes: "{{ vitrage_extra_volumes }}" vitrage_ml_extra_volumes: "{{ vitrage_extra_volumes }}" vitrage_persistor_extra_volumes: "{{ vitrage_extra_volumes }}" #################### # OpenStack #################### vitrage_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ vitrage_api_port }}" vitrage_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ vitrage_api_port }}" vitrage_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context('url') }}:{{ vitrage_api_port }}" vitrage_logging_debug: "{{ openstack_logging_debug }}" vitrage_keystone_user: "vitrage" openstack_vitrage_auth: "{{ openstack_auth }}" ##################### # Datasources ##################### vitrage_notifier: - name: "aodh" enabled: "{{ enable_aodh | bool }}" - name: "mistral" enabled: "{{ enable_mistral | bool }}" - name: "nova" enabled: "{{ enable_nova | bool }}" vitrage_notifiers: "{{ vitrage_notifier | selectattr('enabled', 'equalto', true) | list }}" vitrage_datasource: - name: "static" enabled: true - name: "nova.host,nova.instance,nova.zone" enabled: "{{ enable_nova | bool }}" - name: "aodh" enabled: "{{ enable_aodh | bool }}" - name: "collectd" enabled: "{{ enable_collectd | bool }}" - name: "cinder.volume" enabled: "{{ enable_cinder | bool }}" - name: "neutron.network,neutron.port" enabled: "{{ enable_neutron | bool }}" # TODO(egonzalez) Heat cannot be used with default policy.json due stacks:global_index=rule:deny_everybody. # Document process to deploy vitrage+heat. - name: "heat.stack" enabled: "no" - name: "prometheus" enabled: "{{ enable_vitrage_prometheus_datasource | bool }}" vitrage_datasources: "{{ vitrage_datasource | selectattr('enabled', 'equalto', true) | list }}" #################### # Kolla #################### vitrage_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}" vitrage_dev_repos_pull: "{{ kolla_dev_repos_pull }}" vitrage_dev_mode: "{{ kolla_dev_mode }}" vitrage_source_version: "{{ kolla_source_version }}" #################### # Notifications #################### vitrage_notification_topics: - name: notifications enabled: "{{ enable_ceilometer | bool }}" - name: vitrage_notifications enabled: True vitrage_enabled_notification_topics: "{{ vitrage_notification_topics | selectattr('enabled', 'equalto', true) | list }}" #################### # Keystone #################### vitrage_ks_services: - name: "vitrage" type: "rca" description: "Root Cause Analysis Service" endpoints: - {'interface': 'admin', 'url': '{{ vitrage_admin_endpoint }}'} - {'interface': 'internal', 'url': '{{ vitrage_internal_endpoint }}'} - {'interface': 'public', 'url': '{{ vitrage_public_endpoint }}'} vitrage_ks_users: - project: "service" user: "{{ vitrage_keystone_user }}" password: "{{ vitrage_keystone_password }}" role: "admin"