Merge pull request #6 from cloudbuilders/move_files

move apts/pips to files directory
This commit is contained in:
Jesse Andrews 2011-09-16 11:35:07 -07:00
commit 1ec9d79ea1
10 changed files with 25 additions and 26 deletions

View file

@ -55,8 +55,8 @@ if [ ! -d $CACHEDIR ]; then
# trigger the initial debootstrap # trigger the initial debootstrap
lxc-create -n $CONTAINER -t natty -f $LXC_CONF lxc-create -n $CONTAINER -t natty -f $LXC_CONF
chroot $CACHEDIR apt-get update 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 apt-get install -y `cat files/apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"`
chroot $CACHEDIR pip install `cat pips/*` chroot $CACHEDIR pip install `cat files/pips/*`
git clone https://github.com/cloudbuilders/nova.git $CACHEDIR/opt/nova 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/openstackx.git $CACHEDIR/opt/openstackx
git clone https://github.com/cloudbuilders/noVNC.git $CACHEDIR/opt/noVNC git clone https://github.com/cloudbuilders/noVNC.git $CACHEDIR/opt/noVNC

View file

@ -13,8 +13,8 @@ if [ ! -d proto ]; then
debootstrap natty proto debootstrap natty proto
cp files/sources.list proto/etc/apt/sources.list cp files/sources.list proto/etc/apt/sources.list
chroot proto apt-get update 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 apt-get install -y `cat files/apts/* | cut -d\# -f1 | egrep -v "(rabbitmq|libvirt-bin|mysql-server)"`
chroot proto pip install `cat pips/*` chroot proto pip install `cat files/pips/*`
git clone https://github.com/cloudbuilders/nova.git proto/opt/nova 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/openstackx.git proto/opt/openstackx
git clone https://github.com/cloudbuilders/noVNC.git proto/opt/noVNC 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 # copy kernel modules
cp -pr /lib/modules/`uname -r` $DEST/lib/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. # copy openstack installer and requirement lists to a new directory.
mkdir -p $DEST/opt mkdir -p $DEST/opt
# inject stack.sh and dependant files
cp -r files $DEST/opt/files
cp stack.sh $DEST/opt/stack.sh 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 # injecting root's public ssh key if it exists
if [ -f /root/.ssh/id_rsa.pub ]; then if [ -f /root/.ssh/id_rsa.pub ]; then

View file

@ -21,13 +21,13 @@ if ! grep -q natty /etc/lsb-release; then
fi fi
fi fi
# stack.sh keeps the list of **apt** and **pip** dependencies in files. # stack.sh keeps the list of **apt** and **pip** dependencies in external
# Additionally we have a few config templates and other useful files useful # files, along with config templates and other useful files. You can find these
# installation. They are needed to be located at ``apts``, ``files`` and # in the ``files`` directory (next to this script). We will reference this
# ``pips`` in the ``DEVSTACK`` directory (next to this script). # directory using the ``FILES`` variable in this script.
DEVSTACK=`pwd` FILES=`pwd`/files
if [ ! -d $DEVSTACK/apts ] || [ ! -d $DEVSTACK/files ] || [ ! -d $DEVSTACK/pips ]; then if [ ! -d $FILES ]; then
echo "ERROR: missing devstack files - did you grab more than just stack.sh?" echo "ERROR: missing devstack/files - did you grab more than just stack.sh?"
exit 1 exit 1
fi fi
@ -117,10 +117,10 @@ mysql-server-5.1 mysql-server/start_on_boot boolean true
MYSQL_PRESEED MYSQL_PRESEED
# install apt requirements # install apt requirements
sudo apt-get install -y -q `cat $DEVSTACK/apts/* | cut -d\# -f1 | grep -Ev "mysql-server|rabbitmq-server"` sudo apt-get install -y -q `cat $FILES/apts/* | cut -d\# -f1 | grep -Ev "mysql-server|rabbitmq-server"`
# install python requirements # install python requirements
sudo PIP_DOWNLOAD_CACHE=/var/cache/pip pip install `cat $DEVSTACK/pips/*` sudo PIP_DOWNLOAD_CACHE=/var/cache/pip pip install `cat $FILES/pips/*`
# git clone only if directory doesn't exist already # git clone only if directory doesn't exist already
function git_clone { function git_clone {
@ -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 # 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 # it since we are going to run the services in screen for simple
cp $DEVSTACK/files/screenrc ~/.screenrc cp $FILES/screenrc ~/.screenrc
## TODO: update current user to allow sudo for all commands in files/sudo/* ## 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 cd $DASH_DIR/openstack-dashboard
# Includes settings for Nixon, to expose munin charts. # Includes settings for Nixon, to expose munin charts.
sudo cp $DEVSTACK/files/dash_settings.py local/local_settings.py sudo cp $FILES/dash_settings.py local/local_settings.py
dashboard/manage.py syncdb dashboard/manage.py syncdb
@ -216,12 +216,12 @@ if [[ "$ENABLED_SERVICES" =~ "dash" ]]; then
sudo mkdir -p $DASH_DIR/.blackhole sudo mkdir -p $DASH_DIR/.blackhole
## Configure apache's 000-default to run dashboard ## Configure apache's 000-default to run dashboard
sudo cp $DEVSTACK/files/000-default.template /etc/apache2/sites-enabled/000-default sudo cp $FILES/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 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 # ``python setup.py develop`` left some files owned by root in ``DASH_DIR``
# others by the original owner. We need to change the owner to apache so # and others are owned by the user you are using to run this script.
# dashboard can run # We need to change the owner to apache for dashboard to run.
sudo chown -R www-data:www-data $DASH_DIR sudo chown -R www-data:www-data $DASH_DIR
fi fi
@ -271,7 +271,7 @@ if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then
mysql -u$MYSQL_USER -p$MYSQL_PASS -e 'CREATE DATABASE glance;' mysql -u$MYSQL_USER -p$MYSQL_PASS -e 'CREATE DATABASE glance;'
# Copy over our glance-registry.conf # Copy over our glance-registry.conf
GLANCE_CONF=$GLANCE_DIR/etc/glance-registry.conf GLANCE_CONF=$GLANCE_DIR/etc/glance-registry.conf
cp $DEVSTACK/files/glance-registry.conf $GLANCE_CONF cp $FILES/glance-registry.conf $GLANCE_CONF
sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/glance,g" -i $GLANCE_CONF sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/glance,g" -i $GLANCE_CONF
fi fi
@ -367,11 +367,11 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
# FIXME (anthony) keystone should use keystone.conf.example # FIXME (anthony) keystone should use keystone.conf.example
KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf
cp $DEVSTACK/files/keystone.conf $KEYSTONE_CONF cp $FILES/keystone.conf $KEYSTONE_CONF
sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF
# initialize keystone with default users/endpoints # initialize keystone with default users/endpoints
BIN_DIR=$KEYSTONE_DIR/bin bash $DEVSTACK/files/keystone_data.sh BIN_DIR=$KEYSTONE_DIR/bin bash $FILES/keystone_data.sh
fi fi