diff options
| author | root <root@tonbuntu> | 2010-11-11 14:17:32 -0800 |
|---|---|---|
| committer | root <root@tonbuntu> | 2010-11-11 14:17:32 -0800 |
| commit | db0ea461e746a539d44ec655341345e78a363ab9 (patch) | |
| tree | add8d85b1e454a2c7cfb30a27d385f37175e19de | |
| parent | f479206fa3b0db1a927d32bbe566e92e0e48d7d4 (diff) | |
working on single node install
| -rw-r--r-- | doc/source/adminguide/distros/others.rst | 1 | ||||
| -rw-r--r-- | doc/source/adminguide/distros/ubuntu.10.04.rst | 38 | ||||
| -rw-r--r-- | doc/source/adminguide/distros/ubuntu.10.10.rst | 1 | ||||
| -rw-r--r-- | doc/source/adminguide/single.node.install.rst | 342 | ||||
| -rw-r--r-- | doc/source/quickstart.rst | 8 |
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 ~~~~ |
