SlideShare une entreprise Scribd logo
1  sur  25
Openstack “Essex” design summitBoston – October 3-5 2001 Netstack track Quantum API 1.1 Monday, October 3rd9.30 AM
Agenda Quantum API v1.0 summary Introducing the “Operational status” concept Making the API better for clients Balancing core and extensions Improving the extension framework Rollback for Quantum API Follow-up actions
Quantum API 1.1 Operational Status for resources
Quantum API 1.0 summary Very small operation set Allowed us to be quick and release 1.0 for Diablo Only two resources managed by Quantum Network and port Attachments are plugged into ports but managed by the ‘interface’ service E.g. Nova
Session Goals Discuss and hopefully agree improvements for Quantum API v1.1 Identify work items and assign them to team members
The Operational Status concept Reflects the current provisioning state of a resource A resource could exist in the API layer but be ‘operationally’ unavailable Still being provisioned by plugin No more available due to fault or not enough capabilities in the physical layer The operational status concept will help Quantum client deal with: Asynchronous behaviour of Quantum Plugins Failures in Quantum Networks
Operational Status Explained
Operating on resourcesnot operationally available When a resource is not operationally ‘UP’, there are several options: Quantum API accepts the operation The operation is queued or put on hold until the  resource will be operational The API layer dispatches anyway the operation to the plugin Quantum API rejects the operation and returns error message It is important the API exposes a consistent behaviour regardless of the particular plugin!
Quantum API 1.1 Improvements for client applications
Making the API better for clients Quantum API 1.0 is simple and easy but: Does not handle properly ‘LIST’ operations Unable to specify filters on responses Unable to organize responses in navigable pages Does not provide clear references to resources Client must extrapolate identifier from response and then use it to build subsequent request URIs Does not discipline request from different clients
Response Filtering Examples: Return only ACTIVE PORTS for a given network Return only PORTS WITH ATTACHMENT for a given network Return only NETWORKS WITH ATTACHED PORTS for a given tenant Problem already solved by Openstack API Using URL Query parameters Example: GET /tenants/ABC/networks/XYZ/ports?state=ACTIVE
Pagination and Links Responses can contain a large number of items Client can request pagination by specifying a page number and the number of elements per page ATOM links can be provided for: easy navigation between pages Accessing resources in the page itself
Rate Limiting This probably does not need further discussion  Not really for improving client app development, but still an important thing to have on the API layer Already provided by several OpenStack services Can be implemented as a standalone middleware module Orthogonal to Quantum API
Community feedback Do you agree the previously mentioned features should be available in the next release of the Quantum API? Is there any other feature which you would like to see in the next release of the Quantum API?
Balancing core versus extensions
The ‘1.0’ balance Extremely basic functionality in core Anything which is not ‘basic’ goes into extensions
The ‘1.1’ balance Too many features in core will cause Quantum API to bloat ,[object Object]
Complex API less appealing to usersToo little features in core will force most client applications to explicitly use extensions. ,[object Object]
Small core will cause several client applications to be plugin-specific“Goldilocks” region for Quantum API
Achieving the new balance Look at the API from a different perspective Not Largest Subset of features implemented by every vendor But Shortest Subset of features that all clientswould like to have in the API. Bring some extensions (e.g.: QoS) in the Core Discuss on new features for the Core (e.g: ACLs) Vendor-specific extensions should stay extensions
Extension Framework Improvements Ying Liu
Improvements to extension framework Vendor ID enforcement Each vendor needs to use a unique ID as vendor ID URL, data extension and action extensions must have this vendor ID as prefix Extension directory’s organization: each vendor has a separate directory with the name of vendor ID Fine granularity extension checking Check the availability of an extended action or an extended data attribute Other suggestions?
Rollback Mechanism in/for Quantum Sumit Naiksatam
The need for Rollback Quantum API such as create_network, create_port, etc. results in a series of steps in the pluginimplementation Often touch heterogeneous independent systems (via the management plane).  If one of these steps fails, it leaves the system in an inconsistent state.  It would be desirable to have the ability to rollback the state of the system to a previously consistent state.
Proposed Approaches Rollback of logical operations onus of initiating the rollback on a different (possibly orchestration) service. Issue - it’s likely that some or the entire context has been lost when the higher level service decides to rollback Rollback support within plugin A utility component to cater to the rollback can be developed within Quantum and provided to the plugin

