diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/cstart.sh | |
parent | Initial commit. (diff) | |
download | ceph-6d07fdb6bb33b1af39833b850bb6cf8af79fe293.tar.xz ceph-6d07fdb6bb33b1af39833b850bb6cf8af79fe293.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/cstart.sh')
-rwxr-xr-x | src/cstart.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/cstart.sh b/src/cstart.sh new file mode 100755 index 000000000..71f4200a4 --- /dev/null +++ b/src/cstart.sh @@ -0,0 +1,67 @@ +#!/bin/bash -e + +image_base="quay.io/ceph-ci/ceph" + +if which podman 2>&1 > /dev/null; then + runtime="podman" +else + runtime="docker" +fi + +# fsid +if [ -e fsid ] ; then + fsid=`cat fsid` +else + fsid=`uuidgen` + echo $fsid > fsid +fi +echo "fsid $fsid" + +shortid=`echo $fsid | cut -c 1-8` +echo "shortid $shortid" + +# ip +if [ -z "$ip" ]; then + if [ -x "$(which ip 2>/dev/null)" ]; then + IP_CMD="ip addr" + else + IP_CMD="ifconfig" + fi + # filter out IPv4 and localhost addresses + ip="$($IP_CMD | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' | head -n1)" + # if nothing left, try using localhost address, it might work + if [ -z "$ip" ]; then ip="127.0.0.1"; fi +fi +echo "ip $ip" + +# port +if [ -z "$port" ]; then + while [ true ] + do + port="$(echo $(( RANDOM % 1000 + 40000 )))" + ss -a -n | grep LISTEN | grep "${ip}:${port} " 1>/dev/null 2>&1 || break + done +fi +echo "port $port" + +# make sure we have an image +if ! $runtime image inspect $image_base:$shortid 2>/dev/null; then + echo "building initial $image_base:$shortid image..." + sudo ../src/script/cpatch -t $image_base:$shortid +fi + +sudo ../src/cephadm/cephadm rm-cluster --force --fsid $fsid +sudo ../src/cephadm/cephadm --image ${image_base}:${shortid} bootstrap \ + --skip-pull \ + --fsid $fsid \ + --mon-addrv "[v2:$ip:$port]" \ + --output-dir . \ + --allow-overwrite + +# kludge to make 'bin/ceph ...' work +sudo chmod 755 ceph.client.admin.keyring +echo 'keyring = ceph.client.admin.keyring' >> ceph.conf + +echo +echo "sudo ../src/script/cpatch -t $image_base:$shortid" +echo |