| ... | ... |
@@ -2,15 +2,19 @@ Tool to build (nfs export) openstack dev environments |
| 2 | 2 |
|
| 3 | 3 |
# Todo |
| 4 | 4 |
|
| 5 |
-* change method of invoking stack.sh to ./stack.sh all _or_ ./stack.sh nova-compute,nova-network,nova-api,nova-volume |
|
| 6 | 5 |
* move back to using sudo |
| 6 |
+* Add python-novaclient cli support |
|
| 7 | 7 |
* move to mysql |
| 8 |
-* extract image upload to a seperate script that supports generating images via debootstrap (ubuntu-vm-builder?) |
|
| 9 | 8 |
* Add volume support |
| 10 |
-* Add quantum support |
|
| 11 |
-* Add python-novaclient cli support |
|
| 9 |
+* extract image upload to a seperate script that supports generating images via debootstrap (ubuntu-vm-builder?) |
|
| 12 | 10 |
* allow changing of git locations (specify different tag/branch or repos) |
| 13 |
-* allow sql/rabbit connection to be specified via environment variables with sensible defaults |
|
| 11 |
+* change method of invoking stack.sh to ./stack.sh all _or_ ./stack.sh nova-compute,nova-network,nova-api,nova-volume |
|
| 12 |
+* Add quantum support |
|
| 13 |
+* allow rabbit connection to be specified via environment variables with sensible defaults |
|
| 14 |
+ |
|
| 15 |
+# Done |
|
| 16 |
+ |
|
| 17 |
+* sqlconn can be set via env |
|
| 14 | 18 |
|
| 15 | 19 |
# Future |
| 16 | 20 |
|
| ... | ... |
@@ -13,7 +13,7 @@ if [ ! -d proto ]; then |
| 13 | 13 |
debootstrap natty proto |
| 14 | 14 |
cp files/sources.list proto/etc/apt/sources.list |
| 15 | 15 |
chroot proto apt-get update |
| 16 |
- chroot proto apt-get install -y `cat apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin)"` |
|
| 16 |
+ chroot proto apt-get install -y `cat apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"` |
|
| 17 | 17 |
chroot proto pip install `cat pips/*` |
| 18 | 18 |
git clone https://github.com/cloudbuilders/nova.git proto/opt/nova |
| 19 | 19 |
git clone https://github.com/cloudbuilders/openstackx.git proto/opt/openstackx |
| ... | ... |
@@ -38,10 +38,17 @@ NET_MAN=${NET_MAN:-VlanManager}
|
| 38 | 38 |
# ip or you risk breaking things. |
| 39 | 39 |
# FLAT_INTERFACE=eth0 |
| 40 | 40 |
|
| 41 |
-# TODO: set rabbitmq conn string explicitly as well |
|
| 42 | 41 |
# TODO: switch to mysql for all services |
| 43 |
-SQL_CONN=${SQL_CONN:-sqlite:///$NOVA_DIR/nova.sqlite}
|
|
| 42 |
+MYSQL_PASS=${MYSQL_PASS:-nova}
|
|
| 43 |
+SQL_CONN=${SQL_CONN:-mysql://root:$MYSQL_PASS@localhost/nova}
|
|
| 44 |
+# TODO: set rabbitmq conn string explicitly as well |
|
| 44 | 45 |
|
| 46 |
+# seed configuration with mysql password |
|
| 47 |
+cat <<MYSQL_PRESEED | debconf-set-selections |
|
| 48 |
+mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS |
|
| 49 |
+mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS |
|
| 50 |
+mysql-server-5.1 mysql-server/start_on_boot boolean true |
|
| 51 |
+MYSQL_PRESEED |
|
| 45 | 52 |
|
| 46 | 53 |
# install apt requirements |
| 47 | 54 |
apt-get install -y -q `cat $DIR/apts/* | cut -d\# -f1` |
| ... | ... |
@@ -107,7 +114,7 @@ fi |
| 107 | 107 |
mkdir $DASH_DIR/openstack-dashboard/quantum |
| 108 | 108 |
touch $DASH_DIR/openstack-dashboard/quantum/__init__.py |
| 109 | 109 |
touch $DASH_DIR/openstack-dashboard/quantum/client.py |
| 110 |
-# local_settings has |
|
| 110 |
+ |
|
| 111 | 111 |
cd $DASH_DIR/openstack-dashboard |
| 112 | 112 |
cp local/local_settings.py.example local/local_settings.py |
| 113 | 113 |
dashboard/manage.py syncdb |
| ... | ... |
@@ -115,9 +122,9 @@ dashboard/manage.py syncdb |
| 115 | 115 |
# ## Setup Apache |
| 116 | 116 |
# create an empty directory to use as our |
| 117 | 117 |
mkdir $DASH_DIR/.blackhole |
| 118 |
+ |
|
| 118 | 119 |
# FIXME(ja): can't figure out how to make $DASH_DIR work in sed, also install to available/a2e it |
| 119 | 120 |
cat $DIR/files/000-default.template | sed 's/%DASH_DIR%/\/opt\/dash/g' > /etc/apache2/sites-enabled/000-default |
| 120 |
- |
|
| 121 | 121 |
chown -R www-data:www-data $DASH_DIR |
| 122 | 122 |
|
| 123 | 123 |
mkdir -p /var/log/glance |
| ... | ... |
@@ -129,12 +136,6 @@ cp $DIR/files/screenrc ~/.screenrc |
| 129 | 129 |
|
| 130 | 130 |
NL=`echo -ne '\015'` |
| 131 | 131 |
|
| 132 |
-function screen_it {
|
|
| 133 |
- # nova api crashes if we start it with a regular screen command, |
|
| 134 |
- # so send the start command by forcing text into the window. |
|
| 135 |
- screen -S nova -X screen -t $1 |
|
| 136 |
- screen -S nova -p $1 -X stuff "$2$NL" |
|
| 137 |
-} |
|
| 138 | 132 |
|
| 139 | 133 |
function add_nova_flag {
|
| 140 | 134 |
echo "$1" >> $NOVA_DIR/bin/nova.conf |
| ... | ... |
@@ -173,7 +174,8 @@ rm -rf $NOVA_DIR/networks |
| 173 | 173 |
mkdir -p $NOVA_DIR/networks |
| 174 | 174 |
|
| 175 | 175 |
# (re)create nova database |
| 176 |
-rm -f $NOVA_DIR/nova.sqlite |
|
| 176 |
+mysql -p$MYSQL_PASS -e 'DROP DATABASE nova;' |
|
| 177 |
+mysql -p$MYSQL_PASS -e 'CREATE DATABASE nova;' |
|
| 177 | 178 |
$NOVA_DIR/bin/nova-manage db sync |
| 178 | 179 |
|
| 179 | 180 |
# initialize keystone with default users/endpoints |
| ... | ... |
@@ -191,6 +193,13 @@ $NOVA_DIR/bin/nova-manage floating create $FLOATING_RANGE |
| 191 | 191 |
rm -rf /var/lib/glance/images/* |
| 192 | 192 |
rm -f $GLANCE_DIR/glance.sqlite |
| 193 | 193 |
|
| 194 |
+# nova api crashes if we start it with a regular screen command, |
|
| 195 |
+# so send the start command by forcing text into the window. |
|
| 196 |
+function screen_it {
|
|
| 197 |
+ screen -S nova -X screen -t $1 |
|
| 198 |
+ screen -S nova -p $1 -X stuff "$2$NL" |
|
| 199 |
+} |
|
| 200 |
+ |
|
| 194 | 201 |
screen_it g-api "cd $GLANCE_DIR; bin/glance-api --config-file=etc/glance-api.conf" |
| 195 | 202 |
screen_it g-reg "cd $GLANCE_DIR; bin/glance-registry --config-file=etc/glance-registry.conf" |
| 196 | 203 |
screen_it key "$KEYSTONE_DIR/bin/keystone --config-file $KEYSTONE_DIR/etc/keystone.conf" |
| ... | ... |
@@ -202,7 +211,6 @@ screen_it n-vnc "$NOVA_DIR/bin/nova-vncproxy" |
| 202 | 202 |
screen_it dash "/etc/init.d/apache2 restart; tail -f /var/log/apache2/error.log" |
| 203 | 203 |
|
| 204 | 204 |
|
| 205 |
- |
|
| 206 | 205 |
# ---- download an install images ---- |
| 207 | 206 |
|
| 208 | 207 |
mkdir -p $DEST/images |