[enh] start dockerd daemon if needed

This commit is contained in:
zamentur 2016-01-31 00:03:56 +01:00
parent 0f50d2ed37
commit ea7645f99d

53
ynh-dev
View file

@ -11,7 +11,7 @@ Usage :
Run a docker or virtualbox vm
`basename $0` kill VM
Kill the last docker or all vagrant
Inside the vm
`basename $0` ip
Give the ip of the guest container
@ -21,17 +21,17 @@ Usage :
Deploy sources to test it
`basename $0` watch [PAQUET [PAQUET ...]]
Deploy sources each time there is change
PAQUET :
moulinette
ssowat
yunohost
yunohost-admin
VM
docker
virtualbox
VERSION
stable8
testing8
@ -50,16 +50,23 @@ check_yunohost_vm() {
fi
}
start_dockerd() {
status=`sudo service docker status`
if [ "$status" = "docker stop/waiting" ]; then
sudo service docker start
fi
}
paquets=${@:2}
if [ "$#" = "1" ]; then
paquets=('moulinette' 'ssowat' 'yunohost' 'yunohost-admin')
fi
BASE_DIR=/yunohost
BASE_DIR=./
if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "help" ]; then
usage
elif [ "$1" = "create-env" ]; then
#Create a development environment
pwd=`pwd`
@ -73,15 +80,22 @@ elif [ "$1" = "create-env" ]; then
git clone https://github.com/YunoHost/Dockerfile Dockerfile
git clone https://github.com/zamentur/yunohost-vagrant yunohost-vagrant
cp $pwd/$0 ./$0
ln -s yunohost-vagrant/Vagrantfile Vagrantfile
ln -s yunohost-vagrant/Vagrantfile Vagrantfile
elif [ "$1" = "run" ]; then
#Run a vm and give a prompt
DOMAIN=$2
VM=$3
VERSION=$4
VM='docker'
VERSION='stable8'
if [ "$#" = "3" ]; then
VM=$3
elif [ "$#" = "4" ]; then
VM=$3
VERSION=$4
fi
if [ "$VM" = "docker" ]; then
start_dockerd
docker exec -t -i $(sudo docker run -h yunohost.$DOMAIN -v $(pwd):/yunohost -d zamentur/yunohost-$VERSION /sbin/init) /bin/bash
elif [ "$VM" = "virtualbox" ] || [ "$VM" = "vagrant" ]; then
vagrant up $VERSION
@ -90,27 +104,30 @@ elif [ "$1" = "run" ]; then
echo "This kind of VM is not supported"
exit 100;
fi
elif [ "$1" = "kill" ]; then
VM=$2
if [ "$VM" = "docker" ]; then
docker kill $(docker ps -lq)
elif [ "$VM" = "virtualbox" ] || [ "$VM" = "vagrant" ]; then
vagrant destroy
elif [ "$VM" = "" ]; then
vagrant destroy -f
docker kill $(docker ps -lq)
else
echo "This kind of VM is not supported"
exit 100;
fi
fi
elif [ "$1" = "upgrade" ]; then
check_yunohost_vm
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y dist-upgrade
sudo apt-get install -y inotify-tools net-tools
elif [ "$1" = "ip" ]; then
check_yunohost_vm
sudo apt-get install -y net-tools
/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'
elif [ "$1" = "deploy" ]; then
check_yunohost_vm
for i in ${!paquets[@]}; do
@ -131,7 +148,7 @@ elif [ "$1" = "deploy" ]; then
;;
yunohost)
# Install yunohost
cat ./yunohost/debian/install | awk '{print "mkdir -p " $2}' | source /dev/stdin
cat $BASE_DIR/yunohost/debian/install | awk '{print "mkdir -p " $2}' | source /dev/stdin
sed "s@^@cp -Rf $BASE_DIR/yunohost/@" $BASE_DIR/yunohost/debian/install | source /dev/stdin
service yunohost-api restart || echo 'Fail to restart yunohost-api'
echo "yunohost deployed"
@ -146,8 +163,8 @@ elif [ "$1" = "deploy" ]; then
elif [ "$1" = "watch" ]; then
check_yunohost_vm
sudo apt-get install -y inotify-tools
while inotifywait -r -e close_write $BASE_DIR/moulinette/ $BASE_DIR/SSOwat/ $BASE_DIR/yunohost/ $BASE_DIR/yunohost-admin/; do
$BASE_DIR/$0 deploy ${@:2};
while inotifywait -r -e close_write $BASE_DIR/moulinette/ $BASE_DIR/SSOwat/ $BASE_DIR/yunohost/ $BASE_DIR/yunohost-admin/; do
$BASE_DIR/$0 deploy ${@:2};
done
else
usage