openstack project update neutron update · openstack days tokyo 2016 1. neutron -db-manage upgrade...

Post on 30-Jul-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Copyright©2016 NTT corp. All Rights Reserved.

OpenStack Project UpdateNeutron Update

日本電信電話株式会社NTT ソフトウェアイノベーションセンタ

第三推進プロジェクト市原 裕史

OpenStack Days Tokyo 2016

2Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

市原 裕史•所属

• NTT SIC 第三推進プロジェクト• OpenStack Developer

• Neutron Core Reviewer、その他プロジェクトへの貢献•技術: SDN/NFV中心

• パブリッククラウドの開発• LinuxconでDPDKスイッチの性能の発表• Neutronへの機能提案

自己紹介

3Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Mitaka New Features&

Newton New Feature Plans

Agenda

4Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

•新機能を含む、44の変更が加えられた• Availability Zone• QoS

Mitaka New Features

“Neutron Mitaka releasenotes” http://docs.openstack.org/releasenotes/neutron/mitaka.html

5Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Availability Zone

6Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(SBY)

• L3HA機能やMultiple DHCP機能により冗長可能

Switch

7Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(ACT)

• L3HA機能やMultiple DHCP機能により冗長可能

Switch

DHCP、Routerともに通信は維持

8Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Availability Zone がない状態

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(ACT)

• L3HA機能やMultiple DHCP機能により冗長可能

スイッチ

DHCP、Routerともに通信は維持

•複数のネットワークノードにまたがる障害に対応不可

DHCP(ACT)

ネットワークノード

Router(ACT)

DHCP(ACT)

ネットワークノード

Router(SBY)

ラック

・・・

9Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Availability Zone を利用

DHCP(ACT)

ネットワークノード

Router(ACT)

ラック

・・・ DHCP(ACT)

ネットワークノード

Router(ACT)

ラック

・・・

•管理者が各ノードのAvailability Zoneを設定• ノードAはAZ1、ノードBはAZ2等

•ユーザはリソース作成時にAZ候補を指定

AZ1 AZ2

AZ3 AZ4 ・・・

DHCP、Routerともに通信は維持

10Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS

11Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS in Mitaka

VM

コンピュートノード

Openvswitch によるegress パケット制限

VM VM

コンピュートノード

• Linuxbridge agent が QoS 機能に対応•ロールベースアクセス制御(RBAC) に対応

VM 仮想計算機

仮想スイッチ

vSwitch bridge

vSwitch/bridge

設定対象

VMVM

SR-IOV

NIC

SR-IOV によるegress パケット制限

Linuxbridge によるegress パケット制限

12Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

• QoS ingress rule/DSCP/帯域保証• Get me a Network• OpenStack Client への移行• Upgrade• Neutron Stadium

Newton New Feature Plans

13Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS in Newton

14Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS

VM

コンピュートノード

• Egress パケット制限(Mitaka)• Ingress パケット制限(開発中)• DSCP付加(Newton)

VM

• 帯域保証サポート(開発中)

VM

コンピュートノード

new VM(未配置)

• Minimum bandwithscheduling support(開発中)• 帯域保証スケジューリング(開発中)

• QoSを実現するための様々な新機能を提供• 帯域制限、帯域保証、DSCP付加など

VM 仮想計算機

仮想スイッチ

vSwitch vSwitch

vSwitch

設定対象

15Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS 帯域保証スケジューリング

VM

コンピュートノードB

VM VM

コンピュートノードC

new VM(未配置)

vSwitch vSwitch

VM

コンピュートノードA

VM

vSwitch

VM 仮想計算機

仮想スイッチvSwitch

最大10Gbps, 残り4Gbps 最大10Gbps, 残り2Gbps 最大10Gbps, 残り7Gbps

帯域保証値 3Gbps

16Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

QoS 帯域保証スケジューリング

VM

コンピュートノードB

VM VM

コンピュートノードC

new VM

vSwitch vSwitch

VM

コンピュートノードA

VM

vSwitch

VM 仮想計算機

仮想スイッチvSwitch

最大10Gbps, 残り4Gbps 最大10Gbps, 残り2Gbps 最大10Gbps, 残り4Gbps

17Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Get me a Network

18Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

•従来のVM作成のプロセスにおいてユーザはあらかじめ仮想ネットワークを作成しなければならなかった

Get me a Network なしの従来の手順

Neutron Nova

VMNetwork

VM

VM

VM

Network

(1)テナントネットワークを作成(2)ルータを作成(3)外部ネットワークとテナント

ネットワークをルータに接続

(4) 作成済みのNetworkもしくはPortを指定してVMを作成

Router

Router

ユーザ

19Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

• Neutronが自動でネットワークとルータを作成し設定を行う

Get me a Network を利用

ユーザ

Neutron Nova

VMNetwork

VM

VM

VM

Network

(1)テナントネットワークを作成(2)ルータを作成(3)外部ネットワークとテナント

ネットワークをルータに接続(1) VMを作成

Router

Router

不要

自動的に作成される

20Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Get me a Network 実行例$ curl -g -i -X POST http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.32" -H "X-Auth-Token: $TOKEN" -d '{"server": {"name": "net-auto-test", "imageRef": "58baf694-b22a-4c93-b47c-a67c62d19586", "flavorRef": "1", "max_count": 1, "min_count": 1, "networks": [{"uuid": "auto"}]}}'HTTP/1.1 202 AcceptedContent-Length: 436Location: http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984Content-Type: application/jsonOpenstack-Api-Version: compute 2.32X-Openstack-Nova-Api-Version: 2.32Vary: OpenStack-API-VersionVary: X-OpenStack-Nova-API-VersionX-Compute-Request-Id: req-28051989-738d-4293-b125-9b4759c866b8Date: Mon, 04 Jul 2016 06:21:19 GMT

{"server": {"security_groups": [{"name": "default"}], "OS-DCF:diskConfig": "MANUAL", "id": "49a11878-c0dc-4d7e-9c16-cd3080fdb984", "links": [{"href": "http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "self "}, {"href": "http://localhost:8774/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "bookmark"}], "adminPass": "9zvzhqhWCJAB"}}

“Add REST API support for get me a network” https://review.openstack.org/#/c/316398/27

21Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Get me a Network 自動作成された資源

Neutron “auto-allocated-topology” APIで同様にネットワーク、サブネット、ルータを作成可能

22Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

OpenStack Client

23Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

OpenStack Client

nova-client

neutron-client

cinder-client

glance-client

keystone-client

heat-client

・・・*-client

60以上のクライアントが存在

openstack-client

OpenStack Clientへ統一

24Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

OpenStack Client 実行例

従来のコマンド

新しいコマンド

25Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Upgrade

26Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い

従来のUpgrade

NeutronServer(Run)

NeutronServer(Run)

ユーザ API requestsDB

new tableexpand

27Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い

2. neutron server stop3. neutron-db-manage upgrade --contract

• DBのテーブル削除等、serverは停止している必要がある

従来のUpgrade

NeutronServer(Stop)

NeutronServer(Stop)

ユーザ API requestsDB

old tablecontract

28Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い

2. neutron server stop3. neutron-db-manage upgrade --contract

• DBのテーブル削除等、serverは停止している必要がある4. neutron server update & start

従来のUpgrade

NeutronServer(Run)

NeutronServer(Run)

ユーザ API requestsDB

29Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

• Oslo VersionedObject(OVO)によってリソースのバージョンが厳密に管理される

•新旧バージョンのNeutron Serverが混在可能なため、rolling upgradeが容易になる

Newton以降のUpgrade

NeutronServer(Run)

ユーザ API requestsDB

NeutronServer(Run)

30Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Neutron Stadium

31Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Neutron内部のコアリソースを管理するコアプラグイン、その他のリソースを管理するサービスプラグインをNeutronから外出しする活動が行われていた

Neutron Stadium 歴史的経緯

ML2

NEC

VMware

Juniper

Arista

Brocade

Cisco

A10

vArmour

HAproxy

Arista

Brocade Cisco

コアプラグインサービスプラグイン

Neutron

ロードバランサ

L2スイッチ

ルータ

VMware NSXでルータとL2スイッチを提供

HAproxyでロードバランサを提供

Neutron

A10

EmbranceHAproxy

NetScaler

ロードバランサ

Cisco OpenSwan

VPN

iptables vArmour

ファイアウォール

NEC

VMware Juniper

Aristabrocade

Cisco …

Arista

Cisco

Brocade

ルータ

コアプラグイン

ML2 L3Router

ソースコードの半分以上がベンダプラグイン

32Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

Mitakaのプロジェクト構成

Core pluginService plugin

bgpvpn

dragonflow

kuryr

ale-omniswitch

arista

bagpipe

cisco

calico

brocade

bigswitch

Neutron Stadium

Neutron

edge-vpn

fujitsu

hyperv

infoblox

midonet

mlnx

nec

nuageodl

ofagent

onos

ovn

ovs-dpdk

plumgrid

powervm

vsphere

vmware-nsx

octavia

client

lbaasvpnaas

fwaas

l2gwdynamic-routing

sfc

pd-driver

lib

33Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

最新のプロジェクト構成

Core pluginService plugin

bgpvpn

dragonflow

kuryr

ale-omniswitch

arista

bagpipe

cisco

calico

brocade

bigswitch

Neutron

edge-vpn

fujitsu

hyperv

infoblox

midonet

mlnx

nec

nuageodl

ofagent

onos

ovn

ovs-dpdk

plumgrid

powervm

vsphere

vmware-nsx

octavia

client

lbaasvpnaas

fwaas

l2gwdynamic-routing

sfc

pd-driver

lib

Neutron Stadium

34Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016

• BGP• Neutron本体から独立してneutron-dynamic-routingプロジェクトとしてNeutron Stadiumに加えられた

• Routed Network• Neutron側のコードは順調に取り込まれているが、Nova側の動き次第

• VLAN aware VM• Blueprintは承認され、現在はAPI部分のパッチのレビュー中

• FWaaS/VPNaaS• 人員不足によりコードの品質を保つことが難しい状態で、

FWaaS API v2の議論もなかなか進んでいない

その他のトピック

top related