SlideShare a Scribd company logo
1 of 36
Download to read offline
OpenStack Nova ‘Reverse Engineer’
2016 May 07
Hieu LE
Vietnam OpenStack Community Organizer
Fujitsu Vietnam - PODC
Copyright 2016 Fujitsu Vietnam Limited
Starting Point (1)
1 Copyright 2016 Fujitsu Vietnam Limited
Video Tutorial: how to setup remote debugging environment for OpenStack Nova,
request from some community members.
Ref: https://youtu.be/Z0PmKyeZjjA
Starting Point (2)
 @NamNH (Fujitsu) contribute to documentation: “Debugging
OpenStack Neutron”
Ref: https://vietstack.wordpress.com/2016/04/12/how-to-remote-debugging-openstack-neutron/
Hope that he will present at next
technical meetup about Neutron ;)
2 Copyright 2016 Fujitsu Vietnam Limited
Agenda
Copyright 2016 Fujitsu Vietnam Limited
1. Architecture overview
2. Data Flows
3. Nova Code Structure Components
4. Conclusion
3
“to provide massively scalable, on demand,
self service access to compute resources”
OpenStack Nova mission
http://docs.openstack.org/developer/nova/project_scope.html
4 Copyright 2016 Fujitsu Vietnam Limited
“to provide massively scalable, on demand,
self service access to compute resources”
OpenStack Nova mission
http://docs.openstack.org/developer/nova/project_scope.html
5 Copyright 2016 Fujitsu Vietnam Limited
Virtual Servers Containers Bare Metal Servers Driver Parity
Agenda
Copyright 2016 Fujitsu Vietnam Limited
1. Architecture overview
2. Data Flows
3. Nova Code Structure Components
4. Conclusion
6
Architecture overview
 Model:
 Nova Network
 Neutron
 Cells (v1, 2)
 Core components
 DB: sql database for data storage.
 API: receive HTTP requests, converts commands and communicates with other
components via the oslo.messaging queue or HTTP
 Scheduler: decides which host gets each instance
 Compute: manages communication with hypervisor and virtual machines.
 Conductor: handles requests that need coordination(build/resize), acts as a
database proxy, or handles object conversions.
 Cells: used by some large deployments to partition compute nodes into smaller
groups, coupled with a database and queue. DEFAULT FROM MITAKA WITH
CELLS V2
7 Copyright 2016 Fujitsu Vietnam Limited
Architecture overview
 Other nova components
 Network: manages ip forwarding, bridges, and vlans
 Metadata: serves metadata for instances
 Cert: serves X509 certificates, using for euca-bundle-image and only needed for
EC2 API
 Console auth and proxies: noVNC, SPICE, XVP, RDP.. for remote console
purpose toward instances
 EC2: *DEPRECATED AND MOVE TO NEW EC2-API PROJECT FROM
MITAKA* using EC2 API with nova services.
8 Copyright 2016 Fujitsu Vietnam Limited
Architecture overview (1)
9 Copyright 2016 Fujitsu Vietnam Limited
1
2 3 45
7
6
Ref:
http://docs.openstack.org/developer/nova/architecture.html
Architecture overview (2)
10 Copyright 2016 Fujitsu Vietnam Limited
1
2 3 45
7
6
Ref:
http://docs.openstack.org/developer/nova/architecture.html
Architecture overview (2)
 Normal Workflow
11 Copyright 2016 Fujitsu Vietnam Limited
 MQ and DB is under heavy-load.
 Cells
There are Austin summit video about Nova scheduler performance.
https://www.openstack.org/videos/video/dive-into-nova-scheduler-performance-where-is-the-bottleneck
https://docs.google.com/presentation/d/1UG1HkEWyxPVMXseLwJ44ZDm-
ek_MPc4M65H8EiwZnWs/edit?ts=571fcdd5#slide=id.g12d2cf15cd_2_84
Architecture overview (3)
12 Copyright 2016 Fujitsu Vietnam Limited
Ref: OpenStack Japan User Group
Architecture overview (3)
13 Copyright 2016 Fujitsu Vietnam Limited
API DB
Compute DB
Architecture overview (3)
 Cells: aim for easily scaling and providing fault tolerance by
