# Defines configuration options specific for Arista ML2 Mechanism driver

[ml2_arista]
# (StrOpt) Comma separated list of IP addresses for all CVX instances in
#          the high availabilty CVX cluster. This is a required field with
#          a minimum of one address (if CVX is deployed in a non-redundant
#          (standalone) manner). If not set, all communications to Arista
#          EOS will fail.
#
# eapi_host =
# Example: eapi_host = 192.168.0.1, 192.168.11.1, 192.168.22.1
#
# (StrOpt) EOS command API username. This is required field.
#          if not set, all communications to Arista EOS will fail.
#
# eapi_username =
# Example: eapi_username = admin
#
# (StrOpt) EOS command API password. This is required field.
#          if not set, all communications to Arista EOS will fail.
#
# eapi_password =
# Example: eapi_password = my_password
#
# (StrOpt) Defines if hostnames are sent to Arista EOS as FQDNs
#          ("node1.domain.com") or as short names ("node1"). This is
#          optional. If not set, a value of "True" is assumed.
#
# use_fqdn =
# Example: use_fqdn = True
#
# (IntOpt) Sync interval in seconds between Neutron plugin and EOS.
#          This field defines how often the synchronization is performed.
#          This is an optional field. If not set, a value of 30 seconds
#          is assumed.
#
# sync_interval =
# Example: sync_interval = 30
#
# (StrOpt) Defines Region Name that is assigned to this OpenStack Controller.
#          This is useful when multiple OpenStack/Neutron controllers are
#          managing the same Arista HW clusters. Note that this name must
#          match with the region name registered (or known) to keystone
#          service. Authentication with Keysotne is performed by EOS.
#          This is optional. If not set, a value of "RegionOne" is assumed.
#
# region_name =
# Example: region_name = RegionOne
#
# (BoolOpt) Specifies if the Security Groups need to be deployed for baremetal
#           deployments. If this flag is set to "True", this means switch_info
#           (see below) must be defined. If this flag is not defined, it is
#           assumed to be False.
#
# sec_group_support =
# Example: sec_group_support = True
#
# (ListOpt) This is a comma separated list of Arista switches where
#           security groups (i.e. ACLs) need to be applied. Each string has
#           three values separated by ":" in the following format.
#           <switch IP>:<username>:<password>,<switch IP>:<username>:<password>
#           This is required if sec_group_support is set to "True"
#
# switch_info =
# Example: switch_info = 172.13.23.55:admin:admin,172.13.23.56:admin:admin
#
# (StrOpt)  Tells the plugin to use a sepcific API interfaces to communicate
#           with CVX. Valid options are:
#               EAPI - Use EOS' extensible API.
#               JSON - Use EOS' JSON/REST API.
# api_type =
# Example: api_type = EAPI
#
# (ListOpt) This is a comma separated list of physical networks which are
#           managed by Arista switches. This list will be used in
#           by the Arista ML2 plugin to make the decision if it can
#           participate on binding or updating a port.
#
# managed_physnets =
# Example: managed_physnets = arista_network
#
# (BoolOpt) Specifies whether the Arista ML2 plugin should bind ports to vxlan
#           fabric segments and dynamically allocate vlan segments based on
#           the host to connect the port to the vxlan fabric.
#
# manage_fabric =
# Example: manage_fabric = False


[l3_arista]

# (StrOpt) primary host IP address. This is required field. If not set, all
#          communications to Arista EOS will fail. This is the host where
#          primary router is created.
#
# primary_l3_host =
# Example: primary_l3_host = 192.168.10.10
#
# (StrOpt) Primary host username. This is required field.
#          if not set, all communications to Arista EOS will fail.
#
# primary_l3_host_username =
# Example: primary_l3_username = admin
#
# (StrOpt) Primary host password. This is required field.
#          if not set, all communications to Arista EOS will fail.
#
# primary_l3_host_password =
# Example: primary_l3_password = my_password
#
# (StrOpt) IP address of the second Arista switch paired as
#          MLAG (Multi-chassis Link Aggregation) with the first.
#          This is optional field, however, if mlag_config flag is set,
#          then this is a required field. If not set, all
#          communications to Arista EOS will fail. If mlag_config is set
#          to False, then this field is ignored
#
# secondary_l3_host =
# Example: secondary_l3_host = 192.168.10.20
#
# (IntOpt) Connection timeout interval in seconds. This interval
#          defines how long an EAPI request from the driver to '
#          EOS waits before timing out. If not set, a value of 10
#          seconds is assumed.
#
# conn_timeout =
# Example: conn_timeout = 10
#
# (BoolOpt) Defines if Arista switches are configured in MLAG mode
#          If yes, all L3 configuration is pushed to both switches
#          automatically. If this flag is set, ensure that secondary_l3_host
#          is set to the second switch's IP.
#          This flag is Optional. If not set, a value of "False" is assumed.
#
# mlag_config =
# Example: mlag_config = True
#
# (BoolOpt) Defines if the router is created in default VRF or a
#          a specific VRF. This is optional.
#          If not set, a value of "False" is assumed.
#
# Example: use_vrf = True
#
# (IntOpt) Sync interval in seconds between Neutron plugin and EOS.
#          This field defines how often the synchronization is performed.
#          This is an optional field. If not set, a value of 180 seconds
#          is assumed.
#
# l3_sync_interval =
# Example: l3_sync_interval = 60

[arista_type_driver]

# (IntOpt) VLAN Sync interval in seconds between the type driver and EOS.
#          This interval defines how often the VLAN synchronization is
#          performed. This is an optional field. If not set, a value of
#          10 seconds is assumed.
#
# sync_interval =
# Example: sync_interval = 10
