Report of OpenStack Atlanta Design Summit (May 2014). It focuses mainly Neutron design summit topics and also covers general topics on the design summit sessions and nova-related topics.
4. Nova Topics in “Juno”
• Nova v2.1/v3 API
– 新規 API の Nova v3 API よりも v2 API と互換性を重視する v2.1
API を進める方向になった
– v2.1 での大きな機能は API validation
• 指定できるパラメータチェックの明確化
– v3 API の開発は凍結
http://events.linuxfoundation.jp/sites/events/files/slides/OpenStackRESTfulAPI.pdf
5. Nova Topics in “Juno”
• Next steps in Live upgrade
• Quota state-management
– Cross project では共通 quota service の話題も
• Hypervisors
– Libvirt/KVM, VMware, Hyper-V
• Scheduler / Gantt
• https://wiki.openstack.org/wiki/Summit/Juno/Etherpads#Nova
6. Neutron topics in “Juno”
• Migration from “nova-network”
– OpenStack には nova-network と neutron の二つのネットワーク機能
が存在するが、将来的には neutron に統合されることは合意ができ
ている。
– nova-network との機能互換性の実現
– nova-network からの運用環境での移行サポート
• Network/Port/ Security Group などのデータの nova から neutron への移行
• D-Plane トラフィックはダウンさせずに移行する方法が検討中。
TCP セッションが切れないレベルが当面の目標。
• API の停止は伴う見込み。
– Weekly Meeting でもステータスを確認中
• Distributed Virtual Router (DVR)
• L3-agent HA
• IPv6 full support
• Baremetal (Ironic) Integration
– Multi Tenant isolation with baremetal instance
7. Neutron topics in “Juno”
• Distributed Virtual Router with Open vSwitch
– 現在は OSS 実装では、仮想ルーターをまたぐトラフィックは必ず l3-
agent が動作するノードを経由
– Compute Node で動作する分散ルータを OVS ベースで実装
– nova-network の multi_host 機能 (ネットワークの HA 方法) の代替と
期待されている。
8. Neutron topics in “Juno”
Network Services
• Flavor Framework
– 複数の Load Balancer のサービスレベル、実装などを選
択可能にする仕組み。サービス品質に応じて、物理アプ
ライアンス、仮想アプライアンスなどを使い分けることが
可能になる。
• Service Insertion / Service Chaining
• Traffic Steering
– L2 Transparent な Network Service を実現するため、条件
にマッチしたトラフィックを特定のポートに Redirect する仕
組みを提案
• Group Policy Framework
9. Neutron topics in “Juno”
Network Services
• Service VM
– VM でネットワーク機能を実現する枠組み
– Service VM 自体は Neutron/Nova など複数プロジェク
トにまたがるため、独立したプロジェクト (stackforge)
で進めることになった。
– Service VM を実現する上での Neutron に必要機能を
整理し、Neutron 側と連携して実装していく。
• Disabling Security Group / Anti-spoofing rule
• Trunk VLAN support for VM port
• Traffic Steering
• ….
– https://etherpad.openstack.org/p/servicevm
11. Icehouse Update
• 性能、安定性の向上が中心
– Multiple API worker / RPC worker
– Improvements in dhcp-agent, l3-agent, OVS agent …
– Scenario test / API test coverage in tempest
– Third party testing (vendor driver testing)
• nova event callback
– Notify nova of port status changes when fixed_ips/floatingips change
– It ensure a VM is launched after network connection is available.
• Deprecate OVS Plugin and Linux Bridge plugin
– Migration to ML2 plugin is recommended.
• 機能面の変更は少なめ
– これまでの機能追加中心だったが、一度立ち止まって底上げ
– 次の機能追加に向けた充電期間と考えるべき
Key New Features
During Icehouse cycle the team focused on stability and testing of the
Neutron codebase. Many of the existing plugins and drivers were revised to
address known performance and stability issues.
Icehouse Release Notes
12. Multiple API/RPC Worker
Neutron server
Message queue
OVS
agent
Dhcp
agent
l3-
agent
OVS
agent
Dhcp
agent
l3-
agent
OVS
agent
Dhcp
agent
l3-
agent
DB
RPC
worker
Message queue
OVS
agent
Dhcp
agent
l3-
agent
OVS
agent
Dhcp
agent
l3-
agent
OVS
agent
Dhcp
agent
l3-
agent
DB
RPC
worker
RPC
worker
API
worker
API
worker
API
worker
API request
RPC message
https://www.openstack.org/assets/presentation-media/junohpneutronatscalefinal.pdf
13. Compute host
VM
Nova event callbacks
• Neutron のポートの状態変更を Nova に通知する仕組み
• Nova 側では、確実に、ネットワーク接続の準備が整ってか
ら VM 起動を行えるようになる。
– これまでは、Nova は Neutron ポートを作成すると、状態を確認
せずに VM 起動を行っていたので、DHCP の IP アドレス割り当
て等に失敗することがあった。
nova-compute
VM
OVS
VIF
Neutron
Server
OVS
agent
(1) Create Port
(2) Tap-dev作成
Network
(3) ネットワーク
接続準備
(4) 準備完了通知
(5) Notify Nova
(6) VM Launch
Dhcp
server
Neutronから通知
があるまで待つ
15. Neutron Icehouse update detail (1/2)
• Main Focuses are “Stabilization” and “Test Coverage” (rather than new features)
– Scenario and API test coverage in tempest
– Enable parallel testing on tempest
• Nova-Network Feature Parity
– Nova-network feature parity towards deprecating nova-network
– A lot of progresses but the completion will be Juno (or later)
• Nova Integration : nova-event-callback
– Notify nova of port status changes when fixed_ips/floatingips change
– It ensure a VM is launched after network connection is available.
• ML2 (Modular Layer2) plugin
– Add support for vnic type request to be managed by ML2 mechanism drivers
• Allows nova to request vnic type for a port : normal, direct (pass-through), macvtap
– Implement the binding:profile port attribute in ML2
– Extensible port attribute for plugin to provide details to VIF driver
– Migration from OVS / linux bridge plugin to ML2
• Provide a tool to migration DB data from deprecated plugins to ML2.
• L3 : Operational Status for Floating IPs
• Advanced Network Services (LBaaS, VPNaaS, FWaaS)
– No major features
– Some vendor drivers: Radware/Embrane (LBaaS), Cisco (VPNaaS)
16. Neutron Icehouse update detail (2/2)
• New ML2 mechanism drivers
– OpenDayLight plugin (It works with Hydrogen ODL release)
– OpenFlow agent (ryu) driver (OpenFlow controller per compute node)
– Big Switch, Mellanox, Brocade
• New plugins : IBM SDN-VE, Nuage, OneConvergence
• Existing plugins:
– BigSwtich (async ope, secgroup, resync with backend)
– Vmware NSX (renamed from Nicira NVP plugin), Plumgrid (provider network)
– NEC plugin : packet filter extension support for PFC
• Items deferred to Juno ….
– IPv6 related attributes to control IPv6 RA and address assignments (ipv6-two-attributes)
• API layer is defined but backend implementation is not merged.
– Layer 3 HA
• L3-agent HA
• Distributed Virtual Router (with OVS)
– Advanced Network Service “flavor” support
– Advanced service in VM
– and so on