Merge lp:~annegentle/nova/fixnewscript into lp:~hudson-openstack/nova/trunk

Proposed by Anne Gentle
Status: Merged
Approved by: Soren Hansen
Approved revision: 484
Merged at revision: 550
Proposed branch: lp:~annegentle/nova/fixnewscript
Merge into: lp:~hudson-openstack/nova/trunk
Diff against target: 1127 lines (+367/-250)
41 files modified
README (+2/-2)
doc/source/adminguide/binaries.rst (+1/-1)
doc/source/adminguide/flags.rst (+1/-1)
doc/source/adminguide/getting.started.rst (+1/-1)
doc/source/adminguide/index.rst (+1/-1)
doc/source/adminguide/managing.images.rst (+1/-1)
doc/source/adminguide/managing.instances.rst (+1/-1)
doc/source/adminguide/managing.networks.rst (+2/-2)
doc/source/adminguide/managing.projects.rst (+1/-1)
doc/source/adminguide/managingsecurity.rst (+1/-1)
doc/source/adminguide/monitoring.rst (+1/-1)
doc/source/adminguide/multi.node.install.rst (+259/-200)
doc/source/adminguide/network.flat.rst (+1/-1)
doc/source/adminguide/network.vlan.rst (+2/-3)
doc/source/adminguide/nova.manage.rst (+1/-1)
doc/source/cloud101.rst (+4/-4)
doc/source/community.rst (+1/-1)
doc/source/devref/addmethod.openstackapi.rst (+1/-1)
doc/source/devref/api.rst (+1/-1)
doc/source/devref/architecture.rst (+1/-1)
doc/source/devref/auth.rst (+1/-1)
doc/source/devref/cloudpipe.rst (+1/-1)
doc/source/devref/compute.rst (+1/-1)
doc/source/devref/database.rst (+2/-2)
doc/source/devref/development.environment.rst (+1/-1)
doc/source/devref/fakes.rst (+1/-1)
doc/source/devref/glance.rst (+1/-1)
doc/source/devref/index.rst (+1/-1)
doc/source/devref/network.rst (+1/-1)
doc/source/devref/nova.rst (+1/-1)
doc/source/devref/objectstore.rst (+1/-1)
doc/source/devref/rabbit.rst (+3/-2)
doc/source/devref/scheduler.rst (+1/-1)
doc/source/devref/services.rst (+1/-1)
doc/source/devref/volume.rst (+1/-1)
doc/source/index.rst (+1/-1)
doc/source/livecd.rst (+17/-0)
doc/source/nova.concepts.rst (+3/-5)
doc/source/object.model.rst (+26/-0)
doc/source/quickstart.rst (+1/-1)
doc/source/service.architecture.rst (+17/-0)
To merge this branch: bzr merge lp:~annegentle/nova/fixnewscript
Reviewer Review Type Date Requested Status
Thierry Carrez (community) Approve
Devin Carlen (community) Approve
Vish Ishaya (community) Approve
Soren Hansen Pending
Review via email: mp+45085@code.launchpad.net

Description of the change

Had to abandon the other branch (~annegentle/nova/newscript) because the diffs weren't working right for me. This is a fresh branch that should be merged correctly with trunk. Thanks for your patience. :)

To post a comment you must log in.
lp:~annegentle/nova/fixnewscript updated
480. By Anne Gentle

Change all 2010 Copyright statements to 2010-2011 in doc source directory only

481. By Anne Gentle

Fixing formatting problems with multinode install document

Revision history for this message
Vish Ishaya (vishvananda) wrote :

lgtm. Going to mark the other branch rejected so it stops showing up.

review: Approve
Revision history for this message
Anne Gentle (annegentle) wrote :

Oh thank you - I wasn't sure how to do that correctly.

On Wed, Jan 5, 2011 at 6:04 PM, Vish Ishaya <email address hidden> wrote:

> Review: Approve
> lgtm. Going to mark the other branch rejected so it stops showing up.
> --
> https://code.launchpad.net/~annegentle/nova/fixnewscript/+merge/45085<https://code.launchpad.net/%7Eannegentle/nova/fixnewscript/+merge/45085>
> You are the owner of lp:~annegentle/nova/fixnewscript.
>

Revision history for this message
Devin Carlen (devcamcar) wrote :

approve

review: Approve
Revision history for this message
Thierry Carrez (ttx) wrote :

Looks like this combines two things: the newscript and some doc fixes. It would be better to have two separate branch merge proposals, since the doc fixes are no-brainers, while some people (including me) are not yet convinced another installation script should be made part of the core code.

lp:~annegentle/nova/fixnewscript updated
482. By Anne Gentle

Fixing unescaped quote in nova-CC-install.sh script plus formatting fixes to multinode install

483. By Anne Gentle

Merged with trunk

484. By Anne Gentle

Removing script file

Revision history for this message
Anne Gentle (annegentle) wrote :

Removing the script to separate the doc and script. We'll place the script on github similar to Vish's dev script's first holding spot.