Contenu connexe

Tendances

MuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam QuestionsMuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam Questionsdouglascarnicelli
 
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process Integration
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process IntegrationKaTe AMQP Adapter for SAP Process Orchestration / SAP Process Integration
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process IntegrationKate_RESTful
 
Anypoint Connectors
Anypoint ConnectorsAnypoint Connectors
Anypoint ConnectorsSwapnil Sahu
 
Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!Fabian Hueske
 
03 spring cloud eureka service discovery
03 spring cloud eureka   service discovery03 spring cloud eureka   service discovery
03 spring cloud eureka service discoveryJanani Velmurugan
 
Building restful apis with laravel
Building restful apis with laravelBuilding restful apis with laravel
Building restful apis with laravelMindfire LLC
 
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapter
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapterOpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapter
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapterKate_RESTful
 
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapter
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapterHow to publish Open api 3.0 with SAP PO and KaTe RESTful adapter
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapterKate_RESTful
 
Samtrafiken - Lessons learned from Trafiklab
Samtrafiken - Lessons learned from TrafiklabSamtrafiken - Lessons learned from Trafiklab
Samtrafiken - Lessons learned from TrafiklabNordic APIs
 
Anypoint connector Roadmap
Anypoint connector RoadmapAnypoint connector Roadmap
Anypoint connector Roadmapdanishsm84
 
Postman 101 & Office Hours
Postman 101 & Office HoursPostman 101 & Office Hours
Postman 101 & Office HoursPostman
 
Planet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the WildPlanet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the WildDeborah Schalm
 
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...Jitendra Bafna
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsGavin Cornwell
 

Tendances (20)

MuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam QuestionsMuleSoft certified platform architect-level 1 Real Exam Questions
MuleSoft certified platform architect-level 1 Real Exam Questions
 
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process Integration
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process IntegrationKaTe AMQP Adapter for SAP Process Orchestration / SAP Process Integration
KaTe AMQP Adapter for SAP Process Orchestration / SAP Process Integration
 
Anypoint Connectors
Anypoint ConnectorsAnypoint Connectors
Anypoint Connectors
 
Raml part 2
Raml part 2Raml part 2
Raml part 2
 
Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!Apache Flink - Akka for the Win!
Apache Flink - Akka for the Win!
 
03 spring cloud eureka service discovery
03 spring cloud eureka   service discovery03 spring cloud eureka   service discovery
03 spring cloud eureka service discovery
 
Building restful apis with laravel
Building restful apis with laravelBuilding restful apis with laravel
Building restful apis with laravel
 
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapter
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapterOpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapter
OpenAPI 2.0 with SAP PO / SAP PI & KaTe's RESTful adapter
 
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapter
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapterHow to publish Open api 3.0 with SAP PO and KaTe RESTful adapter
How to publish Open api 3.0 with SAP PO and KaTe RESTful adapter
 
Samtrafiken - Lessons learned from Trafiklab
Samtrafiken - Lessons learned from TrafiklabSamtrafiken - Lessons learned from Trafiklab
Samtrafiken - Lessons learned from Trafiklab
 
Salesforce APIs
Salesforce APIsSalesforce APIs
Salesforce APIs
 
Implementation web api
Implementation web apiImplementation web api
Implementation web api
 
Anypoint connector Roadmap
Anypoint connector RoadmapAnypoint connector Roadmap
Anypoint connector Roadmap
 
Oracle api gateway overview
Oracle api gateway overviewOracle api gateway overview
Oracle api gateway overview
 
Postman 101 & Office Hours
Postman 101 & Office HoursPostman 101 & Office Hours
Postman 101 & Office Hours
 
Postman
PostmanPostman
Postman
 
Planet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the WildPlanet of the APIs: Monitoring Transactions in the Wild
Planet of the APIs: Monitoring Transactions in the Wild
 
