### 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