-
-
Save erikh/79bdf33692bf79f663438cf6b3b5c467 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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