SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

Приложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМПриложения для соцсетей. Универсальные приложения на БЭМ
Приложения для соцсетей. Универсальные приложения на БЭМ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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Kürzlich hochgeladen (20)

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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

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.