8.2. Networking (neutron)
OpenStack Networking (neutron) は、クラウド環境でネットワークアーキテクチャーを作成する機能を提供します。このプロジェクトは、Software Defined Networking (SDN) ベンダーの統合ポイントを複数提供します。この統合ポイントは通常プラグインまたはエージェントのカテゴリーに分類されます。
プラグインでは、既存の neutron の機能を拡張およびカスタマイズすることができます。ベンダーは、プラグインを記述して、neutron と認定済みのソフトウェアやハードウェアの間で相互運用性を確保することができます。独自のドライバーを統合するためのモジュラーバックエンドを提供する、neutron の Modular Layer 2 (ml2) プラグインのドライバーを開発します。
エージェントでは、固有のネットワーク機能が提供されます。メインの neutron サーバーおよびそのプラグインは、neutron エージェントと通信します。既存の例には、DHCP、Layer 3 のサポート、ブリッジサポートが含まれます。
プラグインとエージェントの両方で、次のいずれかのオプションを選択できます。
- Red Hat OpenStack Platform (RHOSP) ソリューションの一部としてディストリビューションに含める。
- RHOSP のディストリビューションの後にオーバークラウドのイメージに追加する。
認定済みのハードウェアおよびソフトウェアを統合する方法を判断するために、既存のプラグインおよびエージェントの機能を分析します。特に、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 プラグインの設定ファイルに属性を追加する関数を追加します。