partition compute nodes into smaller groups with separate
database and queue, instead of legacy deployment model with
single logical database and message queue.
 Cells v1:
 Optional
 Not all features supported
 Sync instance between DBs
 Cells v2:
 Default deployment model is one v2 cell
 New API database
 Tools to migrate from cells v1 **NOT IMPLEMENTED IN MITAKA,
PLAN IS IN NEWTON**
14 Copyright 2016 Fujitsu Vietnam Limited
Agenda
Copyright 2016 Fujitsu Vietnam Limited
1. Architecture overview
2. Data Flows
3. Nova code structure
4. Conclusion
15
Façade
16 Copyright 2016 Fujitsu Vietnam Limited
WSGIService
oslo_service lib
Paste filters
Paste/Paste.Deploy lib via api-paste.ini
WebOb lib for WSGI req/res wrapper
1. RESTful req 2. WSGI Req
APIRouter
RoutesMiddleware
3. Filtered req
Routes lib
Extension
Controller:
index/show/delete/
create..
Extension
Controller:
index/show/delete/
create..
Extension
Controller:
index/show/delete/
create..
4. Req dispatching
stevedore lib for managing ext, ctrl
Expose via pbr entrypoint
oslo_conf
Façade/Decorator pattern
oslo_message
RPC
Façade design pattern
 Nova-compute API (nova/nova/compute/api.py): API, HostAPI,
InstanceActionAPI, KeypairAPI…
17 Copyright 2016 Fujitsu Vietnam Limited
Ref: Wikipedia/façade_pattern
OpenStack Oslo common lib
 oslo.cache: a library for caching based on dogpile
 oslo.concurrency: a project with helpers managing external
processes and task synchronization. E.g: check host
resources.
 oslo.config: an extensive library for parsing configuration files
and command line arguments.
 oslo.log: a logging configuration library.
 oslo.service: helper library that provides functionality for
running OpenStack services.  nova-api service
 oslo.messaging: a library that provides a messaging API which
supports RPC and notifications over a number of different
messaging transports.
 oslo.serialization
Ref: https://wiki.openstack.org/wiki/Oslo
18 Copyright 2016 Fujitsu Vietnam Limited
pbr
 Python Build Reasonableness: using setuptools to deploy your
code and expose via entry points.
 setup.cfg
 policy.json: will be checked each time an API is called
 Can be modified for reasonable purpose
19 Copyright 2016 Fujitsu Vietnam Limited
WSGI – PEP 0333
nova/wsgi.py
 WSGI Application
 Python callable passed two arg (WebOb)
• Env
• Start_response function  callback function
 WSGI Server
 Call the application
 WSGI Middleware (Paste)
 Both a server and application
 Use to wrap request
Paste Deploy will automatically find and config WSGI
applications and servers
20 Copyright 2016 Fujitsu Vietnam Limited
Ref: WSGI – Aseries of Tubes by Ian Bickings (The
Open Planning Project)
21 Copyright 2016 Fujitsu Vietnam Limited
Paste
 http://pythonpaste.org/
 Check api-paste.ini file below and see DEMO
22 Copyright 2016 Fujitsu Vietnam Limited
Middleware filter Apps
Filter flow
Stevedore (1)
 Extension manager library
 https://github.com/openstack/stevedore
 http://docs.openstack.org/developer/stevedore/
23 Copyright 2016 Fujitsu Vietnam Limited
Stevedore (2)
 Check nova/api/openstack/compute/disk_config.py
 Easier to write new API
 Easier to write new plugin
24 Copyright 2016 Fujitsu Vietnam Limited
Stevedore (3)
 Where is extension manager ?
