]> git.proxmox.com Git - ceph.git/blame - ceph/src/script/add_osd.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / script / add_osd.sh
CommitLineData
f67539c2
TL
1#!/usr/bin/env bash
2
3set -ex
4
5CEPH_DEV_DIR=dev
6CEPH_BIN=bin
7ceph_adm=$CEPH_BIN/ceph
8osd=$1
9location=$2
10weight=.0990
11
12# DANGEROUS
13rm -rf $CEPH_DEV_DIR/osd$osd
14mkdir -p $CEPH_DEV_DIR/osd$osd
15
16uuid=`uuidgen`
17echo "add osd$osd $uuid"
18OSD_SECRET=$($CEPH_BIN/ceph-authtool --gen-print-key)
19echo "{\"cephx_secret\": \"$OSD_SECRET\"}" > $CEPH_DEV_DIR/osd$osd/new.json
20$CEPH_BIN/ceph osd new $uuid -i $CEPH_DEV_DIR/osd$osd/new.json
21rm $CEPH_DEV_DIR/osd$osd/new.json
22$CEPH_BIN/ceph-osd -i $osd $ARGS --mkfs --key $OSD_SECRET --osd-uuid $uuid
23
24key_fn=$CEPH_DEV_DIR/osd$osd/keyring
25cat > $key_fn<<EOF
26[osd.$osd]
27 key = $OSD_SECRET
28EOF
29echo adding osd$osd key to auth repository
30$CEPH_BIN/ceph -i "$key_fn" auth add osd.$osd osd "allow *" mon "allow profile osd" mgr "allow profile osd"
31
32$CEPH_BIN/ceph osd crush add osd.$osd $weight $location
33
34echo start osd.$osd
35$CEPH_BIN/ceph-osd -i $osd $ARGS $COSD_ARGS