Nova Austin Design Summit Update Yingxin Cheng Nova

  • Slides: 34
Download presentation
Nova Austin Design Summit Update Yingxin Cheng, Nova Developer, Intel OTC Alex Xu, Nova

Nova Austin Design Summit Update Yingxin Cheng, Nova Developer, Intel OTC Alex Xu, Nova Core, Intel OTC ‹#›

Summit schedule Date-time Topic Decisions 09: 00 - 10: 30, Wed, April 27 Scheduler

Summit schedule Date-time Topic Decisions 09: 00 - 10: 30, Wed, April 27 Scheduler and resource tracking evolution https: //etherpad. openstack. org/p/newton-nova-scheduler 11: 00 - 11: 40, Wed, April 27 Neutron cross-project https: //etherpad. openstack. org/p/newton-nova-neutron 11: 50 - 12: 30, Wed, April 27 Performance VMs CI and technical debt https: //etherpad. openstack. org/p/newton-nova-performance-vms 14: 40 - 16: 10, Wed, April 27 Cells v 2 https: //etherpad. openstack. org/p/newton-nova-cells 16: 30 - 17: 10, Wed, April 27 Low-hanging fruit / getting started in Nova https: //etherpad. openstack. org/p/newton-nova-getting-started 17: 20 - 18: 00, Wed, April 27 Live Migration https: //etherpad. openstack. org/p/newton-nova-live-migration 09: 00 - 10: 30, Wed, April 28 API discoverability and policy https: //etherpad. openstack. org/p/newton-nova-api 11: 00 - 11: 40, Wed, April 28 Cinder cross-project https: //etherpad. openstack. org/p/newton-nova-cinder 11: 50 - 12: 30, Wed, April 28 Feature classification and testing https: //etherpad. openstack. org/p/newton-nova-feature-classification 14: 20 - 16: 50, Wed, April 28 Glance/Ironic/Keystone cross-project https: //etherpad. openstack. org/p/newton-nova-glance https: //etherpad. openstack. org/p/newton-nova-ironic https: //etherpad. openstack. org/p/newton-nova-keystone 17: 00 - 17: 40, Wed, April 28 Priorities and schedule for Newton https: //etherpad. openstack. org/p/newton-nova-summit-priorities Wed, April 27 -28 Nova: Unconference #1, #2 https: //etherpad. openstack. org/p/newton-nova-summit-unconference All Day, Wed, April 29 Contributors Meetup https: //etherpad. openstack. org/p/newton-nova-meetup ‹#› 2

Newton Priorities Item Primary Contacts Area Cells V 2 Andrew Laski Cells Scheduler Jay

Newton Priorities Item Primary Contacts Area Cells V 2 Andrew Laski Cells Scheduler Jay Pipes Scheduler API Improvements Andrew Laski, Sean Dague API os-vif Integration Daniel Berrange Refactor Libvirt Storage Pools Matthew Booth Live Migration Get Me a Network Matt Riedemann Cross Project (Neutron) Glance v 2 Integration Mike Fedosin Cross Project (Glance) 3

Main content • Cells V 2* • Scheduler** • API • Live migration •

Main content • Cells V 2* • Scheduler** • API • Live migration • Versioned notifications • Cross-project: Neutron, Cinder, Ironic, Glance • Unconference • Other topics ‹#› 4

Cells v 2 ‹#›

Cells v 2 ‹#›

