From 33d671d7ebf3e228d44bb615832ef7c2abff064d Mon Sep 17 00:00:00 2001 From: Joe Gordon Date: Tue, 23 Jun 2015 14:58:28 -0700 Subject: [PATCH] Replace ascii art architecture diagram with svg image architecture.svg diagram was generated using dia (http://dia-installer.de/) and can be found in image_src This is an attempt to show the same information as previously found in the ascii art. blueprint devref-refresh-liberty Change-Id: Iab5811bcc7ec4b3fa457a07d33a0373ba95723ca --- doc/source/architecture.rst | 30 +- doc/source/image_src/architecture.dia | Bin 0 -> 6842 bytes doc/source/images/architecture.svg | 457 ++++++++++++++++++++++++++ 3 files changed, 467 insertions(+), 20 deletions(-) create mode 100644 doc/source/image_src/architecture.dia create mode 100644 doc/source/images/architecture.svg diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst index 3c4a5ca48bf3..be3293992bc0 100644 --- a/doc/source/architecture.rst +++ b/doc/source/architecture.rst @@ -27,25 +27,15 @@ Components Below you will find a helpful explanation of the different components. -:: +.. image:: ./images/architecture.svg + :width: 100% - /- ( LDAP ) - [ Auth Manager ] --- - | \- ( DB ) - | - | - | - [ Web Dashboard ] -> [ api ] -- < AMQP > ------ [ network ] - ( Flat/Vlan ) - | \ - < HTTP > [ scheduler ] - [ compute ] - ( libvirt/xen ) - | | - [ objectstore ] < - retrieves images +* DB: sql database for data storage. +* API: component that receives HTTP requests, converts commands and communicates with other components via the **oslo.messaging** queue or HTTP +* Scheduler: decides which host gets each instance +* Network: manages ip forwarding, bridges, and vlans +* 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. -* DB: sql database for data storage. Used by all components (LINKS NOT SHOWN) -* Web Dashboard: potential external component that talks to the api -* api: component that receives http requests, converts commands and communicates with other components via the queue or http (in the case of objectstore) -* Auth Manager: component responsible for users/projects/and roles. Can backend to DB or LDAP. This is not a separate binary, but rather a python class that is used by most components in the system. -* objectstore: http server that replicates s3 api and allows storage and retrieval of images -* scheduler: decides which host gets each vm -* network: manages ip forwarding, bridges, and vlans -* compute: manages communication with hypervisor and virtual machines. +While all services are designed to be horizontally scalable, you should have significantly more computes then anything else. diff --git a/doc/source/image_src/architecture.dia b/doc/source/image_src/architecture.dia new file mode 100644 index 0000000000000000000000000000000000000000..4e09c9e3968e04f89c448f0fe3adc701954c2d73 GIT binary patch literal 6842 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 literal 0 HcmV?d00001 diff --git a/doc/source/images/architecture.svg b/doc/source/images/architecture.svg new file mode 100644 index 000000000000..e1a758b1de5f --- /dev/null +++ b/doc/source/images/architecture.svg @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + API + + + Conductor + + + + + + + + API + + + + + + + + API + + + + + + + + Conductor + + + + + + + + Conductor + + + Scheduler + + + + + + + + Scheduler + + + + + + + + Scheduler + + + + + + + + + + + + + DB + + + + + + + + + + + + + + + + + + + + + + + Compute + + + + + + + + Compute + + + + + + + + Compute + + + + + + + + + + + + + + + + + + Keystone + + + + + + + + + + + + + + + + + + + Network + + + + + + + + + + + + + + + + + + + + + + + Glance & + Cinder + + + + + + + + + + + + + + + + + + + + + + + + + + + + oslo.messaging + + + DB + + + + + + HTTP + + + + + + + + Nova service + + + + + + + + External service + + + + + + + + + + + + + Hypervisor + + + Nova-Networking + + + + + + + + + + + + API + + + Conductor + + + + + + + + API + + + + + + + + API + + + + + + + + Conductor + + + + + + + + Conductor + + + Scheduler + + + + + + + + Scheduler + + + + + + + + Scheduler + + + + + + + + + + + + + DB + + + + + + + + + + + + + + + + + + + + + + + Compute + + + + + + + + Compute + + + + + + + + Compute + + + + + + + + + + + + + + + + + + Keystone + + + + + + + + + + + + + + + + + + + + + + + Glance & + Cinder + + + + + + + + + + + + + + + + + + + + + + + Hypervisor + + + Neutron + + + + + + + + Neutron + +