]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | #!/bin/bash -ex |
2 | ||
3 | SCRIPT_NAME=$(basename ${BASH_SOURCE[0]}) | |
4 | ||
5 | fsid='00000000-0000-0000-0000-0000deadbeef' | |
6 | image='quay.io/ceph-ci/ceph:octopus' | |
7 | [ -z "$ip" ] && ip=127.0.0.1 | |
8 | ||
9 | OSD_IMAGE_NAME="${SCRIPT_NAME%.*}_osd.img" | |
10 | OSD_IMAGE_SIZE='6G' | |
11 | OSD_TO_CREATE=6 | |
12 | OSD_VG_NAME=${SCRIPT_NAME%.*} | |
13 | OSD_LV_NAME=${SCRIPT_NAME%.*} | |
14 | ||
15 | CEPHADM=../src/cephadm/cephadm | |
16 | ||
17 | # add verbose logging | |
18 | #CEPHADM_ARGS="$CEPHADM_ARGS -v" | |
19 | ||
20 | # clean up previous run(s)? | |
21 | $CEPHADM $CEPHADM_ARGS rm-cluster --fsid $fsid --force | |
22 | vgchange -an $OSD_VG_NAME || true | |
23 | loopdev=$(losetup -a | grep $(basename $OSD_IMAGE_NAME) | awk -F : '{print $1}') | |
24 | if ! [ "$loopdev" = "" ]; then | |
25 | losetup -d $loopdev | |
26 | fi | |
27 | rm -f $OSD_IMAGE_NAME | |
28 | ||
29 | cat <<EOF > c | |
30 | [global] | |
31 | log to file = true | |
32 | EOF | |
33 | ||
34 | $CEPHADM $CEPHADM_ARGS \ | |
35 | --image $image \ | |
36 | bootstrap \ | |
37 | --mon-id a \ | |
38 | --mgr-id x \ | |
39 | --fsid $fsid \ | |
40 | --mon-ip $ip \ | |
41 | --config c \ | |
42 | --output-keyring k \ | |
43 | --output-config c \ | |
44 | --allow-overwrite \ | |
45 | --skip-mon-network | |
46 | chmod 644 k c | |
47 | ||
48 | # mon.b | |
49 | cp c c.mon | |
50 | echo "public addrv = [v2:$ip:3301,v1:$ip:6790]" >> c.mon | |
51 | $CEPHADM $CEPHADM_ARGS \ | |
52 | --image $image \ | |
53 | deploy --name mon.b \ | |
54 | --fsid $fsid \ | |
55 | --keyring /var/lib/ceph/$fsid/mon.a/keyring \ | |
56 | --config c.mon | |
57 | rm c.mon | |
58 | ||
59 | # mgr.b | |
60 | $CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- \ | |
61 | ceph auth get-or-create mgr.y \ | |
62 | mon 'allow profile mgr' \ | |
63 | osd 'allow *' \ | |
64 | mds 'allow *' > k-mgr.y | |
65 | $CEPHADM $CEPHADM_ARGS \ | |
66 | --image $image \ | |
67 | deploy --name mgr.y \ | |
68 | --fsid $fsid \ | |
69 | --keyring k-mgr.y \ | |
70 | --config c | |
71 | ||
72 | # mds.{k,j} | |
73 | for id in k j; do | |
74 | $CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- \ | |
75 | ceph auth get-or-create mds.$id \ | |
76 | mon 'allow profile mds' \ | |
77 | mgr 'allow profile mds' \ | |
78 | osd 'allow *' \ | |
79 | mds 'allow *' > k-mds.$id | |
80 | $CEPHADM $CEPHADM_ARGS \ | |
81 | --image $image \ | |
82 | deploy --name mds.$id \ | |
83 | --fsid $fsid \ | |
84 | --keyring k-mds.$id \ | |
85 | --config c | |
86 | done | |
87 | ||
88 | # add osd.{1,2,..} | |
89 | dd if=/dev/zero of=$OSD_IMAGE_NAME bs=1 count=0 seek=$OSD_IMAGE_SIZE | |
90 | loop_dev=$(losetup -f) | |
91 | losetup $loop_dev $OSD_IMAGE_NAME | |
92 | pvcreate $loop_dev && vgcreate $OSD_VG_NAME $loop_dev | |
93 | for id in `seq 0 $((--OSD_TO_CREATE))`; do | |
94 | lvcreate -l $((100/$OSD_TO_CREATE))%VG -n $OSD_LV_NAME.$id $OSD_VG_NAME | |
95 | $SUDO $CEPHADM shell --fsid $fsid --config c --keyring k -- \ | |
96 | ceph orch daemon add osd \ | |
97 | $(hostname):/dev/$OSD_VG_NAME/$OSD_LV_NAME.$id | |
98 | done | |
99 | ||
100 | $CEPHADM $CEPHADM_ARGS shell --fsid $fsid --config c --keyring k -- ceph -s |