When Camel Smiles
When Camel SmilesWhen Camel Smiles
When Camel Smiles
 
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
MuleSoft Surat Virtual Meetup#21 - MuleSoft API and RAML Design Best Practice...
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIs
 

En vedette

Приложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМПриложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМAleksandr Boichenko
 
Year 9
Year 9Year 9
Year 9hodder
 
The 3 Roots of Evil
The 3 Roots of Evil The 3 Roots of Evil
The 3 Roots of Evil OH TEIK BIN
 
Same amount—different name 2
Same amount—different name 2Same amount—different name 2
Same amount—different name 2cowhe1ek
 
нефедова
нефедованефедова
нефедоваBDA
 
Impact of 3D on Education
Impact of 3D on EducationImpact of 3D on Education
Impact of 3D on EducationIqbal Siddiqui
 
น.ส.มลฑญา ปานจันทร์ ชั้น ม.4 ห้อง 4 เลขที่ 43
น.ส.มลฑญา  ปานจันทร์  ชั้น ม.4 ห้อง 4 เลขที่ 43น.ส.มลฑญา  ปานจันทร์  ชั้น ม.4 ห้อง 4 เลขที่ 43
น.ส.มลฑญา ปานจันทร์ ชั้น ม.4 ห้อง 4 เลขที่ 43หวานจัย คลรั้ยแฟน
 
Silk senset
Silk sensetSilk senset
Silk sensetKosmet
 
Elemento de Maquina II
Elemento de Maquina IIElemento de Maquina II
Elemento de Maquina IIjcu41
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsАлександр Ежов
 
Fred Acler in Romania 2007
Fred Acler in Romania 2007Fred Acler in Romania 2007
Fred Acler in Romania 2007fredacler
 
Socks collection no branded
Socks collection   no brandedSocks collection   no branded
Socks collection no brandeddimitrypusters
 

En vedette (20)

Приложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМПриложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМ
 
Konverzije
KonverzijeKonverzije
Konverzije
 
Year 9
Year 9Year 9
Year 9
 
Gwt.org.ua (ukr)
Gwt.org.ua (ukr)Gwt.org.ua (ukr)
Gwt.org.ua (ukr)
 
The 3 Roots of Evil
The 3 Roots of Evil The 3 Roots of Evil
The 3 Roots of Evil
 
Same amount—different name 2
Same amount—different name 2Same amount—different name 2
Same amount—different name 2
 
Ca
Ca Ca
Ca
 
нефедова
нефедованефедова
нефедова
 
Impact of 3D on Education
Impact of 3D on EducationImpact of 3D on Education
Impact of 3D on Education
 
srs
srssrs
srs
 
GemeenteRaad Arnhem, Amersfoort en Enschede
GemeenteRaad Arnhem, Amersfoort en EnschedeGemeenteRaad Arnhem, Amersfoort en Enschede
GemeenteRaad Arnhem, Amersfoort en Enschede
 
Corne illusion
Corne illusionCorne illusion
Corne illusion
 
น.ส.มลฑญา ปานจันทร์ ชั้น ม.4 ห้อง 4 เลขที่ 43
น.ส.มลฑญา  ปานจันทร์  ชั้น ม.4 ห้อง 4 เลขที่ 43น.ส.มลฑญา  ปานจันทร์  ชั้น ม.4 ห้อง 4 เลขที่ 43
น.ส.มลฑญา ปานจันทร์ ชั้น ม.4 ห้อง 4 เลขที่ 43
 
Silk senset
Silk sensetSilk senset
Silk senset
 
Elemento de Maquina II
Elemento de Maquina IIElemento de Maquina II
Elemento de Maquina II
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
Plans for shooting
Plans for shootingPlans for shooting
Plans for shooting
 
Fred Acler in Romania 2007
Fred Acler in Romania 2007Fred Acler in Romania 2007
Fred Acler in Romania 2007
 
Presentación flammingtext
Presentación flammingtextPresentación flammingtext
Presentación flammingtext
 
Socks collection no branded
Socks collection   no brandedSocks collection   no branded
Socks collection no branded
 

Similaire à Quantum API 1.1 proposal

B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testingb4usolution .
 
Rest API Automation with REST Assured
Rest API Automation with REST AssuredRest API Automation with REST Assured
Rest API Automation with REST AssuredTO THE NEW Pvt. Ltd.
 
Hands-On Lab: Application Performance Management Command Center: Automate Mon...
Hands-On Lab: Application Performance Management Command Center: Automate Mon...Hands-On Lab: Application Performance Management Command Center: Automate Mon...
Hands-On Lab: Application Performance Management Command Center: Automate Mon...CA Technologies
 
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays
 
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST APIstephenbhadran
 
How to – rest api proxy to soap webservice
How to – rest api proxy to soap webserviceHow to – rest api proxy to soap webservice
How to – rest api proxy to soap webserviceSon Nguyen
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyAndrew Coleman
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APIDavid Keener
 
React gsg presentation with ryan jung & elias malik
React   gsg presentation with ryan jung & elias malikReact   gsg presentation with ryan jung & elias malik
React gsg presentation with ryan jung & elias malikLama K Banna
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web ServicesJorgen Thelin
 
What are restful web services?
What are restful web services?What are restful web services?
What are restful web services?Aparna Sharma
 
Learn Advanced JAVA at ASIT
Learn Advanced JAVA at ASITLearn Advanced JAVA at ASIT
Learn Advanced JAVA at ASITASIT
 
Orchestration service v2
Orchestration service v2Orchestration service v2
Orchestration service v2Raman Gupta
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsCA Technologies
 
Evolution of netflix conductor
Evolution of netflix conductorEvolution of netflix conductor
Evolution of netflix conductorvedu12
 
Modern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfModern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfAparna Sharma
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookKaty Slemon
 

Similaire à Quantum API 1.1 proposal (20)

B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testing
 
Rest API Automation with REST Assured
Rest API Automation with REST AssuredRest API Automation with REST Assured
Rest API Automation with REST Assured
 
Hands-On Lab: Application Performance Management Command Center: Automate Mon...
Hands-On Lab: Application Performance Management Command Center: Automate Mon...Hands-On Lab: Application Performance Management Command Center: Automate Mon...
Hands-On Lab: Application Performance Management Command Center: Automate Mon...
 
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
 
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST API
 
How to – rest api proxy to soap webservice
How to – rest api proxy to soap webserviceHow to – rest api proxy to soap webservice
How to – rest api proxy to soap webservice
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
React gsg presentation with ryan jung & elias malik
React   gsg presentation with ryan jung & elias malikReact   gsg presentation with ryan jung & elias malik
React gsg presentation with ryan jung & elias malik
 
The DNA of a great API
The DNA of a great APIThe DNA of a great API
The DNA of a great API
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web Services
 
What are restful web services?
What are restful web services?What are restful web services?
What are restful web services?
 
Learn Advanced JAVA at ASIT
Learn Advanced JAVA at ASITLearn Advanced JAVA at ASIT
Learn Advanced JAVA at ASIT
 
Orchestration service v2
Orchestration service v2Orchestration service v2
Orchestration service v2
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration Topics
 
Evolution of netflix conductor
Evolution of netflix conductorEvolution of netflix conductor
Evolution of netflix conductor
 
Dean – first draft
Dean – first draftDean – first draft
Dean – first draft
 
Modern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdfModern REST API design principles and rules.pdf
Modern REST API design principles and rules.pdf
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
 