Revision history for this message
Thierry Carrez (ttx) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'README'
--- README 2010-07-24 23:22:17 +0000
+++ README 2011-01-11 22:27:12 +0000
@@ -1,7 +1,7 @@
1The Choose Your Own Adventure README for Nova:1The Choose Your Own Adventure README for Nova:
22
3 You have come across a cloud computing fabric controller. It has identified3 You have come across a cloud computing fabric controller. It has identified
4 itself as "Nova." It is apparent that it maintains compatability with4 itself as "Nova." It is apparent that it maintains compatibility with
5 the popular Amazon EC2 and S3 APIs.5 the popular Amazon EC2 and S3 APIs.
66
7To monitor it from a distance: follow @novacc on twitter7To monitor it from a distance: follow @novacc on twitter
@@ -10,7 +10,7 @@
1010
11To study its anatomy: read http://nova.openstack.org/architecture.html11To study its anatomy: read http://nova.openstack.org/architecture.html
1212
13To disect it in detail: visit http://code.launchpad.net/nova13To dissect it in detail: visit http://code.launchpad.net/nova
1414
15To taunt it with its weaknesses: use http://bugs.launchpad.net/nova15To taunt it with its weaknesses: use http://bugs.launchpad.net/nova
1616
1717
=== modified file 'doc/source/adminguide/binaries.rst'
--- doc/source/adminguide/binaries.rst 2010-11-09 04:38:21 +0000
+++ doc/source/adminguide/binaries.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/flags.rst'
--- doc/source/adminguide/flags.rst 2010-11-04 23:00:46 +0000
+++ doc/source/adminguide/flags.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/getting.started.rst'
--- doc/source/adminguide/getting.started.rst 2011-01-03 09:08:32 +0000
+++ doc/source/adminguide/getting.started.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/index.rst'
--- doc/source/adminguide/index.rst 2010-11-22 22:43:17 +0000
+++ doc/source/adminguide/index.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/managing.images.rst'
--- doc/source/adminguide/managing.images.rst 2010-11-09 02:40:21 +0000
+++ doc/source/adminguide/managing.images.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/managing.instances.rst'
--- doc/source/adminguide/managing.instances.rst 2010-11-09 04:38:21 +0000
+++ doc/source/adminguide/managing.instances.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/managing.networks.rst'
--- doc/source/adminguide/managing.networks.rst 2010-12-07 22:48:42 +0000
+++ doc/source/adminguide/managing.networks.rst 2011-01-11 22:27:12 +0000
@@ -1,7 +1,7 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 Overview Sections Copyright 2010 Citrix 4 Overview Sections Copyright 2010-2011 Citrix
5 All Rights Reserved.5 All Rights Reserved.
66
7 Licensed under the Apache License, Version 2.0 (the "License"); you may7 Licensed under the Apache License, Version 2.0 (the "License"); you may
88
=== modified file 'doc/source/adminguide/managing.projects.rst'
--- doc/source/adminguide/managing.projects.rst 2010-11-09 04:38:21 +0000
+++ doc/source/adminguide/managing.projects.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/managingsecurity.rst'
--- doc/source/adminguide/managingsecurity.rst 2010-11-11 22:32:24 +0000
+++ doc/source/adminguide/managingsecurity.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/monitoring.rst'
--- doc/source/adminguide/monitoring.rst 2010-11-04 23:00:46 +0000
+++ doc/source/adminguide/monitoring.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/multi.node.install.rst'
--- doc/source/adminguide/multi.node.install.rst 2011-01-03 21:34:44 +0000
+++ doc/source/adminguide/multi.node.install.rst 2011-01-11 22:27:12 +0000
@@ -1,6 +1,7 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4
4 All Rights Reserved.5 All Rights Reserved.
56
6 Licensed under the Apache License, Version 2.0 (the "License"); you may7 Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -17,36 +18,35 @@
1718
18Installing Nova on Multiple Servers19Installing Nova on Multiple Servers
19===================================20===================================
2021
21When you move beyond evaluating the technology and into building an actual22When you move beyond evaluating the technology and into building an actual
22production environment, you will need to know how to configure your datacenter23production environment, you will need to know how to configure your datacenter
23and how to deploy components across your clusters. This guide should help you24and how to deploy components across your clusters. This guide should help you
24through that process.25through that process.
2526
26You can install multiple nodes to increase performance and availability of the OpenStack Compute installation.27You can install multiple nodes to increase performance and availability of the OpenStack Compute installation.
2728
28This setup is based on an Ubuntu Lucid 10.04 installation with the latest updates. Most of this works around issues that need to be resolved in the installation and configuration scripts as of October 18th 2010. It also needs to eventually be generalized, but the intent here is to get the multi-node configuration bootstrapped so folks can move forward.29This setup is based on an Ubuntu Lucid 10.04 installation with the latest updates. Most of this works around issues that need to be resolved in the installation and configuration scripts as of October 18th 2010. It also needs to eventually be generalized, but the intent here is to get the multi-node configuration bootstrapped so folks can move forward.
2930
3031
31Requirements for a multi-node installation32Requirements for a multi-node installation
32------------------------------------------33------------------------------------------
3334
34* You need a real database, compatible with SQLAlchemy (mysql, postgresql) There's not a specific reason to choose one over another, it basically depends what you know. MySQL is easier to do High Availability (HA) with, but people may already know Postgres. We should document both configurations, though.35* You need a real database, compatible with SQLAlchemy (mysql, postgresql) There's not a specific reason to choose one over another, it basically depends what you know. MySQL is easier to do High Availability (HA) with, but people may already know Postgres. We should document both configurations, though.
35* For a recommended HA setup, consider a MySQL master/slave replication, with as many slaves as you like, and probably a heartbeat to kick one of the slaves into being a master if it dies.36* For a recommended HA setup, consider a MySQL master/slave replication, with as many slaves as you like, and probably a heartbeat to kick one of the slaves into being a master if it dies.
36* For performance optimization, split reads and writes to the database. MySQL proxy is the easiest way to make this work if running MySQL.37* For performance optimization, split reads and writes to the database. MySQL proxy is the easiest way to make this work if running MySQL.
3738
38Assumptions39Assumptions
39^^^^^^^^^^^40-----------
4041
41* Networking is configured between/through the physical machines on a single subnet.42* Networking is configured between/through the physical machines on a single subnet.
42* Installation and execution are both performed by root user.43* Installation and execution are both performed by ROOT user.
4344
4445
4546Step 1 - Use apt-get to get the latest code
46Step 1 Use apt-get to get the latest code47-------------------------------------------
47-----------------------------------------48
48491. Setup Nova PPA with https://launchpad.net/~nova-core/+archive/trunk. The ‘python-software-properties’ package is a pre-requisite for setting up the nova package repo:
491. Setup Nova PPA with https://launchpad.net/~nova-core/+archive/trunk.
5050
51::51::
52 52
@@ -69,201 +69,260 @@
69It is highly likely that there will be errors when the nova services come up since they are not yet configured. Don't worry, you're only at step 1!69It is highly likely that there will be errors when the nova services come up since they are not yet configured. Don't worry, you're only at step 1!
7070
71Step 2 Setup configuration file (installed in /etc/nova)71Step 2 Setup configuration file (installed in /etc/nova)
72---------------------------------------------------------72--------------------------------------------------------
73
741. Nova development has consolidated all config files to nova.conf as of November 2010. There is a default set of options that are already configured in nova.conf:
75
76::
77
78--daemonize=1
79--dhcpbridge_flagfile=/etc/nova/nova.conf
80--dhcpbridge=/usr/bin/nova-dhcpbridge
81--logdir=/var/log/nova
82--state_path=/var/lib/nova
83
84The following items ALSO need to be defined in /etc/nova/nova.conf. I’ve added some explanation of the variables, as comments CANNOT be in nova.conf. There seems to be an issue with nova-manage not processing the comments/whitespace correctly:
85
86--sql_connection ### Location of Nova SQL DB
87
88--s3_host ### This is where Nova is hosting the objectstore service, which will contain the VM images and buckets
89
90--rabbit_host ### This is where the rabbit AMQP messaging service is hosted
91
92--cc_host ### This is where the the nova-api service lives
93
94--verbose ### Optional but very helpful during initial setup
95
96--ec2_url ### The location to interface nova-api
97
98--network_manager ### Many options here, discussed below. This is how your controller will communicate with additional Nova nodes and VMs:
99
100nova.network.manager.FlatManager # Simple, no-vlan networking type
101nova.network.manager. FlatDHCPManager # Flat networking with DHCP
102nova.network.manager.VlanManager # Vlan networking with DHCP – /DEFAULT/ if no network manager is defined in nova.conf
103
104--fixed_range=<network/prefix> ### This will be the IP network that ALL the projects for future VM guests will reside on. E.g. 192.168.0.0/12
105
106--network_size=<# of addrs> ### This is the total number of IP Addrs to use for VM guests, of all projects. E.g. 5000
107
108The following code can be cut and paste, and edited to your setup:
73109
74Note: CC_ADDR=<the external IP address of your cloud controller>110Note: CC_ADDR=<the external IP address of your cloud controller>
75111
76Nova development has consolidated all .conf files to nova.conf as of November 2010. References to specific .conf files may be ignored.112Detailed explanation of the following example is available above.
77113
78#. These need to be defined in the nova.conf configuration file::114::
79115
80 --sql_connection=mysql://root:nova@$CC_ADDR/nova # location of nova sql db116--sql_connection=mysql://root:nova@<CC_ADDR>/nova
81 --s3_host=$CC_ADDR # This is where Nova is hosting the objectstore service, which117--s3_host=<CC_ADDR>
82 # will contain the VM images and buckets118--rabbit_host=<CC_ADDR>
83 --rabbit_host=$CC_ADDR # This is where the rabbit AMQP messaging service is hosted119--cc_host=<CC_ADDR>
84 --cc_host=$CC_ADDR # This is where the the nova-api service lives120--verbose
85 --verbose # Optional but very helpful during initial setup121--ec2_url=http://<CC_ADDR>:8773/services/Cloud
86 --ec2_url=http://$CC_ADDR:8773/services/Cloud122--network_manager=nova.network.manager.VlanManager
87 --network_manager=nova.network.manager.FlatManager # simple, no-vlan networking type123--fixed_range=<network/prefix>
88 --fixed_range=<network/prefix> # ip network to use for VM guests, ex 192.168.2.64/26124--network_size=<# of addrs>
89 --network_size=<# of addrs> # number of ip addrs to use for VM guests, ex 64125
901262. Create a “nova” group, and set permissions::
91#. Create a nova group::127
92128 addgroup nova
93 sudo addgroup nova129
94130The Nova config file should have its owner set to root:nova, and mode set to 0644, since they contain your MySQL server's root password. ::
95The Nova config file should have its owner set to root:nova, and mode set to 0640, since they contain your MySQL server's root password.131
96132 chown -R root:nova /etc/nova
97::133 chmod 644 /etc/nova/nova.conf
98134
99 cd /etc/nova135Step 3 - Setup the SQL DB (MySQL for this setup)
100 chown -R root:nova .136------------------------------------------------
101137
102Step 3 Setup the sql db1381. First you 'preseed' to bypass all the installation prompts::
103-----------------------139
104140 bash
1051. First you 'preseed' (using the Quick Start method :doc:`../quickstart`). Run this as root.141 MYSQL_PASS=nova
106142 cat <<MYSQL_PRESEED | debconf-set-selections
107::143 mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
108144 mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
109 sudo apt-get install bzr git-core145 mysql-server-5.1 mysql-server/start_on_boot boolean true
110 sudo bash146 MYSQL_PRESEED
111 export MYSQL_PASS=nova147
1121482. Install MySQL::
113149
114::150 apt-get install -y mysql-server
115151
116 cat <<MYSQL_PRESEED | debconf-set-selections1523. Edit /etc/mysql/my.cnf to change ‘bind-address’ from localhost to any::
117 mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS153
118 mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS154 sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
119 mysql-server-5.1 mysql-server/start_on_boot boolean true155 service mysql restart
120 MYSQL_PRESEED156
1211573. Network Configuration
1222. Install mysql158
123159If you use FlatManager (as opposed to VlanManager that we set) as your network manager, there are some additional networking changes you’ll have to make to ensure connectivity between your nodes and VMs. If you chose VlanManager or FlatDHCP, you may skip this section, as it’s set up for you automatically.
124::160
125161Nova defaults to a bridge device named 'br100'. This needs to be created and somehow integrated into YOUR network. To keep things as simple as possible, have all the VM guests on the same network as the VM hosts (the compute nodes). To do so, set the compute node's external IP address to be on the bridge and add eth0 to that bridge. To do this, edit your network interfaces config to look like the following::
126 sudo apt-get install -y mysql-server
127
1284. Edit /etc/mysql/my.cnf and set this line: bind-address=0.0.0.0 and then sighup or restart mysql
129
1305. create nova's db
131
132::
133
134 mysql -uroot -pnova -e 'CREATE DATABASE nova;'
135
136
1376. Update the db to include user 'root'@'%'
138
139::
140
141 mysql -u root -p nova
142 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
143 SET PASSWORD FOR 'root'@'%' = PASSWORD('nova');
144
1457. Branch and install Nova
146
147::
148
149 sudo -i
150 cd ~
151 export USE_MYSQL=1
152 export MYSQL_PASS=nova
153 git clone https://github.com/vishvananda/novascript.git
154 cd novascript
155 ./nova.sh branch
156 ./nova.sh install
157 ./nova.sh run
158
159Step 4 Setup Nova environment
160-----------------------------
161
162::
163
164 /usr/bin/python /usr/bin/nova-manage user admin <user_name>
165 /usr/bin/python /usr/bin/nova-manage project create <project_name> <user_name>
166 /usr/bin/python /usr/bin/nova-manage project create network
167
168Note: The nova-manage service assumes that the first IP address is your network (like 192.168.0.0), that the 2nd IP is your gateway (192.168.0.1), and that the broadcast is the very last IP in the range you defined (192.168.0.255). If this is not the case you will need to manually edit the sql db 'networks' table.o.
169
170On running this command, entries are made in the 'networks' and 'fixed_ips' table. However, one of the networks listed in the 'networks' table needs to be marked as bridge in order for the code to know that a bridge exists. The Network is marked as bridged automatically based on the type of network manager selected.
171
172More networking details to create a network bridge for flat network
173^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
174
175Nova defaults to a bridge device named 'br100'. This needs to be created and somehow integrated into YOUR network. In my case, I wanted to keep things as simple as possible and have all the vm guests on the same network as the vm hosts (the compute nodes). Thus, I set the compute node's external IP address to be on the bridge and added eth0 to that bridge. To do this, edit your network interfaces config to look like the following::
176162
177 < begin /etc/network/interfaces >163 < begin /etc/network/interfaces >
178 # The loopback network interface164 # The loopback network interface
179 auto lo165 auto lo
180 iface lo inet loopback166 iface lo inet loopback
181167
182 # Networking for NOVA168 # Networking for NOVA
183 auto br100169 auto br100
184170
185 iface br100 inet dhcp171 iface br100 inet dhcp
186 bridge_ports eth0172 bridge_ports eth0
187 bridge_stp off173 bridge_stp off
188 bridge_maxwait 0174 bridge_maxwait 0
189 bridge_fd 0175 bridge_fd 0
190 < end /etc/network/interfaces >176 < end /etc/network/interfaces >
191177
192
193Next, restart networking to apply the changes::178Next, restart networking to apply the changes::
194179
195 sudo /etc/init.d/networking restart180 sudo /etc/init.d/networking restart
196181
197Step 5: Create nova certs.1824. MySQL DB configuration:
198--------------------------183
199184Create NOVA database::
200Generate the certs as a zip file::185
201186 mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
202 mkdir creds187
203 sudo /usr/bin/python /usr/bin/nova-manage project zip admin admin creds/nova.zip188Update the DB to include user 'root'@'%' with super user privileges::
204189
205you can get the rc file more easily with::190 mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"
206191
207 sudo /usr/bin/python /usr/bin/nova-manage project env admin admin creds/novarc 192Set mySQL root password::
208193
209unzip them in your home directory, and add them to your environment::194 mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('$MYSQL_PASS');"
210195
211 unzip creds/nova.zip196Step 4 - Setup Nova environment
212 echo ". creds/novarc" >> ~/.bashrc197-------------------------------
213 ~/.bashrc198
214199These are the commands you run to set up a user and project::
215Step 6 Restart all relevant services200
216------------------------------------201 /usr/bin/python /usr/bin/nova-manage user admin <user_name>
217202 /usr/bin/python /usr/bin/nova-manage project create <project_name> <user_name>
218Restart Libvirt::203 /usr/bin/python /usr/bin/nova-manage network create <project-network> <number-of-networks-in-project> <IPs in project>
219204
220 sudo /etc/init.d/libvirt-bin restart205Here is an example of what this looks like with real data::
221206
222Restart relevant nova services::207 /usr/bin/python /usr/bin/nova-manage user admin dub
223208 /usr/bin/python /usr/bin/nova-manage project create dubproject dub
224 sudo /etc/init.d/nova-compute restart209 /usr/bin/python /usr/bin/nova-manage network create 192.168.0.0/24 1 255
225 sudo /etc/init.d/nova-volume restart210
226211(I chose a /24 since that falls inside my /12 range I set in ‘fixed-range’ in nova.conf. Currently, there can only be one network, and I am using the max IP’s available in a /24. You can choose to use any valid amount that you would like.)
227212
228.. todo:: do we still need the content below?213Note: The nova-manage service assumes that the first IP address is your network (like 192.168.0.0), that the 2nd IP is your gateway (192.168.0.1), and that the broadcast is the very last IP in the range you defined (192.168.0.255). If this is not the case you will need to manually edit the sql db 'networks' table.o.
229214
230Bare-metal Provisioning Notes215On running this command, entries are made in the 'networks' and 'fixed_ips' table. However, one of the networks listed in the 'networks' table needs to be marked as bridge in order for the code to know that a bridge exists. The Network is marked as bridged automatically based on the type of network manager selected. This is ONLY necessary if you chose FlatManager as your network type. More information can be found at the end of this document discussing setting up the bridge device.
231-----------------------------216
232217
233To install the base operating system you can use PXE booting.218Step 5 - Create Nova certifications
234219-----------------------------------
235Types of Hosts220
236--------------2211. Generate the certs as a zip file. These are the certs you will use to launch instances, bundle images, and all the other assorted api functions.
237222
238A single machine in your cluster can act as one or more of the following types223::
239of host:224
240225 mkdir –p /root/creds
241Nova Services226 /usr/bin/python /usr/bin/nova-manage project zipfile $NOVA_PROJECT $NOVA_PROJECT_USER /root/creds/novacreds.zip
242227
243* Network2282. Unzip them in your home directory, and add them to your environment.
244* Compute229
245* Volume230::
246* API231
247* Objectstore232 unzip /root/creds/novacreds.zip -d /root/creds/
248233 cat /root/creds/novarc >> ~/.bashrc
249Other supporting services234 source ~/.bashrc
250235
251* Message Queue236Step 6 - Restart all relevant services
252* Database (optional)237--------------------------------------
253* Authentication database (optional)238
254239Restart all six services in total, just to cover the entire spectrum::
255Initial Setup240
256-------------241 libvirtd restart; service nova-network restart; service nova-compute restart; service nova-api restart; service nova-objectstore restart; service nova-scheduler restart
257242
258* Networking243Step 7 - Closing steps, and cleaning up
259* Cloudadmin User Creation244---------------------------------------
260245
261Deployment Technologies246One of the most commonly missed configuration areas is not allowing the proper access to VMs. Use the 'euca-authorize' command to enable access. Below, you will find the commands to allow 'ping' and 'ssh' to your VMs::
262-----------------------247
263248 euca-authorize -P icmp -t -1:-1 default
264Once you have machines with a base operating system installation, you can deploy249 euca-authorize -P tcp -p 22 default
265code and configuration with your favorite tools to specify which machines in250
266your cluster have which roles:251Another common issue is you cannot ping or SSH your instances after issusing the 'euca-authorize' commands. Something to look at is the amount of 'dnsmasq' processes that are running. If you have a running instance, check to see that TWO 'dnsmasq' processes are running. If not, perform the following::
267252
268* Puppet253 killall dnsmasq
269* Chef254 service nova-network restart
255
256Step 8 – Testing the installation
257---------------------------------
258
259You can then use `euca2ools` to test some items::
260
261 euca-describe-images
262 euca-describe-instances
263
264If you have issues with the API key, you may need to re-source your creds file::
265
266 . /root/creds/novarc
267
268If you don’t get any immediate errors, you’re successfully making calls to your cloud!
269
270Step 9 - Spinning up a VM for testing
271-------------------------------------
272
273(This excerpt is from Thierry Carrez's blog, with reference to http://wiki.openstack.org/GettingImages.)
274
275The image that you will use here will be a ttylinux image, so this is a limited function server. You will be able to ping and SSH to this instance, but it is in no way a full production VM.
276
277Download the image, and publish to your bucket:
278
279::
280
281 image="ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz"
282 wget http://smoser.brickies.net/ubuntu/ttylinux-uec/$image
283 uec-publish-tarball $image mybucket
284
285This will output three references, an "emi", an "eri" and an "eki." (Image, ramdisk, and kernel) The emi is the one we use to launch instances, so take note of this.
286
287Create a keypair to SSH to the server:
288
289::
290
291 euca-add-keypair mykey > mykey.priv
292
293 chmod 0600 mykey.priv
294
295Boot your instance:
296
297::
298
299 euca-run-instances $emi -k mykey -t m1.tiny
300
301($emi is replaced with the output from the previous command)
302
303Checking status, and confirming communication:
304
305Once you have booted the instance, you can check the status the the `euca-describe-instances` command. Here you can view the instance ID, IP, and current status of the VM.
306
307::
308
309 euca-describe-instances
310
311Once in a "running" state, you can use your SSH key connect:
312
313::
314
315 ssh -i mykey.priv root@$ipaddress
316
317When you are ready to terminate the instance, you may do so with the `euca-terminate-instances` command:
318
319::
320
321 euca-terminate-instances $instance-id
322
323You can determine the instance-id with `euca-describe-instances`, and the format is "i-" with a series of letter and numbers following: e.g. i-a4g9d.
324
325For more information in creating you own custom (production ready) instance images, please visit http://wiki.openstack.org/GettingImages for more information!
326
327Enjoy your new private cloud, and play responsibly!
328
270329
=== modified file 'doc/source/adminguide/network.flat.rst'
--- doc/source/adminguide/network.flat.rst 2010-11-12 17:02:20 +0000
+++ doc/source/adminguide/network.flat.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/adminguide/network.vlan.rst'
--- doc/source/adminguide/network.vlan.rst 2010-11-22 22:43:17 +0000
+++ doc/source/adminguide/network.vlan.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
@@ -91,11 +91,10 @@
91Compute nodes have iptables/ebtables entries created per project and91Compute nodes have iptables/ebtables entries created per project and
92instance to protect against IP/MAC address spoofing and ARP poisoning.92instance to protect against IP/MAC address spoofing and ARP poisoning.
9393
94The network assignment to a project, and IP address assignment to a VM instance, are triggered when a user starts to run a VM instance. When running a VM instance, a user needs to specify a project for the instances, and the security groups (described in Security Groups) when the instance wants to join. If this is the first instance to be created for the project, then Nova (the cloud controller) needs to find a network controller to be the network host for the project; it then sets up a private network by finding an unused VLAN id, an unused subnet, and then the controller assigns them to the project, it also assigns a name to the project's Linux bridge, and allocating a private IP within the project's subnet for the new instance.94The network assignment to a project, and IP address assignment to a VM instance, are triggered when a user starts to run a VM instance. When running a VM instance, a user needs to specify a project for the instances, and the security groups (described in Security Groups) when the instance wants to join. If this is the first instance to be created for the project, then Nova (the cloud controller) needs to find a network controller to be the network host for the project; it then sets up a private network by finding an unused VLAN id, an unused subnet, and then the controller assigns them to the project, it also assigns a name to the project's Linux bridge (br100 stored in the Nova database), and allocating a private IP within the project's subnet for the new instance.
9595
96If the instance the user wants to start is not the project's first, a subnet and a VLAN must have already been assigned to the project; therefore the system needs only to find an available IP address within the subnet and assign it to the new starting instance. If there is no private IP available within the subnet, an exception will be raised to the cloud controller, and the VM creation cannot proceed.96If the instance the user wants to start is not the project's first, a subnet and a VLAN must have already been assigned to the project; therefore the system needs only to find an available IP address within the subnet and assign it to the new starting instance. If there is no private IP available within the subnet, an exception will be raised to the cloud controller, and the VM creation cannot proceed.
9797
98.. todo:: insert the name of the Linux bridge, is it always named bridge?
9998
100External Infrastructure99External Infrastructure
101-----------------------100-----------------------
102101
=== modified file 'doc/source/adminguide/nova.manage.rst'
--- doc/source/adminguide/nova.manage.rst 2010-11-17 22:02:11 +0000
+++ doc/source/adminguide/nova.manage.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/cloud101.rst'
--- doc/source/cloud101.rst 2010-12-07 22:48:42 +0000
+++ doc/source/cloud101.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
@@ -54,7 +54,7 @@
54The US-based National Institute of Standards and Technology offers definitions for cloud computing54The US-based National Institute of Standards and Technology offers definitions for cloud computing
55and the service models that are emerging. 55and the service models that are emerging.
5656
57These definitions are summarized from http://csrc.nist.gov/groups/SNS/cloud-computing/.57These definitions are summarized from the `U.S. National Institute of Standards and Technology (NIST) cloud computing research group <http://csrc.nist.gov/groups/SNS/cloud-computing/>`_.
5858
59SaaS - Software as a Service59SaaS - Software as a Service
60^^^^^^^^^^^^^^^^^^^^^^^^^^^^60^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -74,7 +74,6 @@
74Provides infrastructure such as computer instances, network connections, and storage so that people 74Provides infrastructure such as computer instances, network connections, and storage so that people
75can run any software or operating system.75can run any software or operating system.
7676
77
78Types of Cloud Deployments77Types of Cloud Deployments
79--------------------------78--------------------------
8079
@@ -87,4 +86,5 @@
87Work in the Clouds86Work in the Clouds
88------------------87------------------
8988
90.. todo:: What people have done/sample projects89What have people done with cloud computing? Cloud computing can help with large-scale computing needs or can lead consolidation efforts by virtualizing servers to make more use of existing hardware (and possibly release old hardware from service.) People also use cloud computing for collaboration because of the high availability through networked computers. Productivity suites for word processing, number crunching, and email communications, and more are also available through cloud computing. Cloud computing also avails additional storage to the cloud user, avoiding the need for additional hard drives on your desktop and enabling access to large data storage capacity online in the cloud.
90
9191
=== modified file 'doc/source/community.rst'
--- doc/source/community.rst 2010-12-30 17:10:31 +0000
+++ doc/source/community.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/addmethod.openstackapi.rst'
--- doc/source/devref/addmethod.openstackapi.rst 2010-12-30 19:23:52 +0000
+++ doc/source/devref/addmethod.openstackapi.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 OpenStack LLC 2 Copyright 2010-2011 OpenStack LLC
3 All Rights Reserved.3 All Rights Reserved.
44
5 Licensed under the Apache License, Version 2.0 (the "License"); you may5 Licensed under the Apache License, Version 2.0 (the "License"); you may
66
=== modified file 'doc/source/devref/api.rst'
--- doc/source/devref/api.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/api.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/architecture.rst'
--- doc/source/devref/architecture.rst 2010-11-04 23:00:46 +0000
+++ doc/source/devref/architecture.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/auth.rst'
--- doc/source/devref/auth.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/auth.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/cloudpipe.rst'
--- doc/source/devref/cloudpipe.rst 2010-11-22 23:03:54 +0000
+++ doc/source/devref/cloudpipe.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/compute.rst'
--- doc/source/devref/compute.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/compute.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/database.rst'
--- doc/source/devref/database.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/database.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
@@ -60,4 +60,4 @@
60-----60-----
6161
62Tests are lacking for the db api layer and for the sqlalchemy driver.62Tests are lacking for the db api layer and for the sqlalchemy driver.
63Failures in the drivers would be dectected in other test cases, though.63Failures in the drivers would be detected in other test cases, though.
6464
=== modified file 'doc/source/devref/development.environment.rst'
--- doc/source/devref/development.environment.rst 2010-12-30 17:25:14 +0000
+++ doc/source/devref/development.environment.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/fakes.rst'
--- doc/source/devref/fakes.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/fakes.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/glance.rst'
--- doc/source/devref/glance.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/glance.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/index.rst'
--- doc/source/devref/index.rst 2010-11-23 18:49:28 +0000
+++ doc/source/devref/index.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/network.rst'
--- doc/source/devref/network.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/network.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/nova.rst'
--- doc/source/devref/nova.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/nova.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/objectstore.rst'
--- doc/source/devref/objectstore.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/objectstore.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/rabbit.rst'
--- doc/source/devref/rabbit.rst 2010-12-30 19:23:52 +0000
+++ doc/source/devref/rabbit.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,6 @@
1..1..
2 Copyright (c) 2010 Citrix Systems, Inc.2 Copyright (c) 2010 Citrix Systems, Inc.
3 All Rights Reserved.
3 4
4 Licensed under the Apache License, Version 2.0 (the "License"); you may5 Licensed under the Apache License, Version 2.0 (the "License"); you may
5 not use this file except in compliance with the License. You may obtain6 not use this file except in compliance with the License. You may obtain
@@ -29,7 +30,7 @@
2930
30..31..
3132
32Nova implements RPC (both request+response, and one-way, respectively nicknamed 'rpc.call' and 'rpc.cast') over AMQP by providing an adapter class which take cares of marshalling and unmarshalling of messages into function calls. Each Nova service (for example Compute, Volume, etc.) create two queues at the initialization time, one which accepts messages with routing keys 'NODE-TYPE.NODE-ID' (for example compute.hostname) and another, which accepts messages with routing keys as generic 'NODE-TYPE' (for example compute). The former is used specifically when Nova-API needs to redirect commands to a specific node like 'euca-terminate instance'. In this case, only the compute node whose host's hypervisor is running the virtual machine can kill the instance. The API acts as a consumer when RPC calls are request/response, otherwise is acts as publisher only. 33Nova implements RPC (both request+response, and one-way, respectively nicknamed 'rpc.call' and 'rpc.cast') over AMQP by providing an adapter class which take cares of marshaling and unmarshaling of messages into function calls. Each Nova service (for example Compute, Volume, etc.) create two queues at the initialization time, one which accepts messages with routing keys 'NODE-TYPE.NODE-ID' (for example compute.hostname) and another, which accepts messages with routing keys as generic 'NODE-TYPE' (for example compute). The former is used specifically when Nova-API needs to redirect commands to a specific node like 'euca-terminate instance'. In this case, only the compute node whose host's hypervisor is running the virtual machine can kill the instance. The API acts as a consumer when RPC calls are request/response, otherwise is acts as publisher only.
3334
34Nova RPC Mappings35Nova RPC Mappings
35-----------------36-----------------
@@ -39,7 +40,7 @@
39Figure 2 shows the following internal elements:40Figure 2 shows the following internal elements:
4041
41 * Topic Publisher: a Topic Publisher comes to life when an rpc.call or an rpc.cast operation is executed; this object is instantiated and used to push a message to the queuing system. Every publisher connects always to the same topic-based exchange; its life-cycle is limited to the message delivery.42 * Topic Publisher: a Topic Publisher comes to life when an rpc.call or an rpc.cast operation is executed; this object is instantiated and used to push a message to the queuing system. Every publisher connects always to the same topic-based exchange; its life-cycle is limited to the message delivery.
42 * Direct Consumer: a Direct Consumer comes to life if (an only if) a rpc.call operation is executed; this object is instantiated and used to receive a response message from the queuing system; Every consumer connects to a unique direct-based exchange via a unique exclusive queue; its life-cycle is limited to the message delivery; the exchange and queue identifiers are determined by a UUID generator, and are marshalled in the message sent by the Topic Publisher (only rpc.call operations).43 * Direct Consumer: a Direct Consumer comes to life if (an only if) a rpc.call operation is executed; this object is instantiated and used to receive a response message from the queuing system; Every consumer connects to a unique direct-based exchange via a unique exclusive queue; its life-cycle is limited to the message delivery; the exchange and queue identifiers are determined by a UUID generator, and are marshaled in the message sent by the Topic Publisher (only rpc.call operations).
43 * Topic Consumer: a Topic Consumer comes to life as soon as a Worker is instantiated and exists throughout its life-cycle; this object is used to receive messages from the queue and it invokes the appropriate action as defined by the Worker role. A Topic Consumer connects to the same topic-based exchange either via a shared queue or via a unique exclusive queue. Every Worker has two topic consumers, one that is addressed only during rpc.cast operations (and it connects to a shared queue whose exchange key is 'topic') and the other that is addressed only during rpc.call operations (and it connects to a unique queue whose exchange key is 'topic.host').44 * Topic Consumer: a Topic Consumer comes to life as soon as a Worker is instantiated and exists throughout its life-cycle; this object is used to receive messages from the queue and it invokes the appropriate action as defined by the Worker role. A Topic Consumer connects to the same topic-based exchange either via a shared queue or via a unique exclusive queue. Every Worker has two topic consumers, one that is addressed only during rpc.cast operations (and it connects to a shared queue whose exchange key is 'topic') and the other that is addressed only during rpc.call operations (and it connects to a unique queue whose exchange key is 'topic.host').
44 * Direct Publisher: a Direct Publisher comes to life only during rpc.call operations and it is instantiated to return the message required by the request/response operation. The object connects to a direct-based exchange whose identity is dictated by the incoming message.45 * Direct Publisher: a Direct Publisher comes to life only during rpc.call operations and it is instantiated to return the message required by the request/response operation. The object connects to a direct-based exchange whose identity is dictated by the incoming message.
45 * Topic Exchange: The Exchange is a routing table that exists in the context of a virtual host (the multi-tenancy mechanism provided by RabbitMQ); its type (such as topic vs. direct) determines the routing policy; a RabbitMQ node will have only one topic-based exchange for every topic in Nova.46 * Topic Exchange: The Exchange is a routing table that exists in the context of a virtual host (the multi-tenancy mechanism provided by RabbitMQ); its type (such as topic vs. direct) determines the routing policy; a RabbitMQ node will have only one topic-based exchange for every topic in Nova.
4647
=== modified file 'doc/source/devref/scheduler.rst'
--- doc/source/devref/scheduler.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/scheduler.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/services.rst'
--- doc/source/devref/services.rst 2010-11-07 19:58:02 +0000
+++ doc/source/devref/services.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/devref/volume.rst'
--- doc/source/devref/volume.rst 2010-11-09 04:38:21 +0000
+++ doc/source/devref/volume.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/index.rst'
--- doc/source/index.rst 2010-12-10 22:03:30 +0000
+++ doc/source/index.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/livecd.rst'
--- doc/source/livecd.rst 2010-12-07 22:48:42 +0000
+++ doc/source/livecd.rst 2011-01-11 22:27:12 +0000
@@ -1,3 +1,20 @@
1..
2 Copyright 2010-2011 OpenStack LLC
3
4 All Rights Reserved.
5
6 Licensed under the Apache License, Version 2.0 (the "License"); you may
7 not use this file except in compliance with the License. You may obtain
8 a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 License for the specific language governing permissions and limitations
16 under the License.
17
1Installing the Live CD18Installing the Live CD
2======================19======================
320
421
=== modified file 'doc/source/nova.concepts.rst'
--- doc/source/nova.concepts.rst 2010-12-30 19:23:52 +0000
+++ doc/source/nova.concepts.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration.3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
@@ -105,7 +105,7 @@
105105
106For example: A user can access api commands allowed to the netadmin role (like allocate_address) only if he has the user-specific netadmin role AND the project-specific netadmin role.106For example: A user can access api commands allowed to the netadmin role (like allocate_address) only if he has the user-specific netadmin role AND the project-specific netadmin role.
107107
108More information about RBAC can be found in the :ref:`auth`.108More information about RBAC can be found in :ref:`auth`.
109109
110Concept: API110Concept: API
111------------111------------
@@ -159,12 +159,10 @@
159159
160See :doc:`nova.manage` in the Administration Guide for more details.160See :doc:`nova.manage` in the Administration Guide for more details.
161161
162
163Concept: Flags162Concept: Flags
164--------------163--------------
165164
166Nova uses python-gflags for a distributed command line system, and the flags can either be set when running a command at the command line or within flag files. When you install Nova packages, each Nova service gets its own flag file. For example, nova-network.conf is used for configuring the nova-network service, and so forth. 165Nova uses python-gflags for a distributed command line system, and the flags can either be set when running a command at the command line or within a flag file. When you install Nova packages for the Austin release, each nova service gets its own flag file. For example, nova-network.conf is used for configuring the nova-network service, and so forth. In releases beyond Austin which was released in October 2010, all flags are set in nova.conf.
167
168166
169Concept: Plugins167Concept: Plugins
170----------------168----------------
171169
=== modified file 'doc/source/object.model.rst'
--- doc/source/object.model.rst 2010-11-09 18:11:36 +0000
+++ doc/source/object.model.rst 2011-01-11 22:27:12 +0000
@@ -1,3 +1,20 @@
1..
2 Copyright 2010-2011 OpenStack LLC
3
4 All Rights Reserved.
5
6 Licensed under the Apache License, Version 2.0 (the "License"); you may
7 not use this file except in compliance with the License. You may obtain
8 a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 License for the specific language governing permissions and limitations
16 under the License.
17
1Object Model18Object Model
2============19============
320
@@ -25,29 +42,38 @@
25Users42Users
26-----43-----
2744
45Each Nova User is authorized based on their access key and secret key, assigned per-user. Read more at :doc:`/adminguide/managing.users`.
46
28Projects47Projects
29--------48--------
3049
50For Nova, access to images is based on the project. Read more at :doc:`/adminguide/managing.projects`.
3151
32Images52Images
33------53------
3454
55Images are binary files that run the operating system. Read more at :doc:`/adminguide/managing.images`.
3556
36Instances57Instances
37---------58---------
3859
60Instances are running virtual servers. Read more at :doc:`/adminguide/managing.instances`.
3961
40Volumes62Volumes
41-------63-------
4264
65.. todo:: Write doc about volumes
4366
44Security Groups67Security Groups
45---------------68---------------
4669
70In Nova, a security group is a named collection of network access rules, like firewall policies. Read more at `Security Groups <http://nova.openstack.org/nova.concepts.html#concept-security-groups>`_.
4771
48VLANs72VLANs
49-----73-----
5074
75VLAN is the default network mode for Nova. Read more at :doc:`/adminguide/network.vlan`.
5176
52IP Addresses77IP Addresses
53------------78------------
79Nova enables floating IP management.
54\ No newline at end of file80\ No newline at end of file
5581
=== modified file 'doc/source/quickstart.rst'
--- doc/source/quickstart.rst 2010-12-30 19:23:52 +0000
+++ doc/source/quickstart.rst 2011-01-11 22:27:12 +0000
@@ -1,5 +1,5 @@
1..1..
2 Copyright 2010 United States Government as represented by the2 Copyright 2010-2011 United States Government as represented by the
3 Administrator of the National Aeronautics and Space Administration. 3 Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.4 All Rights Reserved.
55
66
=== modified file 'doc/source/service.architecture.rst'
--- doc/source/service.architecture.rst 2010-11-12 19:42:07 +0000
+++ doc/source/service.architecture.rst 2011-01-11 22:27:12 +0000
@@ -1,3 +1,20 @@
1..
2 Copyright 2010-2011 OpenStack LLC
3
4 All Rights Reserved.
5
6 Licensed under the Apache License, Version 2.0 (the "License"); you may
7 not use this file except in compliance with the License. You may obtain
8 a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 License for the specific language governing permissions and limitations
16 under the License.
17
1Service Architecture18Service Architecture
2====================19====================
320