Browse code

update readmes

Jesse Andrews authored on 2011/10/03 14:08:24
Showing 1 changed files
... ...
@@ -4,7 +4,11 @@
4 4
 
5 5
 # This script installs and configures *nova*, *glance*, *dashboard* and *keystone*
6 6
 
7
-# FIXME: talk about single or multi-node installs
7
+# This script allows you to specify configuration options of what git 
8
+# repositories to use, enabled services, network configuration and various
9
+# passwords.  If you are crafty you can run the script on multiple nodes using
10
+# shared settings for common resources (mysql, rabbitmq) and build a multi-node
11
+# developer install.
8 12
 
9 13
 # To keep this script simple we assume you are running on an **Ubuntu 11.04
10 14
 # Natty** machine.  It should work in a VM or physical server.  Additionally we
... ...
@@ -95,11 +99,16 @@ set -o xtrace
95 95
 #
96 96
 # We try to have sensible defaults, so you should be able to run ``./stack.sh``
97 97
 # in most cases.
98
-
99
-
100
-# FIXME: TALK ABOUT stackrc and localrc
101
-
102
-# Import variables
98
+#
99
+# We our settings from ``stackrc``.  This file is distributed with devstack and
100
+# contains locations for what repositories to use.  If you want to use other 
101
+# repositories and branches, you can add your own settings with another file 
102
+# called ``localrc``
103
+#
104
+# If ``localrc`` exists, then ``stackrc`` will load those settings.  This is 
105
+# useful for changing a branch or repostiory to test other versions.  Also you
106
+# can store your other settings like **MYSQL_PASS** or **ADMIN_PASSWORD** instead
107
+# of letting devstack generate random ones for you.
103 108
 source ./stackrc
104 109
 
105 110
 # Destination path for installation ``DEST``
... ...
@@ -136,6 +145,9 @@ fi
136 136
 # Nova Network Configuration
137 137
 # --------------------------
138 138
 
139
+# FIXME: more documentation about why these are important flags.  Also 
140
+# we should make sure we use the same variable names as the flag names.
141
+
139 142
 PUBLIC_INTERFACE=${PUBLIC_INTERFACE:-eth0}
140 143
 FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24}
141 144
 FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256}
... ...
@@ -153,6 +165,17 @@ MULTI_HOST=${MULTI_HOST:-0}
153 153
 # If you are using FlatDHCP on multiple hosts, set the ``FLAT_INTERFACE``
154 154
 # variable but make sure that the interface doesn't already have an
155 155
 # ip or you risk breaking things.
156
+#
157
+# **DHCP Warning**:  If your flat interface device uses DHCP, there will be a 
158
+# hiccup while the network is moved from the flat interface to the flat network 
159
+# bridge.  This will happen when you launch your first instance.  Upon launch 
160
+# you will lose all connectivity to the node, and the vm launch will probably 
161
+# fail.
162
+# 
163
+# If you are running on a single node and don't need to access the VMs from 
164
+# devices other than that node, you can set the flat interface to the same
165
+# value as ``FLAT_NETWORK_BRIDGE``.  This will stop the network hiccup from 
166
+# occuring.
156 167
 FLAT_INTERFACE=${FLAT_INTERFACE:-eth0}
157 168
 
158 169
 ## FIXME(ja): should/can we check that FLAT_INTERFACE is sane?
... ...
@@ -568,14 +591,20 @@ screen_it dash "cd $DASH_DIR && sudo /etc/init.d/apache2 restart; sudo tail -f /
568 568
 # lets you login to it with username/password of user/password.  TTY is useful 
569 569
 # for basic functionality.  We all include an Ubuntu cloud build of **Natty**.
570 570
 # Natty uses cloud-init, supporting login via keypair and sending scripts as
571
-# userdata.  Read more about cloud-init at https://help.ubuntu.com/community/CloudInit
571
+# userdata.  
572
+#
573
+# Read more about cloud-init at https://help.ubuntu.com/community/CloudInit
572 574
 
573 575
 if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then
574 576
     # create a directory for the downloadedthe images tarballs.
575 577
     mkdir -p $FILES/images
576 578
 
577
-    # Downloads a tty image (ami/aki/ari style), then extracts it.  Upon extraction
578
-    # we upload to glance with the glance cli tool.
579
+    # Debug Image (TTY)
580
+    # -----------------
581
+
582
+    # Downloads the image (ami/aki/ari style), then extracts it.  Upon extraction
583
+    # we upload to glance with the glance cli tool.  TTY is a stripped down 
584
+    # version of ubuntu.
579 585
     if [ ! -f $FILES/tty.tgz ]; then
580 586
         wget -c http://images.ansolabs.com/tty.tgz -O $FILES/tty.tgz
581 587
     fi
... ...
@@ -583,17 +612,20 @@ if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then
583 583
     # extract ami-tty/image, aki-tty/image & ari-tty/image
584 584
     tar -zxf $FILES/tty.tgz -C $FILES/images
585 585
 
586
-    # add a debugging images to glance
586
+    # Use glance client to add the kernel, ramdisk and finally the root 
587
+    # filesystem.  We parse the results of the uploads to get glance IDs of the
588
+    # ramdisk and kernel and use them for the root filesystem.
587 589
     RVAL=`glance add -A $SERVICE_TOKEN name="tty-kernel" is_public=true container_format=aki disk_format=aki < $FILES/images/aki-tty/image`
588 590
     KERNEL_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`
589 591
     RVAL=`glance add -A $SERVICE_TOKEN name="tty-ramdisk" is_public=true container_format=ari disk_format=ari < $FILES/images/ari-tty/image`
590 592
     RAMDISK_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`
591 593
     glance add -A $SERVICE_TOKEN name="tty" is_public=true container_format=ami disk_format=ami kernel_id=$KERNEL_ID ramdisk_id=$RAMDISK_ID < $FILES/images/ami-tty/image
592 594
 
595
+    # Ubuntu 11.04 aka Natty
596
+    # ----------------------
593 597
 
594
-    # Ubuntu 11.04 aka Natty - downloaded from ubuntu enterprise cloud images.  This
598
+    # Downloaded from ubuntu enterprise cloud images.  This
595 599
     # image doesn't use the ramdisk functionality
596
-   
597 600
     if [ ! -f $FILES/natty.tgz ]; then
598 601
         wget -c http://uec-images.ubuntu.com/natty/current/natty-server-cloudimg-amd64.tar.gz -O $FILES/natty.tgz
599 602
     fi
... ...
@@ -623,8 +655,8 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
623 623
     echo "the password: $ADMIN_PASSWORD"
624 624
 fi
625 625
 
626
-# Summary
627
-# =======
626
+# Fin
627
+# ===
628 628
 
629 629
 # End our timer and give a timing summary
630 630
 END_TIME=`python -c "import time; print time.time()"`