Dernier

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Quantum API 1.1 proposal

  • 1. Openstack “Essex” design summitBoston – October 3-5 2001 Netstack track Quantum API 1.1 Monday, October 3rd9.30 AM
  • 2. Agenda Quantum API v1.0 summary Introducing the “Operational status” concept Making the API better for clients Balancing core and extensions Improving the extension framework Rollback for Quantum API Follow-up actions
  • 3. Quantum API 1.1 Operational Status for resources
  • 4. Quantum API 1.0 summary Very small operation set Allowed us to be quick and release 1.0 for Diablo Only two resources managed by Quantum Network and port Attachments are plugged into ports but managed by the ‘interface’ service E.g. Nova
  • 5. Session Goals Discuss and hopefully agree improvements for Quantum API v1.1 Identify work items and assign them to team members
  • 6. The Operational Status concept Reflects the current provisioning state of a resource A resource could exist in the API layer but be ‘operationally’ unavailable Still being provisioned by plugin No more available due to fault or not enough capabilities in the physical layer The operational status concept will help Quantum client deal with: Asynchronous behaviour of Quantum Plugins Failures in Quantum Networks
  • 8. Operating on resourcesnot operationally available When a resource is not operationally ‘UP’, there are several options: Quantum API accepts the operation The operation is queued or put on hold until the resource will be operational The API layer dispatches anyway the operation to the plugin Quantum API rejects the operation and returns error message It is important the API exposes a consistent behaviour regardless of the particular plugin!
  • 9. Quantum API 1.1 Improvements for client applications
  • 10. Making the API better for clients Quantum API 1.0 is simple and easy but: Does not handle properly ‘LIST’ operations Unable to specify filters on responses Unable to organize responses in navigable pages Does not provide clear references to resources Client must extrapolate identifier from response and then use it to build subsequent request URIs Does not discipline request from different clients
  • 11. Response Filtering Examples: Return only ACTIVE PORTS for a given network Return only PORTS WITH ATTACHMENT for a given network Return only NETWORKS WITH ATTACHED PORTS for a given tenant Problem already solved by Openstack API Using URL Query parameters Example: GET /tenants/ABC/networks/XYZ/ports?state=ACTIVE
  • 12. Pagination and Links Responses can contain a large number of items Client can request pagination by specifying a page number and the number of elements per page ATOM links can be provided for: easy navigation between pages Accessing resources in the page itself
  • 13. Rate Limiting This probably does not need further discussion  Not really for improving client app development, but still an important thing to have on the API layer Already provided by several OpenStack services Can be implemented as a standalone middleware module Orthogonal to Quantum API
  • 14. Community feedback Do you agree the previously mentioned features should be available in the next release of the Quantum API? Is there any other feature which you would like to see in the next release of the Quantum API?
  • 15. Balancing core versus extensions
  • 16. The ‘1.0’ balance Extremely basic functionality in core Anything which is not ‘basic’ goes into extensions
  • 17.
  • 18.
  • 19. Small core will cause several client applications to be plugin-specific“Goldilocks” region for Quantum API
  • 20. Achieving the new balance Look at the API from a different perspective Not Largest Subset of features implemented by every vendor But Shortest Subset of features that all clientswould like to have in the API. Bring some extensions (e.g.: QoS) in the Core Discuss on new features for the Core (e.g: ACLs) Vendor-specific extensions should stay extensions
  • 22. Improvements to extension framework Vendor ID enforcement Each vendor needs to use a unique ID as vendor ID URL, data extension and action extensions must have this vendor ID as prefix Extension directory’s organization: each vendor has a separate directory with the name of vendor ID Fine granularity extension checking Check the availability of an extended action or an extended data attribute Other suggestions?
  • 23. Rollback Mechanism in/for Quantum Sumit Naiksatam
  • 24. The need for Rollback Quantum API such as create_network, create_port, etc. results in a series of steps in the pluginimplementation Often touch heterogeneous independent systems (via the management plane). If one of these steps fails, it leaves the system in an inconsistent state. It would be desirable to have the ability to rollback the state of the system to a previously consistent state.
  • 25. Proposed Approaches Rollback of logical operations onus of initiating the rollback on a different (possibly orchestration) service. Issue - it’s likely that some or the entire context has been lost when the higher level service decides to rollback Rollback support within plugin A utility component to cater to the rollback can be developed within Quantum and provided to the plugin
  • 26. Rollback support within plugin Register rollback points in the system. Each rollback point would require providing a reference to a corresponding rollback function, and a context to be passed to that function. The framework would associate a time-stamp and ID with each rollback point and maintain this ordered list of rollback points. Ability to initiate a rollback by providing the reference to a particular rollback point (either via the ID or the timestamp). Ability to perform rollback on a range of rollback points. Ability to inspect the rollback points. If parallel operations are permitted by the plugin, the framework would need to ensure that the rollback points are ordered correctly.