跳转到: 导航, 搜索

Arista-neutron-ml2-driver

Arista Neutron ML2 驱动程序

概述

Arista ML2 机制驱动程序实现了 ML2 插件机制驱动程序 API。该驱动程序可以管理所有类型的 Arista 交换机。有关更多详细信息,请参阅 Arista Networks 提供的 Arista OpenStack 部署指南

目录结构

Arista Neutron ML2 驱动程序可以从位于的仓库下载:

https://git.openstack.org/openstack/networking-arista (branch: master)


该仓库包含最新的开发代码和积极维护的分支。networking-arista 的标记版本可在 Python Package Index 上获得:https://pypi.ac.cn/project/networking_arista/

需求

  • 在启用 Arista 驱动程序之前,必须启动并运行 Arista EAPI Host(请参阅下面的配置示例)。有关详细信息,请参阅 Arista OpenStack 部署指南
  • 确保已安装 jsonrpclib(请参阅 Arista OpenStack 部署指南)

配置

Arista 驱动程序配置(Neutron 服务器节点)

  • 编辑 /etc/neutron/plugins/ml2/ml2_conf_arista.ini
[ml2_arista]
# (StrOpt) EOS IP address. This is required field. If not set, all
#          communications to Arista EOS will fail
#
# eapi_host =
# Example: eapi_host = 192.168.0.1
#
# (StrOpt) EOS command API username. This is required field.
#          if not set, all communications to Arista EOS will fail.
#
# eapi_username =
# Example: arista_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 Quantum 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.
#
# sync_interval =
# Example: sync_interval = 60
#
# (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


通过提供相关的配置文件启动 neutron 服务

cd <neutron_path> && python <neutron_path>/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_arista.ini