Cells v 2 API Cell 0 • 数据管理方式:��更新,数据无冗余 nova api database (minimal global data

Cells v 2 API Cell 0 • 数据管理方式:��更新,数据无冗余 nova api database (minimal global data and links) nova DB nova api DB nova scheduler nova conductor • 消息管理方式:消息切�并�� • �度: 全局�度,完整功能 • 部署和使用: Cell Foo Cell Bar Cell�唯一部署方式 nova DB 功能无限制,一�升� Message. Queue nova compute nova conductor nova DB nova conductor Message. Queue nova compute • �丁模式 -> 正式内置支持 ‹#› 8

Cells v 2 进展及将来 • Mitaka API database � cell,数据�切�, cell v 2 升�

Cells v 2 进展及将来 • Mitaka API database � cell,数据�切�, cell v 2 升� 具 • Newton data migration: flavor, aggregate, quota, keypair Message. Queue切�,scheduler升�,升� 具 Cell 0��,多 cell支持 • Ocata +:cell awareness scheduling, cell v 1 -v 2 upgrade tool • 困�:数据�失效��,跨服�支持 ‹#› 9

Scheduler ‹#›

Scheduler ‹#›

Scheduler 现状及问题 • Nova-scheduler与Nova深度耦合 只能�度nova相关�源 只能接受nova的�度�求 目前�于半独立状� • 性能�� : “Dive into nova scheduler

Scheduler 现状及问题 • Nova-scheduler与Nova深度耦合 只能�度nova相关�源 只能接受nova的�度�求 目前�于半独立状� • 性能�� : “Dive into nova scheduler performance” • 功能�展:目前只支持filter scheduler和caching scheduler ‹#› 1 1

Towards generic scheduler • 共享�源的�理: shared-storage, routed network, FPGA • 定量�源的通用化�理: resource-provider, inventories, allocations,

Towards generic scheduler • 共享�源的�理: shared-storage, routed network, FPGA • 定量�源的通用化�理: resource-provider, inventories, allocations, generic resource pool • 定性�源的通用化�理: resource-providers-standardize-extra-specs(sys, dev, hypervisor) • 分离Scheduler API/endpoint:scheduler-rest-api, scheduler-separate-endgoal • 独立scheduler服�,不再依� nova:generic scheduler ‹#› 1 2

Scheduler 性能提升 Messages REQ API Conductor Scheduler Conductor Compute VM • Scheduler 性能剖析:从数据�中刷新所有的�点信息 •

Scheduler 性能提升 Messages REQ API Conductor Scheduler Conductor Compute VM • Scheduler 性能剖析:从数据�中刷新所有的�点信息 • 瓶�:database, 90%+ • 解决方案0:caching-scheduler • 解决方案0. 1:multiple filter schedulers • 解决方案1:resource-provider scheduler • 解决方案2:shared-state scheduler ‹#› 1 3

Scheduler 功能完善 • Filtering and weighing • Congress: policy engine • Watcher: policy-based scheduler

Scheduler 功能完善 • Filtering and weighing • Congress: policy engine • Watcher: policy-based scheduler • Machine learning • Network/Storage infrastructure awareness ‹#› 1 4

Nova REST API 现状 • /v 1. 1: deprecated and removed • /v 2.

Nova REST API 现状 • /v 1. 1: deprecated and removed • /v 2. 0: supported, legacy, frozen deprecated in Mitaka, removed in Newton • Third party API: supported, legacy AWS EC 2 GCE • /v 2. 1: current since Liberty, v 2. 0 compatible ‹#› 1 6

Nova REST API v 2. 1 特性 • One Compute API(in progress): no extension

Nova REST API v 2. 1 特性 • One Compute API(in progress): no extension • Compatibility & Evolution: microversion support • Validation: json-schema Explicit exception handling • policy. json ‹#› 1 7

Nova REST API v 2. 1: microversion HTTP request header: • Not provided: Act

Nova REST API v 2. 1: microversion HTTP request header: • Not provided: Act as the minimum supported version • Provided: Respond with the API at the specified microversion Respond “ 406 Not Acceptable” if outside the range of supported microversion • Latest: Respond at the maximum microversion ‹#› 1 8

Nova REST API v 2. 1: Newton plan • Policy default in code •

Nova REST API v 2. 1: Newton plan • Policy default in code • Policy discovery from API • API documentation within Nova project • Deprecation: v 2. 0 code proxy API extension ‹#› 1 9

Live Migration ‹#›

Live Migration ‹#›

Live-migration 自动化决策 • 定�虚�机的可用性 tolerate_migration_risk = True down_time_max = 10 cpu_throttling_max = 50 tolerate_suspend/force_complete

Live-migration 自动化决策 • 定�虚�机的可用性 tolerate_migration_risk = True down_time_max = 10 cpu_throttling_max = 50 tolerate_suspend/force_complete = True • 根据不同的可用性来�� • �拷� -后拷�技� ‹#› 2 3

Live-migration Miscs • Code and Live Migration Scheduling scheduler自��� 人 ��, scheduler���束条件 人 强制��

Live-migration Miscs • Code and Live Migration Scheduling scheduler自��� 人 ��, scheduler���束条件 人 强制�� • Live Migration orchestrated via conductor 取消compute - compute 的直接通信 迁移�程由nova-conductor��及控 制 • PCI/NUMA claims ‹#› 2 4

Versioned Notifications • Nova��消息推送 • 公共接口(public interface) • Envelope (oslo. messaging) + Payload (versioned)

Versioned Notifications • Nova��消息推送 • 公共接口(public interface) • Envelope (oslo. messaging) + Payload (versioned) • instance. update, instance. delete ‹#›

Cross-project Neutron, Cinder, Ironic, Glance ‹#›

Cross-project Neutron, Cinder, Ironic, Glance ‹#›

Cross-project Neutron • Neutron routed networks https: //review. openstack. org/263898 “A routed network, in

Cross-project Neutron • Neutron routed networks https: //review. openstack. org/263898 “A routed network, in this context, is a physical network infrastructure that implements scaled networks by routing instead of large L 2 broadcast domains. ” • Get me a network https: //review. openstack. org/283206 �行“nova boot”, 自�生成网��构(网�,子网,路由和端口) • Deprecate nova-network https: //review. openstack. org/310539 �化cell v 2的�� 没有分离nova-net的�划 最早在Ocata版本完成 ‹#› 2 7

Cross-project Contd. • Cinder Volume multi-attach 服���份 � 用支持:Oracle RAC etc. • Ironic 复用nova-scheduler

Cross-project Contd. • Cinder Volume multi-attach 服���份 � 用支持:Oracle RAC etc. • Ironic 复用nova-scheduler 重构networking代�(nova, neutron) • Glance v 2 integration ‹#› 2 8

Nova unconference ‹#›

Nova unconference ‹#›

Nova unconference • Scheduler debugging: https: //review. openstack. org/306647 • Supporting ephemeral storage backed

Nova unconference • Scheduler debugging: https: //review. openstack. org/306647 • Supporting ephemeral storage backed by Scale. IO: https: //review. openstack. org/304715 • Injecting credentials when booting an instance: https: //review. openstack. org/305455 • Scoped policies for server groups: https: //review. openstack. org/247654 • Attach/detach filesystem shares created by Manila to Nova instances: https: //review. openstack. org/310050 • Disabling local/ephemeral disk in flavors: https: //review. openstack. org/267673 • Mix and match resource federation: https: //blueprints. launchpad. net/nova/+spec/mix-and-matchresource-federation • Direct download/upload of images from/to the RBD glance backend: https: //review. openstack. org/308481 ‹#› 3 0

Other topics How to start to contribute code The nova feature classification ‹#›

Other topics How to start to contribute code The nova feature classification ‹#›

Low hanging fruit • Python 3 integration • Test: mox -> mock fake UUID

Low hanging fruit • Python 3 integration • Test: mox -> mock fake UUID usage clean up random stacktraces • Remove Nova. Object. Dict. Compat • Api-ref documentation • Bug triage • Full list with contacts: https: //etherpad. openstack. org/p/nova-low-hanging-fruit ‹#› 3 2

Nova feature classification • Feature classification: Incomplete Experimental Complete: API doc, Admin doc, Feature

Nova feature classification • Feature classification: Incomplete Experimental Complete: API doc, Admin doc, Feature tempest test, reliable, fully support Complete and required: Supported by all drivers Deprecated • Doc: http: //docs. openstack. org/developer/nova/feature_classification. html • Support matrix: http: //docs. openstack. org/developer/nova/support-matrix. html ‹#› 3 3

Q&A

Q&A