nova/api/openstack/__init__.py – ApiRouterv21 class
nova/compute/monitors/__init.py__
and more …
25 Copyright 2016 Fujitsu Vietnam Limited
Routes
 Mapping URLs to controllers+actions. URLs are mapped to
‘action’ methods on ‘controller’ classes in
nova/api/openstack/__init__.py, class ApiRouter._init_ and
ApiRouterv21.__init__
26 Copyright 2016 Fujitsu Vietnam Limited
Stevedore ext mgr
Map URL from alias
/v2.1/​{tenant_id}​/os-aggregates
Ref: api-ref site OpenStack
Agenda
Copyright 2016 Fujitsu Vietnam Limited
1. Architecture overview
2. Data Flows
3. Nova Code Structure Components
4. Conclusion
27
Nova code structure
28 Copyright 2016 Fujitsu Vietnam Limited
documentation
For packaging, deploying and testing (using tox)
Source Codes
For setup with devstack
Configuration files
XenServer plugin for using with nova
Nova code structure
 Configuration files
29 Copyright 2016 Fujitsu Vietnam Limited
Rootwrap.d conf: allow a service-specific
unprivileged user to run a number of actions as
the root user, in the safest manner possible.
https://wiki.openstack.org/wiki/Rootwrap
Nova API config (paste + policy)
Nova Cells config sample
http://docs.openstack.org/mitaka/config-reference/compute/cells.html
Docs
Logging sample config file
Nova config generator file. Using oslo-config-generator
tool or tox –egenconfig for a sample of nova.conf file.
Nova.conf sample file will list all nova config options
and default value of each option.
Nova code structure
 Configuration files
30 Copyright 2016 Fujitsu Vietnam Limited
Rootwrap.d conf: allow a service-specific
unprivileged user to run a number of actions as
the root user, in the safest manner possible.
https://wiki.openstack.org/wiki/Rootwrap
Nova API config (paste + policy)
Nova Cells config sample
http://docs.openstack.org/mitaka/config-reference/compute/cells.html
Docs
Logging sample config file
Nova config generator file. Using oslo-config-generator
tool or tox –egenconfig for a sample of nova.conf file.
Nova.conf sample file will list all nova config options
and default value of each option. (~810 option)
Nova source code
31 Copyright 2016 Fujitsu Vietnam Limited
Executable system script, bundle and expose via pbr.
e.g.: nova-api, nova-compute..
Centralize configuration options for all nova subcomponents
(WIP  Newton version)
Nova compute virt (virtualization) driver  driver parity approach
Nova source code
32 Copyright 2016 Fujitsu Vietnam Limited
Executable system script, bundle and expose via pbr.
e.g.: nova-api, nova-compute..
Centralize configuration options for all nova subcomponents
(WIP  Newton version)
Nova compute virt (virtualization) driver  driver parity approach
HANDS-ON DEMO
Agenda
Copyright 2016 Fujitsu Vietnam Limited
1. Architecture overview
2. Nova Code Structure Components
3. Data Flows
4. Conclusion
33
Conclusion
34 Copyright 2016 Fujitsu Vietnam Limited
WSGIService
oslo_service lib
Paste filters
Paste/Paste.Deploy lib via api-paste.ini
WebOb lib for WSGI req/res wrapper
1. RESTful req 2. WSGI Req
APIRouter
RoutesMiddleware
3. Filtered req
Routes lib
Extension
Controller:
index/show/delete/
create..
Extension
Controller:
index/show/delete/
create..
Extension
Controller:
index/show/delete/
create..
4. Req dispatching
stevedore lib for managing ext, ctrl
Expose via pbr entrypoint
oslo_conf
Façade/Decorator pattern
oslo_message
RPC
THANK YOU!
Copyright 2016 Fujitsu Vietnam Limited35

More Related Content

What's hot

