~eday/nova/compute-abstraction

« back to all changes in this revision

Viewing changes to doc/source/adminguide/managing.networks.rst

  • Committer: Eric Day
  • Date: 2010-12-02 16:47:25 UTC
  • mfrom: (422.1.13 nova)
  • Revision ID: eday@oddments.org-20101202164725-c2krm6bszutjfr91
Merged trunk and resolved conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
===================
21
21
In Nova, users organize their cloud resources in projects. A Nova project consists of a number of VM instances created by a user. For each VM instance, Nova assigns to it a private IP address. (Currently, Nova only supports Linux bridge networking that allows the virtual interfaces to connect to the outside network through the physical interface. Other virtual network technologies, such as Open vSwitch, could be supported in the future.) The Network Controller provides virtual networks to enable compute servers to interact with each other and with the public network.
22
22
 
23
 
..
24
 
    (perhaps some of this should be moved elsewhere)
25
 
    Introduction
26
 
    ------------
27
 
 
28
 
    Nova consists of seven main components, with the Cloud Controller component representing the global state and interacting with all other components. API Server acts as the Web services front end for the cloud controller. Compute Controller provides compute server resources, and the Object Store component provides storage services. Auth Manager provides authentication and authorization services. Volume Controller provides fast and permanent block-level storage for the comput servers. Network Controller provides virtual networks to enable compute servers to interact with each other and with the public network. Scheduler selects the most suitable compute controller to host an instance.
29
 
 
30
 
    .. todo:: Insert Figure 1 image from "An OpenStack Network Overview" contributed by Citrix
31
 
 
32
 
    Nova is built on a shared-nothing, messaging-based architecture. All of the major components, that is Compute Controller, Volume Controller, Network Controller, and Object Store can be run on multiple servers. Cloud Controller communicates with Object Store via HTTP (Hyper Text Transfer Protocol), but it communicates with Scheduler, Network Controller, and Volume Controller via AMQP (Advanced Message Queue Protocol). To avoid blocking each component while waiting for a response, Nova uses asynchronous calls, with a call-back that gets triggered when a response is received.
33
 
 
34
 
    To achieve the shared-nothing property with multiple copies of the same component, Nova keeps all the cloud system state in a distributed data store. Updates to system state are written into this store, using atomic transactions when required. Requests for system state are read out of this store. In limited cases, the read results are cached within controllers for short periods of time (for example, the current list of system users.) 
35
 
 
36
 
    .. note:: The database schema is available on the `OpenStack Wiki <http://wiki.openstack.org/NovaDatabaseSchema>_`. 
37
 
 
38
23
Nova Network Strategies
39
24
-----------------------
40
25