Promise Resource Reservation 09 November 2015 Peter Lee, ClearPath Networks, PTL Ildikó Váncsa, Ericsson Gerald Kunzmann, DOCOMO Euro-Labs OPNFV Summit 2015 1
Content Overview • Uses Cases and Requirements • Architectural Considerations • Implementation Design and Demo • Summary and Next Steps • Q&A 2
Promise overview • Key requirement (short-term goal) – Guarantee that at start time of a reservation, all reserved resources of that reservation are ready to be used/allocated • As-Is: Without reservation, when trying to allocate resources required for a (complex/composed) network service (NS), it may happen that during the individual allocation requests (for compute/storage/network) an error occurs, as not sufficient resources with the requested characteristics are available, and the overall instanstiation of the service may fail. – Assumption: NFVI has limited resources • Long-term goal – Efficient resource usage, e.g. • Before start time, allow for other usage of the resources before start time, instead of immediate allocation. • After start time, resources may be used for „ best effort “ services, but shall immediately be made available for the reserved service at time of the allocation of the reserved resources. • Use cases / scenarios (see also ETSI NFV IFA010) – Scheduled event: e.g. rock concert or football match with expected peak traffic – Detailed capabilities: VIM holds detailed information about managed NFVI resources and their availability, whereas the NFVO only holds abstracted information. – 5G services: many virtualized service that have to share limited resources – Disaster: valuable limited time after e.g. tsunami warning – Multi-tenant deployment: avoid resource management race conditions 3
High level flow with ETSI NFV architecture incl. allocation 3. LCM operation granting OSS/BSS Orchestrator (reservationId , …) (NFVO) 1. ResourceReser- vationRequest VNF VNF (start, end, expiry, Manager EMS 1 EMS 2 EMS 3 VNF Manager resources, amount, Manager 2. ResourceReser- attributes) vationResponse VNF 1 VNF 2 VNF 3 (reservationId, Or-Vi message) 4. ComputeAllocation NFVI Request (reservationId, Virtual Virtual Virtual flavour, attributes , …) Compute Storage Network Virtual 5. NotifyAllocated Virtualization layer Infrastructure Manager Nf-Vi Hardware resources 4
Challenges • Back to the Future effect – Simultaneous handling of reservation and immediate allocation requests – Reserve/allocate resources without end time • Complexity of OpenStack – Complex, multi-dimensional resource model – No feature loss by introducing reservation as a feature • Integration – Multiple OpenStack components to integrate with (Nova, Cinder, …) – OpenStack is not ready 5
Shim-layer approach • Pros – Flexible API update Consumer A Consumer B – No direct need for integration with OpenStack modules Reservation + – alloc./termin. requests Multi-site support for reservation Shim-layer • Cons (w/ allocation+reserv. logic+policies) – Synchronization Allocation/termination • API changes Sync capacity • System state OpenStack – No handling of complex, structured resources (Nova, Neutron, Cinder) – No affinity/anti-affinity rule support – Hides VIM I/Fs 6
OpenStack integrated approach • Pros – Pure extended VIM I/Fs – No synchronization need Consumer A Consumer B • VIM APIs are used • Code changes in VIM are synchronized automatically – Reservation + The solution is maintained by the upstream alloc./termin. requests community – No need to remodel resource structure in VIM • Cons OpenStack + BlazarX w/ policies for dealing with – Integration with multiple OpenStack resources reserved resources – Nova scheduler is not ready – Blazar project is on hold 7
Evolution of the solutions • Shim-layer approach as a prototype – API definition Shim-layer – Basic functional testing (w/ allocation+reserv. logic+policies) – Gap analysis in OpenStack in parallel • OpenStack integrated approach OpenStack + BlazarX – As a next step w/ policies for dealing with – Optimize the solution in steps reserved resources • Block reserved resources • Reuse reserved resources • Introduce priorities – Collaborate with OpenStack projects like Nova, Neutron and Cinder 8
Implementation Overview • Intent-driven N/B Interfaces – create/update/cancel/query reservation – increase/decrease/query capacity – create/destroy instance • Supported Interfaces – CLI, REST/JSON, WEBSOCKET, BROWSER • Model-driven Implementation – YANG (data model schemas) – YAML (control logic definitions) – JSON (configuration data) – JSX* (visualization schemas) 9
Data Model Hierarchy ResourcePool ResourceInstance ResourceContainer ResourceCollection ResourceReservation ComputeElement Models… ResourceAllocation ResourceElement NetworkElement Models… StorageElement Models… • Everything is a ResourceElement – Attributes and Behavior Inheritance – Polymorphic Relationships • ResourceCollection contains temporal attributes – start and end • ResourcePool represents what’s available between a given time window • ResourceReservation represents what’s planned for use between a given time window • ResourceAllocation represents what’s currently being consumed 10
Modular and Portable Design REST/JSON External Integration Promise Models Data Web Synchronization Sockets YangForge Automation CLI User Interaction Node.js Web Browsers Visualization Browser User Interaction • Promise runs on YangForge – YANG schemas • opnfv-promise.yang, nfv-infrastructure.yang, nfv-mano.yang, etc … – YAML control definitions • opnfv-promise.yaml – JSON configuration data • opnfv-promise.json • YangForge runs on Node.js and Web Browsers 11
Promise Live Demonstration • Create Reservation • Query Capacity • Create Instance • Visualizations • … and More! OPNFV Project Theater Thursday 2:25 - 2:45pm Promise - Planning the Future Peter Lee, ClearPath Networks Gerald Kunzmann, DOCOMO 12
Summary and Next Steps • Promise is all about the Future – Seamless integration with VIMs – Moving beyond capacity to capture Elements – Proactive and Reactive Notifications – Interactive and Dynamic Visualizations – Scenario planning with Simulations • Come and see the live demo @ 2:25pm • Join the Promise project! 13
Promise Info 14
Recommend
More recommend