~annegentle/openstack-devel/working

« back to all changes in this revision

Viewing changes to doc/build/docbook-xsl-1.76.1/webhelp/docs 2/content/ch07s02.html

  • Committer: Anne Gentle
  • Date: 2011-01-31 18:03:16 UTC
  • Revision ID: anne@openstack.org-20110131180316-3b7spd1avvzvvtye
Updating build enviro for Mac OS X

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
 
<!DOCTYPE html
3
 
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:exsl="http://exslt.org/common" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook"><head>
5
 
<meta http-equiv="X-UA-Compatible" content="IE=7"/>
6
 
<title>Understanding the Compute Service Architecture</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"/><link rel="home" href="index.html" title="OpenStack Compute Administration Manual"/><link rel="up" href="ch07.html" title="Chapter 7. Running OpenStack Compute"/><link rel="prev" href="ch07s01.html" title="Understanding How Compute Runs Clouds"/><link rel="next" href="ch07s03.html" title="Managing the Cloud"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><script type="text/javascript">
7
 
            //The id for tree cookie
8
 
            var treeCookieId = "treeview-2255";
9
 
            var language = "en";
10
 
            var w = new Object();
11
 
            //Localization
12
 
            txt_filesfound = 'Results';
13
 
            txt_enter_at_least_1_char = "You must enter at least one character.";
14
 
            txt_browser_not_supported = "Your browser is not supported. Use of Mozilla Firefox is recommended.";
15
 
            txt_please_wait = "Please wait. Search in progress...";
16
 
            txt_results_for = "Results for: ";
17
 
        </script><style type="text/css">
18
 
            input {
19
 
            margin-bottom: 5px;
20
 
            margin-top: 2px;
21
 
            }
22
 
 
23
 
            .folder {
24
 
            display: block;
25
 
            height: 22px;
26
 
            padding-left: 20px;
27
 
            background: transparent url(../common/jquery/treeview/images/folder.gif) 0 0px no-repeat;
28
 
            }
29
 
            
30
 
        </style><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"/><link rel="stylesheet" type="text/css" href="../common/css/positioning.css"/><link rel="stylesheet" type="text/css" href="../common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css"/><link rel="stylesheet" type="text/css" href="../common/jquery/treeview/jquery.treeview.css"/><script type="text/javascript" src="../common/jquery/jquery-1.4.2.min.js"><!----></script><script type="text/javascript" src="../common/jquery/jquery-ui-1.8.2.custom.min.js"><!----></script><script type="text/javascript" src="../common/jquery/jquery.cookie.js"><!----></script><script type="text/javascript" src="../common/jquery/treeview/jquery.treeview.min.js"><!----></script><script type="text/javascript" src="search/htmlFileList.js"><!----></script><script type="text/javascript" src="search/htmlFileInfoList.js"><!----></script><script type="text/javascript" src="search/nwSearchFnt.js"><!----></script><script type="text/javascript" src="search/stemmers/en_stemmer.js"/><script type="text/javascript" src="search/index-1.js"><!----></script><script type="text/javascript" src="search/index-2.js"><!----></script><script type="text/javascript" src="search/index-3.js"><!----></script></head><body><div id="header"><img src="../common/images/openstack-logo.png" alt="OpenStack Documentation" width="157" height="47"/><p class="breadcrumbs"><a href="#">OpenStack Manuals</a><a href="#">Object Storage</a></p><h1>Understanding the Compute Service Architecture<br/>Chapter 7. Running OpenStack Compute</h1><div id="navheader" align="right"><!----><table class="navLinks"><tr><td><a id="showHideButton" onclick="showHideToc();" class="pointLeft" title="Hide TOC tree">Sidebar
31
 
                            </a></td><td><a accesskey="p" class="navLinkPrevious" href="ch07s01.html">Prev</a>
32
 
                                        |
33
 
                                        <a accesskey="u" class="navLinkUp" href="ch07.html">Up</a>
34
 
                                    |
35
 
                                    <a accesskey="n" class="navLinkNext" href="ch07s03.html">Next</a></td></tr></table></div></div><div id="content"><!----><div class="section" title="Understanding the Compute Service Architecture"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="d5e471"/>Understanding the Compute Service Architecture</h2></div></div></div>
36
 
        <p>These basic categories describe the service architecture and what's going on within the cloud controller.</p>
37
 
        <div class="simplesect" title="API Server"><div class="titlepage"><div><div><h3 class="title"><a id="d5e474"/>API Server</h3></div></div></div>
