summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@tonbuntu>2010-11-11 14:17:32 -0800
committerroot <root@tonbuntu>2010-11-11 14:17:32 -0800
commitdb0ea461e746a539d44ec655341345e78a363ab9 (patch)
treeadd8d85b1e454a2c7cfb30a27d385f37175e19de
parentf479206fa3b0db1a927d32bbe566e92e0e48d7d4 (diff)
working on single node install
-rw-r--r--doc/source/adminguide/distros/others.rst1
-rw-r--r--doc/source/adminguide/distros/ubuntu.10.04.rst38
-rw-r--r--doc/source/adminguide/distros/ubuntu.10.10.rst1
-rw-r--r--doc/source/adminguide/single.node.install.rst342
-rw-r--r--doc/source/quickstart.rst8
5 files changed, 380 insertions, 10 deletions
diff --git a/doc/source/adminguide/distros/others.rst b/doc/source/adminguide/distros/others.rst
new file mode 100644
index 000000000..9f678aec1
--- /dev/null
+++ b/doc/source/adminguide/distros/others.rst
@@ -0,0 +1 @@
+.. todo::
diff --git a/doc/source/adminguide/distros/ubuntu.10.04.rst b/doc/source/adminguide/distros/ubuntu.10.04.rst
new file mode 100644
index 000000000..28cc09173
--- /dev/null
+++ b/doc/source/adminguide/distros/ubuntu.10.04.rst
@@ -0,0 +1,38 @@
+
+Step 1: Install dependencies
+----------------------------
+Grab the latest code from launchpad:
+
+::
+ bzr clone lp:nova
+
+Here's a script you can use to install (and then run) Nova on Ubuntu or Debian (when using Debian, edit nova.sh to have USE_PPA=0):
+
+.. todo:: give a link to a stable releases page
+
+Step 2: Install dependencies
+----------------------------
+
+Nova requires rabbitmq for messaging and optionally you can use redis for storing state, so install these first.
+
+*Note:* You must have sudo installed to run these commands as shown here.
+
+::
+
+ sudo apt-get install rabbitmq-server redis-server
+
+
+You'll see messages starting with "Reading package lists... Done" and you must confirm by typing Y that you want to continue.
+
+If you're running on Ubuntu 10.04, you'll need to install Twisted and python-gflags which is included in the OpenStack PPA.
+
+::
+
+ sudo apt-get install python-twisted
+
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 95C71FE2
+ sudo sh -c 'echo "deb http://ppa.launchpad.net/openstack/openstack-ppa/ubuntu lucid main" > /etc/apt/sources.list.d/openstackppa.list'
+ sudo apt-get update && sudo apt-get install python-gflags
+
+
+Once you've done this, continue here: :doc:`../single.node.install`
diff --git a/doc/source/adminguide/distros/ubuntu.10.10.rst b/doc/source/adminguide/distros/ubuntu.10.10.rst
new file mode 100644
index 000000000..48cdce852
--- /dev/null
+++ b/doc/source/adminguide/distros/ubuntu.10.10.rst
@@ -0,0 +1 @@
+placeholder
diff --git a/doc/source/adminguide/single.node.install.rst b/doc/source/adminguide/single.node.install.rst
index 9ecb6d49a..bdb863e89 100644
--- a/doc/source/adminguide/single.node.install.rst
+++ b/doc/source/adminguide/single.node.install.rst
@@ -1,12 +1,344 @@
-Single Node Installation
-========================
-
-.. todo:: need extended notes on running a single machine
+Installing Nova from a Development Snapshot
+===========================================
Nova can be run on a single machine, and it is recommended that new users practice managing this type of installation before graduating to multi node systems.
The fastest way to get a test cloud running is through our :doc:`../quickstart`.
-Install Dependencies
+Step 1 and 2: Get the latest code and Configure your system
+-----------------------------------------------------------
+
+Depending on your system, the mehod for accomplishing this varies
+
+.. toctree::
+ :maxdepth: 1
+
+ adminguide/distros/ubuntu.10.04
+ adminguide/distros/ubuntu.10.10
+ adminguide/distros/others
+
+
+Step 3: Build and install Nova services
+---------------------------------------
+
+Switch to the base nova source directory.
+
+Then type or copy/paste in the following line to compile the Python code for OpenStack Compute.
+
+::
+
+ sudo python setup.py build
+ sudo python setup.py install
+
+
+When the installation is complete, you'll see the following lines:
+
+::
+
+ Installing nova-network script to /usr/local/bin
+ Installing nova-volume script to /usr/local/bin
+ Installing nova-objectstore script to /usr/local/bin
+ Installing nova-manage script to /usr/local/bin
+ Installing nova-scheduler script to /usr/local/bin
+ Installing nova-dhcpbridge script to /usr/local/bin
+ Installing nova-compute script to /usr/local/bin
+ Installing nova-instancemonitor script to /usr/local/bin
+ Installing nova-api script to /usr/local/bin
+ Installing nova-import-canonical-imagestore script to /usr/local/bin
+
+ Installed /usr/local/lib/python2.6/dist-packages/nova-2010.1-py2.6.egg
+ Processing dependencies for nova==2010.1
+ Finished processing dependencies for nova==2010.1
+
+
+Step 4: Create a Nova administrator
+-----------------------------------
+Type or copy/paste in the following line to create a user named "anne."::
+
+ sudo nova-manage user admin anne
+
+You see an access key and a secret key export, such as these made-up ones:::
+
+ export EC2_ACCESS_KEY=4e6498a2-blah-blah-blah-17d1333t97fd
+ export EC2_SECRET_KEY=0a520304-blah-blah-blah-340sp34k05bbe9a7
+
+
+Step 5: Create a project with the user you created
+--------------------------------------------------
+Type or copy/paste in the following line to create a project named IRT (for Ice Road Truckers, of course) with the newly-created user named anne.
+
+::
+
+ sudo nova-manage project create IRT anne
+
+::
+
+ Generating RSA private key, 1024 bit long modulus
+ .....++++++
+ ..++++++
+ e is 65537 (0x10001)
+ Using configuration from ./openssl.cnf
+ Check that the request matches the signature
+ Signature ok
+ The Subject's Distinguished Name is as follows
+ countryName :PRINTABLE:'US'
+ stateOrProvinceName :PRINTABLE:'California'
+ localityName :PRINTABLE:'MountainView'
+ organizationName :PRINTABLE:'AnsoLabs'
+ organizationalUnitName:PRINTABLE:'NovaDev'
+ commonName :PRINTABLE:'anne-2010-10-12T21:12:35Z'
+ Certificate is to be certified until Oct 12 21:12:35 2011 GMT (365 days)
+
+ Write out database with 1 new entries
+ Data Base Updated
+
+
+Step 6: Unzip the nova.zip
+--------------------------
+
+You should have a nova.zip file in your current working directory. Unzip it with this command:
+
+::
+
+ unzip nova.zip
+
+
+You'll see these files extract.
+
+::
+
+ Archive: nova.zip
+ extracting: novarc
+ extracting: pk.pem
+ extracting: cert.pem
+ extracting: nova-vpn.conf
+ extracting: cacert.pem
+
+
+Step 7: Source the rc file
+--------------------------
+Type or copy/paste the following to source the novarc file in your current working directory.
+
+::
+
+ . novarc
+
+
+Step 8: Pat yourself on the back :)
+-----------------------------------
+Congratulations, your cloud is up and running, you’ve created an admin user, retrieved the user's credentials and put them in your environment.
+
+Now you need an image.
+
+
+Step 9: Get an image
--------------------
+To make things easier, we've provided a small image on the Rackspace CDN. Use this command to get it on your server.
+
+::
+
+ wget http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz
+
+
+::
+
+ --2010-10-12 21:40:55-- http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz
+ Resolving cblah2.cdn.cloudfiles.rackspacecloud.com... 208.111.196.6, 208.111.196.7
+ Connecting to cblah2.cdn.cloudfiles.rackspacecloud.com|208.111.196.6|:80... connected.
+ HTTP request sent, awaiting response... 200 OK
+ Length: 58520278 (56M) [appication/x-gzip]
+ Saving to: `images.tgz'
+
+ 100%[======================================>] 58,520,278 14.1M/s in 3.9s
+
+ 2010-10-12 21:40:59 (14.1 MB/s) - `images.tgz' saved [58520278/58520278]
+
+
+
+Step 10: Decompress the image file
+----------------------------------
+Use this command to extract the image files:::
+
+ tar xvzf images.tgz
+
+You get a directory listing like so:::
+
+ images
+ |-- aki-lucid
+ | |-- image
+ | `-- info.json
+ |-- ami-tiny
+ | |-- image
+ | `-- info.json
+ `-- ari-lucid
+ |-- image
+ `-- info.json
+
+Step 11: Send commands to upload sample image to the cloud
+----------------------------------------------------------
+
+Type or copy/paste the following commands to create a manifest for the kernel.::
+
+ euca-bundle-image -i images/aki-lucid/image -p kernel --kernel true
+
+You should see this in response:::
+
+ Checking image
+ Tarring image
+ Encrypting image
+ Splitting image...
+ Part: kernel.part.0
+ Generating manifest /tmp/kernel.manifest.xml
+
+Type or copy/paste the following commands to create a manifest for the ramdisk.::
+
+ euca-bundle-image -i images/ari-lucid/image -p ramdisk --ramdisk true
+
+You should see this in response:::
+
+ Checking image
+ Tarring image
+ Encrypting image
+ Splitting image...
+ Part: ramdisk.part.0
+ Generating manifest /tmp/ramdisk.manifest.xml
+
+Type or copy/paste the following commands to upload the kernel bundle.::
+
+ euca-upload-bundle -m /tmp/kernel.manifest.xml -b mybucket
+
+You should see this in response:::
+
+ Checking bucket: mybucket
+ Creating bucket: mybucket
+ Uploading manifest file
+ Uploading part: kernel.part.0
+ Uploaded image as mybucket/kernel.manifest.xml
+
+Type or copy/paste the following commands to upload the ramdisk bundle.::
+
+ euca-upload-bundle -m /tmp/ramdisk.manifest.xml -b mybucket
+
+You should see this in response:::
+
+ Checking bucket: mybucket
+ Uploading manifest file
+ Uploading part: ramdisk.part.0
+ Uploaded image as mybucket/ramdisk.manifest.xml
+
+Type or copy/paste the following commands to register the kernel and get its ID.::
+
+ euca-register mybucket/kernel.manifest.xml
+
+You should see this in response:::
+
+ IMAGE ami-fcbj2non
+
+Type or copy/paste the following commands to register the ramdisk and get its ID.::
+
+ euca-register mybucket/ramdisk.manifest.xml
+
+You should see this in response:::
+
+ IMAGE ami-orukptrc
+
+Type or copy/paste the following commands to create a manifest for the machine image associated with the ramdisk and kernel IDs that you got from the previous commands.::
+
+ euca-bundle-image -i images/ami-tiny/image -p machine --kernel ami-fcbj2non --ramdisk ami-orukptrc
+
+You should see this in response:::
+
+ Checking image
+ Tarring image
+ Encrypting image
+ Splitting image...
+ Part: machine.part.0
+ Part: machine.part.1
+ Part: machine.part.2
+ Part: machine.part.3
+ Part: machine.part.4
+ Generating manifest /tmp/machine.manifest.xml
+
+Type or copy/paste the following commands to upload the machine image bundle.::
+
+ euca-upload-bundle -m /tmp/machine.manifest.xml -b mybucket
+
+You should see this in response:::
+
+ Checking bucket: mybucket
+ Uploading manifest file
+ Uploading part: machine.part.0
+ Uploading part: machine.part.1
+ Uploading part: machine.part.2
+ Uploading part: machine.part.3
+ Uploading part: machine.part.4
+ Uploaded image as mybucket/machine.manifest.xml
+
+Type or copy/paste the following commands to register the machine image and get its ID.::
+
+ euca-register mybucket/machine.manifest.xml
+
+You should see this in response:::
+
+ IMAGE ami-g06qbntt
+
+Type or copy/paste the following commands to register a SSH keypair for use in starting and accessing the instances.::
+
+ euca-add-keypair mykey > mykey.priv
+ chmod 600 mykey.priv
+
+Type or copy/paste the following commands to run an instance using the keypair and IDs that we previously created.::
+
+ euca-run-instances ami-g06qbntt --kernel ami-fcbj2non --ramdisk ami-orukptrc -k mykey
+
+You should see this in response:::
+
+ RESERVATION r-0at28z12 IRT
+ INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 scheduling mykey (IRT, None) m1.small 2010-10-18 19:02:10.443599
+
+Type or copy/paste the following commands to watch as the scheduler launches, and completes booting your instance.::
+
+ euca-describe-instances
+
+You should see this in response:::
+
+ RESERVATION r-0at28z12 IRT
+ INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 launching mykey (IRT, cloud02) m1.small 2010-10-18 19:02:10.443599
+
+Type or copy/paste the following commands to see when loading is completed and the instance is running.::
+
+ euca-describe-instances
+
+You should see this in response:::
+
+ RESERVATION r-0at28z12 IRT
+ INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 running mykey (IRT, cloud02) 0 m1.small 2010-10-18 19:02:10.443599
+
+Type or copy/paste the following commands to check that the virtual machine is running.::
+
+ virsh list
+
+You should see this in response:::
+
+ Id Name State
+ ----------------------------------
+ 1 2842445831 running
+
+Type or copy/paste the following commands to ssh to the instance using your private key.::
+
+ ssh -i mykey.priv root@10.0.0.3
+
+
+Troubleshooting Installation
+----------------------------
+
+If you see an "error loading the config file './openssl.cnf'" it means you can copy the openssl.cnf file to the location where Nova expects it and reboot, then try the command again.
+
+::
+
+ cp /etc/ssl/openssl.cnf ~
+ sudo reboot
+
+
+
diff --git a/doc/source/quickstart.rst b/doc/source/quickstart.rst
index acf303f91..dcf4ba2c4 100644
--- a/doc/source/quickstart.rst
+++ b/doc/source/quickstart.rst
@@ -56,11 +56,9 @@ By tweaking the environment that nova.sh run in, you can build slightly
different configurations (though for more complex setups you should see
:doc:`/adminguide/getting.started` and :doc:`/adminguide/multi.node.install`).
-HOST_IP
-~~~~~~~
-
-**Default**: address of first interface from the ifconfig command
-**Values**: 127.0.0.1, or any other valid address
+* HOST_IP
+ * Default: address of first interface from the ifconfig command
+ * Values: 127.0.0.1, or any other valid address
TEST
~~~~