kubernetes - minikube - getting started
kubernetes - minikube - getting startedkubernetes - minikube - getting started
kubernetes - minikube - getting started
Munish Mehta
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 

What's hot (20)

OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas HoppeOSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
 
kubernetes - minikube - getting started
kubernetes - minikube - getting startedkubernetes - minikube - getting started
kubernetes - minikube - getting started
 
WSO2Con ASIA 2016: WSO2 Cloud Strategy Update
WSO2Con ASIA 2016: WSO2 Cloud Strategy UpdateWSO2Con ASIA 2016: WSO2 Cloud Strategy Update
WSO2Con ASIA 2016: WSO2 Cloud Strategy Update
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
LinuxKit: the first five months by Justin Cormack & Riyaz Faizullabhoy (Docker)
LinuxKit: the first five months by Justin Cormack & Riyaz Faizullabhoy (Docker)LinuxKit: the first five months by Justin Cormack & Riyaz Faizullabhoy (Docker)
LinuxKit: the first five months by Justin Cormack & Riyaz Faizullabhoy (Docker)
 
Cloud Native User Group: Prometheus Day 2
Cloud Native User Group:  Prometheus Day 2Cloud Native User Group:  Prometheus Day 2
Cloud Native User Group: Prometheus Day 2
 
VietOpenStack meetup 7th High Performance VM
VietOpenStack meetup 7th High Performance VMVietOpenStack meetup 7th High Performance VM
VietOpenStack meetup 7th High Performance VM
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Queens release updates
Queens release updatesQueens release updates
Queens release updates
 
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and KubernetesKubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
 
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
 
DEVNET-1183 OpenShift + Kubernetes + Docker
DEVNET-1183	OpenShift + Kubernetes + DockerDEVNET-1183	OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + Docker
 
Kubernetes Basics & Monitoring
Kubernetes Basics & MonitoringKubernetes Basics & Monitoring
Kubernetes Basics & Monitoring
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
 
Containers & Security
Containers & SecurityContainers & Security
Containers & Security
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 

Viewers also liked