38
 
            
39
 
            <p>At the heart of the cloud framework is an API Server. This API Server makes command and control of the hypervisor, storage, and networking programmatically available to users in realization of the definition of cloud computing.
40
 
            </p>
41
 
            <p>The API endpoints are basic http web services which handle authentication, authorization, and basic command and control functions using various API interfaces under the Amazon, Rackspace, and related models. This enables API compatibility with multiple existing tool sets created for interaction with offerings from other vendors. This broad compatibility prevents vendor lock-in.
42
 
            </p> </div>
43
 
        <div class="simplesect" title="Message Queue"><div class="titlepage"><div><div><h3 class="title"><a id="d5e478"/>Message Queue</h3></div></div></div>
44
 
            <p>
45
 
            A messaging queue brokers the interaction between compute nodes (processing), volumes (block storage), the networking controllers (software which controls network infrastructure), API endpoints, the scheduler (determines which physical hardware to allocate to a virtual resource), and similar components. Communication to and from the cloud controller is by HTTP requests through multiple API endpoints.</p>
46
 
            
47
 
<p>            A typical message passing event begins with the API server receiving a request from a user. The API server authenticates the user and ensures that the user is permitted to issue the subject command. Availability of objects implicated in the request is evaluated and, if available, the request is routed to the queuing engine for the relevant workers. Workers continually listen to the queue based on their role, and occasionally their type hostname. When such listening produces a work request, the worker takes assignment of the task and begins its execution. Upon completion, a response is dispatched to the queue which is received by the API server and relayed to the originating user. Database entries are queried, added, or removed as necessary throughout the process.
48
 
</p>            
49
 
</div>
50
 
        <div class="simplesect" title="Compute Worker"><div class="titlepage"><div><div><h3 class="title"><a id="d5e482"/>Compute Worker</h3></div></div></div>
51
 
            
52
 
            <p>Compute workers manage computing instances on host machines. Through the API, commands are dispatched to compute workers to:</p>
53
 
            
54
 
            <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Run instances</p></li><li class="listitem"><p>Terminate instances</p></li><li class="listitem"><p>Reboot instances</p></li><li class="listitem"><p>Attach volumes</p></li><li class="listitem"><p>Detach volumes</p></li><li class="listitem"><p>Get console output</p></li></ul></div>
55
 
            </div>
56
 
            <div class="simplesect" title="Network Controller"><div class="titlepage"><div><div><h3 class="title"><a id="d5e498"/>Network Controller</h3></div></div></div>
57
 
            
58
 
            <p>The Network Controller manages the networking resources on host machines. The API server dispatches commands through the message queue, which are subsequently processed by Network Controllers. Specific operations include:</p>
59
 
            
60
 
            <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Allocate Fixed IP Addresses</p></li><li class="listitem"><p>Configuring VLANs for projects</p></li><li class="listitem"><p>Configuring networks for compute nodes</p></li></ul></div>
61
 
            </div>
62
 
<div class="simplesect" title="Volume Workers"><div class="titlepage"><div><div><h3 class="title"><a id="d5e508"/>Volume Workers</h3></div></div></div>
63
 
            
64
 
            <p>Volume Workers interact with iSCSI storage to manage LVM-based instance volumes. Specific functions include:
65
 
            </p>
66
 
            <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Create Volumes</p></li><li class="listitem"><p>Delete Volumes</p></li><li class="listitem"><p>Establish Compute volumes</p></li></ul></div>
