{%- from "opencontrail/map.jinja" import control with context %}
#
# Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
#
# Control-node configuration options
#

[DEFAULT]
# bgp_config_file=bgp_config.xml
# bgp_port=179
collectors= {% for member in control.analytics.members %}{{ member.host }}:8086 {% endfor %}
# gr_helper_bgp_disable=0
# gr_helper_xmpp_disable=0
hostip={{ control.bind.address }} # Resolved IP of `hostname`
#hostname=ctl-oc-1 # Retrieved as `hostname`
{%- if control.name is defined %}
hostname={{ control.name }}
{%- else %}
hostname={{ pillar.linux.system.name }}
{%- endif %}
# http_server_port=8083
# log_category=
# log_disable=0
log_file=/var/log/contrail/contrail-control.log
# log_files_count=10
# log_file_size=10485760 # 10MB
log_level=SYS_NOTICE
log_local=1
# test_mode=0
{%- if control.xmpp.tls.enabled %}
xmpp_auth_enable = {{ control.xmpp.tls.auth.enabled }}
xmpp_server_cert = {{ control.xmpp.tls.cert_file }}
xmpp_server_key = {{ control.xmpp.tls.key_file }}
xmpp_ca_cert = {{ control.xmpp.tls.ca_cert_file }}
{%- endif %}
# Sandesh send rate limit can be used to throttle system logs transmitted per
# second. System logs are dropped if the sending rate is exceeded
# sandesh_send_rate_limit=

[CONFIGDB]
#AMQP related configs
#rabbitmq_server_list=ip1:port1 ip2:por1
rabbitmq_server_list={% for member in control.message_queue.members -%}{{ member.host }}:{{ member.get('port', 5672) }} {% endfor %}
rabbitmq_user={{ control.message_queue.get('user', 'guest') }}
rabbitmq_password={{ control.message_queue.get('password', 'guest') }}
rabbitmq_vhost={{ control.message_queue.get('vhost', '') }}
# rabbitmq_use_ssl=false
# rabbitmq_ssl_version=
# rabbitmq_ssl_keyfile=
# rabbitmq_ssl_certfile=
# rabbitmq_ssl_ca_certs=
#
config_db_server_list={% for member in control.database.members %}{{ member.host }}:9041 {% endfor %}
# config_db_username=
# config_db_password=

[SANDESH]
# sandesh_ssl_enable=false
# introspect_ssl_enable=false
# sandesh_keyfile=/etc/contrail/ssl/private/server-privkey.pem
# sandesh_certfile=/etc/contrail/ssl/certs/server.pem
# sandesh_ca_cert=/etc/contrail/ssl/certs/ca-cert.pem
