8.2. networking (neutron)
OpenStack Networking (neutron)提供了在云环境中创建网络架构的功能。该项目为软件定义型网络(SDN)供应商提供了多个集成点。这些集成点通常属于插件或代理类别:
插件允许扩展和自定义预先存在的 neutron 功能。供应商可以编写插件以确保 neutron 和认证软件与硬件之间的互操作性。为 neutron Modular Layer 2 (ml2)插件开发驱动程序,它为集成您自己的驱动程序提供模块化后端。
代理提供特定的网络功能。主 neutron 服务器及其插件与 neutron 代理通信。现有示例包括 DHCP、第 3 层支持和桥接支持的代理。
对于两个插件和代理,您可以选择以下选项之一:
- 作为 Red Hat OpenStack Platform (RHOSP)解决方案的一部分来包括它们作为发布(RHOSP)解决方案
- 在 RHOSP 发行版本后将它们添加到 overcloud 镜像
分析现有插件和代理的功能,以确定如何集成您自己的认证硬件和软件。特别是,建议首先将驱动程序作为 ml2 插件的一部分开发。
上游存储库:
上游蓝图:
- Launchpad: http://launchpad.net/neutron
Puppet 模块:
Bugzilla 组件:
- openstack-neutron
- python-neutronclient
- openstack-puppet-modules
- openstack-tripleo-heat-templates
集成备注:
上游
neutron
项目包含多个集成点:-
插件位于
neutron/plugins/
中 -
ml2 插件驱动程序位于
neutron/plugins/ml2/drivers/
-
代理位于
neutron/agents/
中
-
插件位于
-
自 OpenStack Liberty 发行版以来,许多特定于供应商的 ml2 插件都已移到自己的存储库中,即以
networking-
开始。例如,Cisco 特定的插件位于 https://github.com/openstack/networking-cisco中 puppet-neutron
存储库还包含不同的目录来配置这些集成点:-
插件配置位于
manifests/plugins/
中 -
ml2 插件驱动程序配置位于
manifests/plugins/ml2/
中。 -
代理配置位于
manifests/agents/
中
-
插件配置位于
-
puppet-neutron
存储库包含用于配置功能的大量库。例如,neutron_plugin_ml2
库添加一个函数,以将属性添加到 ml2 插件配置文件中。