|
...
|
...
|
@@ -176,7 +176,9 @@ function configure_ceph {
|
|
176
|
176
|
sudo mkdir -p ${CEPH_DATA_DIR}/{bootstrap-mds,bootstrap-osd,mds,mon,osd,tmp}
|
|
177
|
177
|
|
|
178
|
178
|
# create ceph monitor initial key and directory
|
|
179
|
|
- sudo ceph-authtool /var/lib/ceph/tmp/keyring.mon.$(hostname) --create-keyring --name=mon. --add-key=$(ceph-authtool --gen-print-key) --cap mon 'allow *'
|
|
|
179
|
+ sudo ceph-authtool /var/lib/ceph/tmp/keyring.mon.$(hostname) \
|
|
|
180
|
+ --create-keyring --name=mon. --add-key=$(ceph-authtool --gen-print-key) \
|
|
|
181
|
+ --cap mon 'allow *'
|
|
180
|
182
|
sudo mkdir /var/lib/ceph/mon/ceph-$(hostname)
|
|
181
|
183
|
|
|
182
|
184
|
# create a default ceph configuration file
|
|
...
|
...
|
@@ -194,12 +196,14 @@ osd journal size = 100
|
|
194
|
194
|
EOF
|
|
195
|
195
|
|
|
196
|
196
|
# bootstrap the ceph monitor
|
|
197
|
|
- sudo ceph-mon -c ${CEPH_CONF_FILE} --mkfs -i $(hostname) --keyring /var/lib/ceph/tmp/keyring.mon.$(hostname)
|
|
|
197
|
+ sudo ceph-mon -c ${CEPH_CONF_FILE} --mkfs -i $(hostname) \
|
|
|
198
|
+ --keyring /var/lib/ceph/tmp/keyring.mon.$(hostname)
|
|
|
199
|
+
|
|
198
|
200
|
if is_ubuntu; then
|
|
199
|
|
- sudo touch /var/lib/ceph/mon/ceph-$(hostname)/upstart
|
|
|
201
|
+ sudo touch /var/lib/ceph/mon/ceph-$(hostname)/upstart
|
|
200
|
202
|
sudo initctl emit ceph-mon id=$(hostname)
|
|
201
|
203
|
else
|
|
202
|
|
- sudo touch /var/lib/ceph/mon/ceph-$(hostname)/sysvinit
|
|
|
204
|
+ sudo touch /var/lib/ceph/mon/ceph-$(hostname)/sysvinit
|
|
203
|
205
|
sudo service ceph start mon.$(hostname)
|
|
204
|
206
|
fi
|
|
205
|
207
|
|
|
...
|
...
|
@@ -240,7 +244,9 @@ EOF
|
|
240
|
240
|
OSD_ID=$(sudo ceph -c ${CEPH_CONF_FILE} osd create)
|
|
241
|
241
|
sudo mkdir -p ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}
|
|
242
|
242
|
sudo ceph-osd -c ${CEPH_CONF_FILE} -i ${OSD_ID} --mkfs
|
|
243
|
|
- sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create osd.${OSD_ID} mon 'allow profile osd ' osd 'allow *' | sudo tee ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/keyring
|
|
|
243
|
+ sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create osd.${OSD_ID} \
|
|
|
244
|
+ mon 'allow profile osd ' osd 'allow *' | \
|
|
|
245
|
+ sudo tee ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/keyring
|
|
244
|
246
|
|
|
245
|
247
|
# ceph's init script is parsing ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/ and looking for a file
|
|
246
|
248
|
# 'upstart' or 'sysinitv', thanks to these 'touches' we are able to control OSDs daemons
|
|
...
|
...
|
@@ -264,7 +270,10 @@ function configure_ceph_embedded_glance {
|
|
264
|
264
|
# configure_ceph_glance() - Glance config needs to come after Glance is set up
|
|
265
|
265
|
function configure_ceph_glance {
|
|
266
|
266
|
sudo ceph -c ${CEPH_CONF_FILE} osd pool create ${GLANCE_CEPH_POOL} ${GLANCE_CEPH_POOL_PG} ${GLANCE_CEPH_POOL_PGP}
|
|
267
|
|
- sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${GLANCE_CEPH_USER} mon "allow r" osd "allow class-read object_prefix rbd_children, allow rwx pool=${GLANCE_CEPH_POOL}" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring
|
|
|
267
|
+ sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${GLANCE_CEPH_USER} \
|
|
|
268
|
+ mon "allow r" \
|
|
|
269
|
+ osd "allow class-read object_prefix rbd_children, allow rwx pool=${GLANCE_CEPH_POOL}" | \
|
|
|
270
|
+ sudo tee ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring
|
|
268
|
271
|
sudo chown ${STACK_USER}:$(id -g -n $whoami) ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring
|
|
269
|
272
|
|
|
270
|
273
|
iniset $GLANCE_API_CONF DEFAULT show_image_direct_url True
|
|
...
|
...
|
@@ -296,7 +305,10 @@ function configure_ceph_nova {
|
|
296
|
296
|
iniset $NOVA_CONF libvirt images_rbd_ceph_conf ${CEPH_CONF_FILE}
|
|
297
|
297
|
|
|
298
|
298
|
if ! is_service_enabled cinder; then
|
|
299
|
|
- sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} mon "allow r" osd "allow class-read object_prefix rbd_children, allow rwx pool=${CINDER_CEPH_POOL}, allow rwx pool=${NOVA_CEPH_POOL},allow rwx pool=${GLANCE_CEPH_POOL}" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring > /dev/null
|
|
|
299
|
+ sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} \
|
|
|
300
|
+ mon "allow r" \
|
|
|
301
|
+ osd "allow class-read object_prefix rbd_children, allow rwx pool=${CINDER_CEPH_POOL}, allow rwx pool=${NOVA_CEPH_POOL},allow rwx pool=${GLANCE_CEPH_POOL}" | \
|
|
|
302
|
+ sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring > /dev/null
|
|
300
|
303
|
sudo chown ${STACK_USER}:$(id -g -n $whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring
|
|
301
|
304
|
fi
|
|
302
|
305
|
}
|
|
...
|
...
|
@@ -312,7 +324,10 @@ function configure_ceph_embedded_cinder {
|
|
312
|
312
|
# configure_ceph_cinder() - Cinder config needs to come after Cinder is set up
|
|
313
|
313
|
function configure_ceph_cinder {
|
|
314
|
314
|
sudo ceph -c ${CEPH_CONF_FILE} osd pool create ${CINDER_CEPH_POOL} ${CINDER_CEPH_POOL_PG} ${CINDER_CEPH_POOL_PGP}
|
|
315
|
|
- sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} mon "allow r" osd "allow class-read object_prefix rbd_children, allow rwx pool=${CINDER_CEPH_POOL}, allow rwx pool=${NOVA_CEPH_POOL},allow rx pool=${GLANCE_CEPH_POOL}" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring
|
|
|
315
|
+ sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} \
|
|
|
316
|
+ mon "allow r" \
|
|
|
317
|
+ osd "allow class-read object_prefix rbd_children, allow rwx pool=${CINDER_CEPH_POOL}, allow rwx pool=${NOVA_CEPH_POOL},allow rx pool=${GLANCE_CEPH_POOL}" | \
|
|
|
318
|
+ sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring
|
|
316
|
319
|
sudo chown ${STACK_USER}:$(id -g -n $whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring
|
|
317
|
320
|
}
|
|
318
|
321
|
|