[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
Vietnam Open Infrastructure User Group
 

Viewers also liked (20)

Deploying IPv6 on OpenStack
Deploying IPv6 on OpenStackDeploying IPv6 on OpenStack
Deploying IPv6 on OpenStack
 
Viet stack 2nd meetup - BigData in Cloud Computing
Viet stack 2nd meetup - BigData in Cloud ComputingViet stack 2nd meetup - BigData in Cloud Computing
Viet stack 2nd meetup - BigData in Cloud Computing
 
An approach for migrating applications to interoperability cloud
An approach for migrating applications to interoperability cloudAn approach for migrating applications to interoperability cloud
An approach for migrating applications to interoperability cloud
 
Ironic - Vietnam OpenStack Technical Meetup #12
Ironic - Vietnam OpenStack Technical Meetup #12Ironic - Vietnam OpenStack Technical Meetup #12
Ironic - Vietnam OpenStack Technical Meetup #12
 
IBM cloud open by design
IBM cloud open by designIBM cloud open by design
IBM cloud open by design
 
VietOpenStack meetup 7th Openstack in ibm cloud
VietOpenStack meetup 7th Openstack in ibm cloudVietOpenStack meetup 7th Openstack in ibm cloud
VietOpenStack meetup 7th Openstack in ibm cloud
 
Curso: SIGA
Curso: SIGACurso: SIGA
Curso: SIGA
 
VietOpenStack SFD2015
VietOpenStack SFD2015VietOpenStack SFD2015
VietOpenStack SFD2015
 
[Viet openstack] 20160625_openstack summit austin 2016 recap
[Viet openstack] 20160625_openstack summit austin 2016 recap[Viet openstack] 20160625_openstack summit austin 2016 recap
[Viet openstack] 20160625_openstack summit austin 2016 recap
 
[Viet openstack] vnpt-zabbix-openstackv2.2.5.
[Viet openstack] vnpt-zabbix-openstackv2.2.5.[Viet openstack] vnpt-zabbix-openstackv2.2.5.
[Viet openstack] vnpt-zabbix-openstackv2.2.5.
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtq
 
Applying OpenStack at iNET use case
Applying OpenStack at iNET use caseApplying OpenStack at iNET use case
Applying OpenStack at iNET use case
 
VietOpenStack meetup 7th Kilo overview
VietOpenStack meetup 7th Kilo overviewVietOpenStack meetup 7th Kilo overview
VietOpenStack meetup 7th Kilo overview
 
What's new in openstack ocata
What's new in openstack ocata What's new in openstack ocata
What's new in openstack ocata
 
Openstack swift - VietOpenStack 6thmeeetup
Openstack swift - VietOpenStack 6thmeeetupOpenstack swift - VietOpenStack 6thmeeetup
Openstack swift - VietOpenStack 6thmeeetup
 
Freezer - Vietnam OpenStack Technical Meetup #12
Freezer - Vietnam OpenStack Technical Meetup #12Freezer - Vietnam OpenStack Technical Meetup #12
Freezer - Vietnam OpenStack Technical Meetup #12
 
[OSS Upstream Training] 2 viet openstack_upsteam_training_info
[OSS Upstream Training] 2 viet openstack_upsteam_training_info[OSS Upstream Training] 2 viet openstack_upsteam_training_info
[OSS Upstream Training] 2 viet openstack_upsteam_training_info
 
[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
[Vietstack meetup 1st] VietStack and journey promoting openstack in vietnam
 
VietOpenStack Boston recap 2017
VietOpenStack Boston recap 2017VietOpenStack Boston recap 2017
VietOpenStack Boston recap 2017
 
Portgroups support in ironic
Portgroups support in ironic Portgroups support in ironic
Portgroups support in ironic
 

Similar to Open stack nova reverse engineer

Similar to Open stack nova reverse engineer (20)

Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cn
 
Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
 
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
 
AtoZ about TYPO3 v8 CMS
AtoZ about TYPO3 v8 CMSAtoZ about TYPO3 v8 CMS
AtoZ about TYPO3 v8 CMS
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
 
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
Introduction of Okinawa Open Laboratory Testbed, OpenStack and SDN Technology...
 
Python Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStackPython Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStack
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
 
OpenStack - An Overview
OpenStack - An OverviewOpenStack - An Overview
OpenStack - An Overview
 
Fullstack workshop
Fullstack workshopFullstack workshop
Fullstack workshop
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Simplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual CloudSimplifying and accelerating converged media with Open Visual Cloud
Simplifying and accelerating converged media with Open Visual Cloud
 
Introduction to Python Asyncio
Introduction to Python AsyncioIntroduction to Python Asyncio
Introduction to Python Asyncio
 
LoCloud - D3.1: Operational SaaS Test lab
LoCloud -  D3.1: Operational SaaS Test labLoCloud -  D3.1: Operational SaaS Test lab
LoCloud - D3.1: Operational SaaS Test lab
 
How to Build a new under filesystem in Alluxio: Apache Ozone as an example
How to Build a new under filesystem in Alluxio: Apache Ozone as an exampleHow to Build a new under filesystem in Alluxio: Apache Ozone as an example
How to Build a new under filesystem in Alluxio: Apache Ozone as an example
 

More from Vietnam Open Infrastructure User Group

More from Vietnam Open Infrastructure User Group (20)

Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with CephRoom 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
 
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
 
Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...
Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...
Room 3 - 4 - Lê Quang Hiếu - How to be a cool dad: Leverage DIY Home Automati...
 
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
 
Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...
Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...
Room 3 - 1 - Nguyễn Xuân Trường Lâm - Zero touch on-premise storage infrastru...
 
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
 
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combinationRoom 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
 
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practiceRoom 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
 
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
 
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsiRoom 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
 
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache JamesRoom 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
 

Recently uploaded

If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 

Recently uploaded (18)

Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 

Open stack nova reverse engineer

  • 1. OpenStack Nova ‘Reverse Engineer’ 2016 May 07 Hieu LE Vietnam OpenStack Community Organizer Fujitsu Vietnam - PODC Copyright 2016 Fujitsu Vietnam Limited
  • 2. Starting Point (1) 1 Copyright 2016 Fujitsu Vietnam Limited Video Tutorial: how to setup remote debugging environment for OpenStack Nova, request from some community members. Ref: https://youtu.be/Z0PmKyeZjjA
  • 3. Starting Point (2)  @NamNH (Fujitsu) contribute to documentation: “Debugging OpenStack Neutron” Ref: https://vietstack.wordpress.com/2016/04/12/how-to-remote-debugging-openstack-neutron/ Hope that he will present at next technical meetup about Neutron ;) 2 Copyright 2016 Fujitsu Vietnam Limited
  • 4. Agenda Copyright 2016 Fujitsu Vietnam Limited 1. Architecture overview 2. Data Flows 3. Nova Code Structure Components 4. Conclusion 3
  • 5. “to provide massively scalable, on demand, self service access to compute resources” OpenStack Nova mission http://docs.openstack.org/developer/nova/project_scope.html 4 Copyright 2016 Fujitsu Vietnam Limited
  • 6. “to provide massively scalable, on demand, self service access to compute resources” OpenStack Nova mission http://docs.openstack.org/developer/nova/project_scope.html 5 Copyright 2016 Fujitsu Vietnam Limited Virtual Servers Containers Bare Metal Servers Driver Parity
  • 7. Agenda Copyright 2016 Fujitsu Vietnam Limited 1. Architecture overview 2. Data Flows 3. Nova Code Structure Components 4. Conclusion 6
  • 8. Architecture overview  Model:  Nova Network  Neutron  Cells (v1, 2)  Core components  DB: sql database for data storage.  API: receive HTTP requests, converts commands and communicates with other components via the oslo.messaging queue or HTTP  Scheduler: decides which host gets each instance  Compute: manages communication with hypervisor and virtual machines.  Conductor: handles requests that need coordination(build/resize), acts as a database proxy, or handles object conversions.  Cells: used by some large deployments to partition compute nodes into smaller groups, coupled with a database and queue. DEFAULT FROM MITAKA WITH CELLS V2 7 Copyright 2016 Fujitsu Vietnam Limited
  • 9. Architecture overview  Other nova components  Network: manages ip forwarding, bridges, and vlans  Metadata: serves metadata for instances  Cert: serves X509 certificates, using for euca-bundle-image and only needed for EC2 API  Console auth and proxies: noVNC, SPICE, XVP, RDP.. for remote console purpose toward instances  EC2: *DEPRECATED AND MOVE TO NEW EC2-API PROJECT FROM MITAKA* using EC2 API with nova services. 8 Copyright 2016 Fujitsu Vietnam Limited
  • 10. Architecture overview (1) 9 Copyright 2016 Fujitsu Vietnam Limited 1 2 3 45 7 6 Ref: http://docs.openstack.org/developer/nova/architecture.html
  • 11. Architecture overview (2) 10 Copyright 2016 Fujitsu Vietnam Limited 1 2 3 45 7 6 Ref: http://docs.openstack.org/developer/nova/architecture.html
  • 12. Architecture overview (2)  Normal Workflow 11 Copyright 2016 Fujitsu Vietnam Limited  MQ and DB is under heavy-load.  Cells There are Austin summit video about Nova scheduler performance. https://www.openstack.org/videos/video/dive-into-nova-scheduler-performance-where-is-the-bottleneck https://docs.google.com/presentation/d/1UG1HkEWyxPVMXseLwJ44ZDm- ek_MPc4M65H8EiwZnWs/edit?ts=571fcdd5#slide=id.g12d2cf15cd_2_84
  • 13. Architecture overview (3) 12 Copyright 2016 Fujitsu Vietnam Limited Ref: OpenStack Japan User Group
  • 14. Architecture overview (3) 13 Copyright 2016 Fujitsu Vietnam Limited API DB Compute DB
  • 15. Architecture overview (3)  Cells: aim for easily scaling and providing fault tolerance by partition compute nodes into smaller groups with separate database and queue, instead of legacy deployment model with single logical database and message queue.  Cells v1:  Optional  Not all features supported  Sync instance between DBs  Cells v2:  Default deployment model is one v2 cell  New API database  Tools to migrate from cells v1 **NOT IMPLEMENTED IN MITAKA, PLAN IS IN NEWTON** 14 Copyright 2016 Fujitsu Vietnam Limited
  • 16. Agenda Copyright 2016 Fujitsu Vietnam Limited 1. Architecture overview 2. Data Flows 3. Nova code structure 4. Conclusion 15
  • 17. Façade 16 Copyright 2016 Fujitsu Vietnam Limited WSGIService oslo_service lib Paste filters Paste/Paste.Deploy lib via api-paste.ini WebOb lib for WSGI req/res wrapper 1. RESTful req 2. WSGI Req APIRouter RoutesMiddleware 3. Filtered req Routes lib Extension Controller: index/show/delete/ create.. Extension Controller: index/show/delete/ create.. Extension Controller: index/show/delete/ create.. 4. Req dispatching stevedore lib for managing ext, ctrl Expose via pbr entrypoint oslo_conf Façade/Decorator pattern oslo_message RPC
  • 18. Façade design pattern  Nova-compute API (nova/nova/compute/api.py): API, HostAPI, InstanceActionAPI, KeypairAPI… 17 Copyright 2016 Fujitsu Vietnam Limited Ref: Wikipedia/façade_pattern
  • 19. OpenStack Oslo common lib  oslo.cache: a library for caching based on dogpile  oslo.concurrency: a project with helpers managing external processes and task synchronization. E.g: check host resources.  oslo.config: an extensive library for parsing configuration files and command line arguments.  oslo.log: a logging configuration library.  oslo.service: helper library that provides functionality for running OpenStack services.  nova-api service  oslo.messaging: a library that provides a messaging API which supports RPC and notifications over a number of different messaging transports.  oslo.serialization Ref: https://wiki.openstack.org/wiki/Oslo 18 Copyright 2016 Fujitsu Vietnam Limited
  • 20. pbr  Python Build Reasonableness: using setuptools to deploy your code and expose via entry points.  setup.cfg  policy.json: will be checked each time an API is called  Can be modified for reasonable purpose 19 Copyright 2016 Fujitsu Vietnam Limited
  • 21. WSGI – PEP 0333 nova/wsgi.py  WSGI Application  Python callable passed two arg (WebOb) • Env • Start_response function  callback function  WSGI Server  Call the application  WSGI Middleware (Paste)  Both a server and application  Use to wrap request Paste Deploy will automatically find and config WSGI applications and servers 20 Copyright 2016 Fujitsu Vietnam Limited Ref: WSGI – Aseries of Tubes by Ian Bickings (The Open Planning Project)
  • 22. 21 Copyright 2016 Fujitsu Vietnam Limited
  • 23. Paste  http://pythonpaste.org/  Check api-paste.ini file below and see DEMO 22 Copyright 2016 Fujitsu Vietnam Limited Middleware filter Apps Filter flow
  • 24. Stevedore (1)  Extension manager library  https://github.com/openstack/stevedore  http://docs.openstack.org/developer/stevedore/ 23 Copyright 2016 Fujitsu Vietnam Limited
  • 25. Stevedore (2)  Check nova/api/openstack/compute/disk_config.py  Easier to write new API  Easier to write new plugin 24 Copyright 2016 Fujitsu Vietnam Limited
  • 26. Stevedore (3)  Where is extension manager ? nova/api/openstack/__init__.py – ApiRouterv21 class nova/compute/monitors/__init.py__ and more … 25 Copyright 2016 Fujitsu Vietnam Limited
  • 27. Routes  Mapping URLs to controllers+actions. URLs are mapped to ‘action’ methods on ‘controller’ classes in nova/api/openstack/__init__.py, class ApiRouter._init_ and ApiRouterv21.__init__ 26 Copyright 2016 Fujitsu Vietnam Limited Stevedore ext mgr Map URL from alias /v2.1/​{tenant_id}​/os-aggregates Ref: api-ref site OpenStack
  • 28. Agenda Copyright 2016 Fujitsu Vietnam Limited 1. Architecture overview 2. Data Flows 3. Nova Code Structure Components 4. Conclusion 27
  • 29. Nova code structure 28 Copyright 2016 Fujitsu Vietnam Limited documentation For packaging, deploying and testing (using tox) Source Codes For setup with devstack Configuration files XenServer plugin for using with nova
  • 30. Nova code structure  Configuration files 29 Copyright 2016 Fujitsu Vietnam Limited Rootwrap.d conf: allow a service-specific unprivileged user to run a number of actions as the root user, in the safest manner possible. https://wiki.openstack.org/wiki/Rootwrap Nova API config (paste + policy) Nova Cells config sample http://docs.openstack.org/mitaka/config-reference/compute/cells.html Docs Logging sample config file Nova config generator file. Using oslo-config-generator tool or tox –egenconfig for a sample of nova.conf file. Nova.conf sample file will list all nova config options and default value of each option.
  • 31. Nova code structure  Configuration files 30 Copyright 2016 Fujitsu Vietnam Limited Rootwrap.d conf: allow a service-specific unprivileged user to run a number of actions as the root user, in the safest manner possible. https://wiki.openstack.org/wiki/Rootwrap Nova API config (paste + policy) Nova Cells config sample http://docs.openstack.org/mitaka/config-reference/compute/cells.html Docs Logging sample config file Nova config generator file. Using oslo-config-generator tool or tox –egenconfig for a sample of nova.conf file. Nova.conf sample file will list all nova config options and default value of each option. (~810 option)
  • 32. Nova source code 31 Copyright 2016 Fujitsu Vietnam Limited Executable system script, bundle and expose via pbr. e.g.: nova-api, nova-compute.. Centralize configuration options for all nova subcomponents (WIP  Newton version) Nova compute virt (virtualization) driver  driver parity approach
  • 33. Nova source code 32 Copyright 2016 Fujitsu Vietnam Limited Executable system script, bundle and expose via pbr. e.g.: nova-api, nova-compute.. Centralize configuration options for all nova subcomponents (WIP  Newton version) Nova compute virt (virtualization) driver  driver parity approach HANDS-ON DEMO
  • 34. Agenda Copyright 2016 Fujitsu Vietnam Limited 1. Architecture overview 2. Nova Code Structure Components 3. Data Flows 4. Conclusion 33
  • 35. Conclusion 34 Copyright 2016 Fujitsu Vietnam Limited WSGIService oslo_service lib Paste filters Paste/Paste.Deploy lib via api-paste.ini WebOb lib for WSGI req/res wrapper 1. RESTful req 2. WSGI Req APIRouter RoutesMiddleware 3. Filtered req Routes lib Extension Controller: index/show/delete/ create.. Extension Controller: index/show/delete/ create.. Extension Controller: index/show/delete/ create.. 4. Req dispatching stevedore lib for managing ext, ctrl Expose via pbr entrypoint oslo_conf Façade/Decorator pattern oslo_message RPC
  • 36. THANK YOU! Copyright 2016 Fujitsu Vietnam Limited35