diff --git a/build_lxc.sh b/build_lxc.sh index b5de232..c1ab995 100755 --- a/build_lxc.sh +++ b/build_lxc.sh @@ -55,8 +55,8 @@ if [ ! -d $CACHEDIR ]; then # trigger the initial debootstrap lxc-create -n $CONTAINER -t natty -f $LXC_CONF chroot $CACHEDIR apt-get update - chroot $CACHEDIR apt-get install -y `cat apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"` - chroot $CACHEDIR pip install `cat pips/*` + chroot $CACHEDIR apt-get install -y `cat files/apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"` + chroot $CACHEDIR pip install `cat files/pips/*` git clone https://github.com/cloudbuilders/nova.git $CACHEDIR/opt/nova git clone https://github.com/cloudbuilders/openstackx.git $CACHEDIR/opt/openstackx git clone https://github.com/cloudbuilders/noVNC.git $CACHEDIR/opt/noVNC diff --git a/build_nfs.sh b/build_nfs.sh index 6509011..180a6e5 100755 --- a/build_nfs.sh +++ b/build_nfs.sh @@ -13,8 +13,8 @@ if [ ! -d proto ]; then debootstrap natty proto cp files/sources.list proto/etc/apt/sources.list chroot proto apt-get update - chroot proto apt-get install -y `cat apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"` - chroot proto pip install `cat pips/*` + chroot proto apt-get install -y `cat files/apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"` + chroot proto pip install `cat files/pips/*` git clone https://github.com/cloudbuilders/nova.git proto/opt/nova git clone https://github.com/cloudbuilders/openstackx.git proto/opt/openstackx git clone https://github.com/cloudbuilders/noVNC.git proto/opt/noVNC @@ -34,14 +34,13 @@ echo "127.0.0.1 localhost $NAME" > $DEST/etc/hosts # copy kernel modules cp -pr /lib/modules/`uname -r` $DEST/lib/modules -# inject stack.sh files -cp -r files $DEST/opt/files # copy openstack installer and requirement lists to a new directory. mkdir -p $DEST/opt + +# inject stack.sh and dependant files +cp -r files $DEST/opt/files cp stack.sh $DEST/opt/stack.sh -cp -r pips $DEST/opt -cp -r apts $DEST/opt # injecting root's public ssh key if it exists if [ -f /root/.ssh/id_rsa.pub ]; then diff --git a/apts/dash b/files/apts/dash similarity index 100% rename from apts/dash rename to files/apts/dash diff --git a/apts/general b/files/apts/general similarity index 100% rename from apts/general rename to files/apts/general diff --git a/apts/glance b/files/apts/glance similarity index 100% rename from apts/glance rename to files/apts/glance diff --git a/apts/keystone b/files/apts/keystone similarity index 100% rename from apts/keystone rename to files/apts/keystone diff --git a/apts/nova b/files/apts/nova similarity index 100% rename from apts/nova rename to files/apts/nova diff --git a/apts/preseed b/files/apts/preseed similarity index 100% rename from apts/preseed rename to files/apts/preseed diff --git a/pips/dash b/files/pips/dash similarity index 100% rename from pips/dash rename to files/pips/dash diff --git a/stack.sh b/stack.sh index ebd8f02..d71503c 100755 --- a/stack.sh +++ b/stack.sh @@ -21,12 +21,12 @@ if ! grep -q natty /etc/lsb-release; then fi fi -# stack.sh keeps the list of **apt** and **pip** dependencies in files. -# Additionally we have a few config templates and other useful files useful -# installation. They are needed to be located at ``apts``, ``files`` and -# ``pips`` in the ``DEVSTACK`` directory (next to this script). -DEVSTACK=`pwd` -if [ ! -d $DEVSTACK/apts ] || [ ! -d $DEVSTACK/files ] || [ ! -d $DEVSTACK/pips ]; then +# stack.sh keeps the list of **apt** and **pip** dependencies in external +# files, along with config templates and other useful files. You can find these +# in the ``files`` directory (next to this script). We will reference this +# directory using the ``DEVSTACK`` variable in this script. +DEVSTACK=`pwd`/files +if [ ! -d $DEVSTACK ]; then echo "ERROR: missing devstack files - did you grab more than just stack.sh?" exit 1 fi @@ -164,7 +164,7 @@ cd $DASH_DIR/openstack-dashboard; sudo python setup.py develop # Add a useful screenrc. This isn't required to run openstack but is we do # it since we are going to run the services in screen for simple -cp $DEVSTACK/files/screenrc ~/.screenrc +cp $DEVSTACK/screenrc ~/.screenrc ## TODO: update current user to allow sudo for all commands in files/sudo/* @@ -208,7 +208,7 @@ if [[ "$ENABLED_SERVICES" =~ "dash" ]]; then cd $DASH_DIR/openstack-dashboard # Includes settings for Nixon, to expose munin charts. - sudo cp $DEVSTACK/files/dash_settings.py local/local_settings.py + sudo cp $DEVSTACK/dash_settings.py local/local_settings.py dashboard/manage.py syncdb @@ -216,12 +216,12 @@ if [[ "$ENABLED_SERVICES" =~ "dash" ]]; then sudo mkdir -p $DASH_DIR/.blackhole ## Configure apache's 000-default to run dashboard - sudo cp $DEVSTACK/files/000-default.template /etc/apache2/sites-enabled/000-default + sudo cp $DEVSTACK/000-default.template /etc/apache2/sites-enabled/000-default sudo sed -e "s,%DASH_DIR%,$DASH_DIR,g" -i /etc/apache2/sites-enabled/000-default - # ``python setup.py develop`` left some files owned by root in ``DASH_DIR`` and - # others by the original owner. We need to change the owner to apache so - # dashboard can run + # ``python setup.py develop`` left some files owned by root in ``DASH_DIR`` + # and others are owned by the user you are using to run this script. + # We need to change the owner to apache for dashboard to run. sudo chown -R www-data:www-data $DASH_DIR fi @@ -271,7 +271,7 @@ if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then mysql -u$MYSQL_USER -p$MYSQL_PASS -e 'CREATE DATABASE glance;' # Copy over our glance-registry.conf GLANCE_CONF=$GLANCE_DIR/etc/glance-registry.conf - cp $DEVSTACK/files/glance-registry.conf $GLANCE_CONF + cp $DEVSTACK/glance-registry.conf $GLANCE_CONF sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/glance,g" -i $GLANCE_CONF fi @@ -367,11 +367,11 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then # FIXME (anthony) keystone should use keystone.conf.example KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf - cp $DEVSTACK/files/keystone.conf $KEYSTONE_CONF + cp $DEVSTACK/keystone.conf $KEYSTONE_CONF sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF # initialize keystone with default users/endpoints - BIN_DIR=$KEYSTONE_DIR/bin bash $DEVSTACK/files/keystone_data.sh + BIN_DIR=$KEYSTONE_DIR/bin bash $DEVSTACK/keystone_data.sh fi