67
 
            
68
 
    <p>Volumes may easily be transferred between instances, but may be attached to only a single instance at a time.</p></div></div><script type="text/javascript" src="../common/main.js"><!----></script><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch07.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch07s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></div><div><div id="leftnavigation" style="padding-top:3px; background-color:white;"><div id="tabs"><ul><li><a href="#treeDiv"><span class="contentsTab">Contents</span></a></li><li><a href="#searchDiv"><span class="searchTab">Search</span></a></li></ul><div id="treeDiv"><img src="../common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"/><div id="ulTreeDiv" style="display:none"><ul id="tree" class="filetree"><li><span class="file"><a href="ch01.html">Getting Started with OpenStack</a></span><ul><li><span class="file"><a href="ch01s01.html">What is OpenStack?</a></span></li><li><span class="file"><a href="ch01s02.html">Components of OpenStack</a></span></li><li><span class="file"><a href="ch01s03.html">Why Cloud?</a></span></li></ul></li><li><span class="file"><a href="ch02.html">Introduction to OpenStack Compute</a></span><ul><li><span class="file"><a href="ch02s01.html">Users and Projects</a></span></li><li><span class="file"><a href="ch02s02.html">Images and Instances</a></span></li></ul></li><li><span class="file"><a href="ch03.html">Introduction to OpenStack Imaging Service</a></span><ul><li><span class="file"><a href="ch03s01.html">Overview of  Architecture</a></span></li><li><span class="file"><a href="ch03s02.html">OpenStack Imaging Service API Server</a></span></li><li><span class="file"><a href="ch03s03.html">OpenStack Imaging Service Registry Servers</a></span></li></ul></li><li><span class="file"><a href="ch04.html">Installing and Configuring OpenStack Compute</a></span><ul><li><span class="file"><a href="ch04s01.html">System Requirements</a></span></li><li><span class="file"><a href="ch04s02.html">Installing OpenStack Compute on Ubuntu </a></span><ul><li><span class="file"><a href="ch04s02.html#d5e155">Example Installation Architecture</a></span></li><li><span class="file"><a href="ch04s02.html#d5e167">Scripted Installation</a></span></li><li><span class="file"><a href="ch04s02.html#d5e201">Manual Installation</a></span><ul><li><span class="file"><a href="ch04s02.html#d5e205">Installing the Cloud Controller</a></span><ul><li><span class="file"><a href="ch04s02.html#d5e226">Setting up the SQL Database (MySQL) on the Cloud Controller</a></span></li></ul></li><li><span class="file"><a href="ch04s02.html#d5e242">Installing the Compute Node</a></span></li><li><span class="file"><a href="ch04s02.html#d5e252">Restart All Relevant Services on the Compute Node</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch04s03.html">Configuring OpenStack Compute</a></span><ul><li><span class="file"><a href="ch04s03.html#d5e260">Set Up OpenStack Compute Environment on the Compute Node</a></span></li><li><span class="file"><a href="ch04s03.html#d5e269">Create Certifications</a></span></li><li><span class="file"><a href="ch04s03.html#d5e276">Setting Flags in the nova.conf File</a></span></li><li><span class="file"><a href="ch04s03.html#d5e336">Enable Access to VMs on the Compute Node</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch05.html">Installing and Configuring OpenStack Imaging Service</a></span><ul><li><span class="file"><a href="ch05s01.html">System Requirements</a></span></li><li><span class="file"><a href="ch05s02.html">Installing OpenStack Imaging Service on Ubuntu </a></span><ul><li><span class="file"><a href="ch05s02.html#d5e361">Example Installation Architecture</a></span></li><li><span class="file"><a href="ch05s02.html#d5e364">Installing the OpenStack Imaging Service</a></span><ul><li><span class="file"><a href="ch05s02.html#d5e379">Setting up the SQL Database</a></span></li></ul></li></ul></li></ul></li><li><span class="file"><a href="ch06.html">Networking</a></span><ul><li><span class="file"><a href="ch06s01.html">Networking Options</a></span></li><li><span class="file"><a href="ch06s02.html">Configuring Networking on the Compute Node</a></span><ul><li><span class="file"><a href="ch06s02.html#d5e423">Configuring Flat Networking</a></span></li><li><span class="file"><a href="ch06s02.html#d5e434">Configuring Flat DHCP Networking</a></span></li><li><span class="file"><a href="ch06s02.html#d5e441">Configuring VLAN Networking</a></span></li><li><span class="file"><a href="ch06s02.html#d5e444">Enabling Ping and SSH on VMs</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch07.html">Running OpenStack Compute</a></span><ul><li><span class="file"><a href="ch07s01.html">Understanding How Compute Runs Clouds</a></span></li><li id="webhelp-currentid"><span class="file"><a href="ch07s02.html">Understanding the Compute Service Architecture</a></span><ul><li><span class="file"><a href="ch07s02.html#d5e474">API Server</a></span></li><li><span class="file"><a href="ch07s02.html#d5e478">Message Queue</a></span></li><li><span class="file"><a href="ch07s02.html#d5e482">Compute Worker</a></span></li><li><span class="file"><a href="ch07s02.html#d5e498">Network Controller</a></span></li><li><span class="file"><a href="ch07s02.html#d5e508">Volume Workers</a></span></li></ul></li><li><span class="file"><a href="ch07s03.html">Managing the Cloud</a></span><ul><li><span class="file"><a href="ch07s03.html#d5e523">Using the nova-manage command</a></span></li></ul></li><li><span class="file"><a href="ch07s04.html">Managing Compute Users</a></span><ul><li><span class="file"><a href="ch07s04.html#d5e539">Credentials</a></span></li><li><span class="file"><a href="ch07s04.html#d5e545">Role Based Access Control</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch08.html">OpenStack Interfaces</a></span><ul><li><span class="file"><a href="ch08s01.html">System Requirements</a></span></li><li><span class="file"><a href="ch08s02.html">Installation Steps</a></span><ul><li><span class="file"><a href="ch08s02.html#d5e593">Get the source for both projects</a></span></li><li><span class="file"><a href="ch08s02.html#d5e604">(Optional) Build django-nova</a></span></li><li><span class="file"><a href="ch08s02.html#d5e622">Build and Configure Openstack-Dashboard</a></span></li><li><span class="file"><a href="ch08s02.html#d5e646">Run the Server</a></span></li></ul></li></ul></li><li><span class="file"><a href="ch09.html">OpenStack Compute Tutorials</a></span><ul><li><span class="file"><a href="ch09s01.html">Running Your First Elastic Web Application on the Cloud</a></span><ul><li><span class="file"><a href="ch09s01.html#d5e668">Part I: Setting Up the Cloud Infrastructure</a></span><ul><li><span class="file"><a href="ch09s01.html#d5e671">Configuring the network</a></span></li><li><span class="file"><a href="ch09s01.html#d5e693">Ensure the Database is Up-to-date</a></span></li><li><span class="file"><a href="ch09s01.html#d5e697">Creating a user</a></span></li><li><span class="file"><a href="ch09s01.html#d5e704">Creating a project and related credentials</a></span></li></ul></li><li><span class="file"><a href="ch09s01.html#d5e720">Part II: Getting Virtual Machines to Run the Virtual Servers</a></span></li><li><span class="file"><a href="ch09s01.html#d5e731">Part III: Installing the Needed Software for the Web-Scale Scenario</a></span><ul><li><span class="file"><a href="ch09s01.html#d5e740">On the first VM, install Wordpress</a></span></li><li><span class="file"><a href="ch09s01.html#d5e750">On a second VM, install MySQL</a></span></li><li><span class="file"><a href="ch09s01.html#d5e754">On a third VM, install Memcache</a></span></li><li><span class="file"><a href="ch09s01.html#d5e759">Configure the Wordpress Memcache plugin</a></span></li></ul></li></ul></li></ul></li><li><span class="file"><a href="ch10.html">Support and Troubleshooting</a></span><ul><li><span class="file"><a href="ch10s01.html">Community Support</a></span><ul><li><span class="file"><a href="ch10s01.html#d5e768">The Launchpad Answers area </a></span></li><li><span class="file"><a href="ch10s01.html#d5e773">OpenStack mailing list</a></span></li><li><span class="file"><a href="ch10s01.html#d5e778">The OpenStack Wiki search </a></span></li><li><span class="file"><a href="ch10s01.html#d5e781">The Launchpad Bugs area </a></span></li><li><span class="file"><a href="ch10s01.html#d5e797">The OpenStack IRC channel </a></span></li><li><span class="file"><a href="ch10s01.html#d5e800">OpenStack Mailing Lists </a></span></li></ul></li><li><span class="file"><a href="ch10s02.html">Troubleshooting OpenStack Object Storage</a></span><ul><li><span class="file"><a href="ch10s02.html#d5e806">Handling Drive Failure</a></span></li><li><span class="file"><a href="ch10s02.html#d5e810">Handling Server Failure</a></span></li><li><span class="file"><a href="ch10s02.html#d5e815">Detecting Failed Drives</a></span></li></ul></li><li><span class="file"><a href="ch10s03.html">Troubleshooting OpenStack Compute</a></span><ul><li><span class="file"><a href="ch10s03.html#d5e822">Log files for OpenStack Compute</a></span></li><li><span class="file"><a href="ch10s03.html#d5e826">Common Errors and Fixes for OpenStack Compute</a></span></li></ul></li></ul></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(ditaSearch_Form);return false" name="ditaSearch_Form" class="searchForm"><fieldset class="searchFieldSet"><legend>Search</legend><center><input id="textToSearch" name="textToSearch" type="text" class="searchText"/> &nbsp; <input onclick="Verifie(ditaSearch_Form)" type="button" class="searchButton" value="Go" id="doSearch"/></center></fieldset></form></div><div id="searchResults"><center/></div><p class="searchHighlight"><a href="#" onclick="toggleHighlight()">Search Highlighter (On/Off)</a></p></div></div></div></div></body></html>
 
 
b'\\ No newline at end of file'