Skip to content

Instantly share code, notes, and snippets.

@erikh
Created June 29, 2016 11:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erikh/79bdf33692bf79f663438cf6b3b5c467 to your computer and use it in GitHub Desktop.
Save erikh/79bdf33692bf79f663438cf6b3b5c467 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -xe
sudo mkdir -p /volplugin
. $(dirname $0)/ipnet.sh
MONNAME=${MONNAME:-volplugin-mon${SUFFIX}}
OSDNAME=${OSDNAME:-volplugin-osd${SUFFIX}}
SUPERVISORNAME=${SUPERVISORNAME:-volplugin-volsupervisor${SUFFIX}}
MASTERNAME=${MASTERNAME:-volplugin-volmaster${SUFFIX}}
PLUGINNAME=${PLUGINNAME:-volplugin-volplugin${SUFFIX}}
if [ -z "${IP}" ] || [ -z "${NETWORK}" ]
then
echo 1>&2 "Please provide IP and NETWORK through the environment."
exit 1
fi
if [ ! -z "${USE_SUPERVISOR}" ]
then
docker rm -f ${SUPERVISORNAME} || :
fi
for i in ${MASTERNAME} ${PLUGINNAME}
do
docker stop $i || :
docker rm $i || :
done
if [ "$(hostname)" = "mon0" ]
then
docker run --rm --pid host --net host --privileged -e KV_TYPE=etcd -e KV_IP=127.0.0.1 -e MON_IP=${IP} -e CEPH_NETWORK=${NETWORK} -e CEPH_PUBLIC_NETWORK=${NETWORK} ceph/daemon populate_kvstore
fi
if ! docker ps -a | grep -q ${OSDNAME}
then
docker run --net host --name ${OSDNAME}-0 -v /var/lib/ceph:/var/lib/ceph -d --privileged -v /dev:/dev/ -e KV_TYPE=etcd -e KV_IP=127.0.0.1 -e OSD_TYPE=disk -e OSD_DEVICE=/dev/sdc -e MON_IP=${IP} -e CEPH_PUBLIC_NETWORK=${NETWORK} ceph/daemon osd
sleep 5
# docker run --pid host --net host --name ${OSDNAME}-1 -v /var/lib/ceph:/var/lib/ceph -d --privileged --volumes-from ${MONNAME} -v /dev:/dev/ -e KV_TYPE=etcd -e KV_IP=127.0.0.1 -e OSD_TYPE=disk -e OSD_DEVICE=/dev/sdd -e MON_IP=${IP} -e CEPH_PUBLIC_NETWORK=${NETWORK} ceph/daemon osd_ceph_disk
# sleep 5
else
docker start ${OSDNAME}-0 || : #${OSDNAME}-1
fi
if ! docker ps -a | grep -q ${MONNAME}
then
docker run --net host --name ${MONNAME} -v /var/lib/ceph:/var/lib/ceph -d --privileged -e KV_TYPE=etcd -e KV_IP=127.0.0.1 -e MON_IP=${IP} -e CEPH_NETWORK=${NETWORK} -e CEPH_PUBLIC_NETWORK=${NETWORK} ceph/daemon mon
sleep 5
else
docker start ${MONNAME} || :
fi
docker run --net host --name ${MASTERNAME} -itd --privileged -v /lib/modules:/lib/modules:ro -v /sys:/sys --volumes-from ${MONNAME} -v /opt/golang/src/github.com/contiv/volplugin/bin:/vp -v /dev/:/dev/ ceph/base /vp/volmaster
docker run --net host --name ${PLUGINNAME} -itd --privileged -v /lib/modules:/lib/modules:ro -v /sys:/sys --volumes-from ${MONNAME} -v /opt/golang/src/github.com/contiv/volplugin/bin:/vp -v /mnt:/mnt:shared -v /volplugin/mounts:/volplugin/mounts:shared -v /dev/:/dev/ -v /run/docker/plugins:/run/docker/plugins -v /var/run/docker.sock:/var/run/docker.sock ceph/base /vp/volplugin
if [ ! -z "${USE_SUPERVISOR}" ]
then
docker run --net host --name ${SUPERVISORNAME} -itd --privileged --volumes-from ${MONNAME} -v /lib/modules:/lib/modules:ro -v $PWD/bin:/vp -v /dev/:/dev/ ceph/base /vp/volsupervisor
fi
if [ "$(hostname)" = "mon0" ]
then
volcli policy upload policy1 < /opt/golang/src/github.com/contiv/volplugin/systemtests/testdata/ceph/policy1.json
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment