### Skydive analyzer config file

auth:
  type: keystone
  analyzer_username: {{ openstack_auth['username'] }}
  analyzer_password: {{ openstack_auth['password'] }}

  keystone:
    auth_url: {{ keystone_internal_url }}/v3
    region_name: {{ openstack_region_name }}
    domain_name: Default

logging:
  level: INFO
  backends:
    - file
  file:
    path: /var/log/kolla/skydive/skydive-analyzer.log

analyzers:
{% for host in groups['skydive-analyzer'] %}
  - {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ skydive_analyzer_port }}
{% endfor %}

etcd:
  client_timeout: 100
{% if enable_etcd | bool %}
  embedded: false
  servers:
{% for host in groups['etcd'] %}
    - http://{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
{% endfor %}
{% else %}
  embedded: true
  servers:
{% for host in groups['skydive-analyzer'] %}
  - http://{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ etcd_client_port }}
{% endfor %}
  listen: {{ api_interface_address }}:{{ etcd_client_port }}
{% endif %}

analyzer:
  listen: {{ api_interface_address }}:{{ skydive_analyzer_port }}
  storage:
    backend: elasticsearch
{% if groups['skydive-agent'] | length > 1 %}
  topology:
    fabric:
{% for interface in [network_interface, neutron_external_interface]|unique %}
{% set interfaces_loop = loop %}
{% for host in groups['skydive-agent'] %}
      - TOR{{ interfaces_loop.index }}[Name=tor{{ interfaces_loop.index }}] -> TOR{{ interfaces_loop.index }}_PORT{{ loop.index }}[Name=port{{ loop.index }}, MTU=1500]
      - TOR{{ interfaces_loop.index }}_PORT{{ loop.index }} -> *[Type=host,Name={{ hostvars[host]['ansible_hostname'] }}]/{{ interface }}
{% endfor %}
{% endfor %}
{% endif %}

storage:
  elasticsearch:
    host: {{ elasticsearch_address }}:{{ elasticsearch_port }}
    maxconns: 10
    retry: 60

graph:
  backend: elasticsearch

flow:
  expire: 600
  update: 60
