* Glance: create_glance_cache_dir()
* Cinder: create_cinder_cache_dir() and create_cinder_volume_group()
* Nova: create_nova_cache_dir() and create_nova_keys_dir()
* Random tidy-up changes
Change-Id: I20d995d4c2e5facfb912ee03a6cda6c56f20bbe9
... | ... |
@@ -254,37 +254,55 @@ create_cinder_accounts() { |
254 | 254 |
fi |
255 | 255 |
} |
256 | 256 |
|
257 |
+# create_cinder_cache_dir() - Part of the init_cinder() process |
|
258 |
+function create_cinder_cache_dir() { |
|
259 |
+ # Create cache dir |
|
260 |
+ sudo mkdir -p $CINDER_AUTH_CACHE_DIR |
|
261 |
+ sudo chown $STACK_USER $CINDER_AUTH_CACHE_DIR |
|
262 |
+ rm -f $CINDER_AUTH_CACHE_DIR/* |
|
263 |
+} |
|
264 |
+ |
|
265 |
+create_cinder_volume_group() { |
|
266 |
+ # Configure a default volume group called '`stack-volumes`' for the volume |
|
267 |
+ # service if it does not yet exist. If you don't wish to use a file backed |
|
268 |
+ # volume group, create your own volume group called ``stack-volumes`` before |
|
269 |
+ # invoking ``stack.sh``. |
|
270 |
+ # |
|
271 |
+ # By default, the backing file is 5G in size, and is stored in ``/opt/stack/data``. |
|
272 |
+ |
|
273 |
+ if ! sudo vgs $VOLUME_GROUP; then |
|
274 |
+ VOLUME_BACKING_FILE=${VOLUME_BACKING_FILE:-$DATA_DIR/${VOLUME_GROUP}-backing-file} |
|
275 |
+ |
|
276 |
+ # Only create if the file doesn't already exists |
|
277 |
+ [[ -f $VOLUME_BACKING_FILE ]] || truncate -s $VOLUME_BACKING_FILE_SIZE $VOLUME_BACKING_FILE |
|
278 |
+ |
|
279 |
+ DEV=`sudo losetup -f --show $VOLUME_BACKING_FILE` |
|
280 |
+ |
|
281 |
+ # Only create if the loopback device doesn't contain $VOLUME_GROUP |
|
282 |
+ if ! sudo vgs $VOLUME_GROUP; then |
|
283 |
+ sudo vgcreate $VOLUME_GROUP $DEV |
|
284 |
+ fi |
|
285 |
+ fi |
|
286 |
+ |
|
287 |
+ mkdir -p $CINDER_STATE_PATH/volumes |
|
288 |
+} |
|
289 |
+ |
|
257 | 290 |
# init_cinder() - Initialize database and volume group |
258 | 291 |
function init_cinder() { |
259 | 292 |
# Force nova volumes off |
260 | 293 |
NOVA_ENABLED_APIS=$(echo $NOVA_ENABLED_APIS | sed "s/osapi_volume,//") |
261 | 294 |
|
262 | 295 |
if is_service_enabled $DATABASE_BACKENDS; then |
263 |
- # (re)create cinder database |
|
296 |
+ # (Re)create cinder database |
|
264 | 297 |
recreate_database cinder utf8 |
265 | 298 |
|
266 |
- # (re)create cinder database |
|
299 |
+ # Migrate cinder database |
|
267 | 300 |
$CINDER_BIN_DIR/cinder-manage db sync |
268 | 301 |
fi |
269 | 302 |
|
270 | 303 |
if is_service_enabled c-vol; then |
271 |
- # Configure a default volume group called '`stack-volumes`' for the volume |
|
272 |
- # service if it does not yet exist. If you don't wish to use a file backed |
|
273 |
- # volume group, create your own volume group called ``stack-volumes`` before |
|
274 |
- # invoking ``stack.sh``. |
|
275 |
- # |
|
276 |
- # By default, the backing file is 5G in size, and is stored in ``/opt/stack/data``. |
|
277 | 304 |
|
278 |
- if ! sudo vgs $VOLUME_GROUP; then |
|
279 |
- VOLUME_BACKING_FILE=${VOLUME_BACKING_FILE:-$DATA_DIR/${VOLUME_GROUP}-backing-file} |
|
280 |
- # Only create if the file doesn't already exists |
|
281 |
- [[ -f $VOLUME_BACKING_FILE ]] || truncate -s $VOLUME_BACKING_FILE_SIZE $VOLUME_BACKING_FILE |
|
282 |
- DEV=`sudo losetup -f --show $VOLUME_BACKING_FILE` |
|
283 |
- # Only create if the loopback device doesn't contain $VOLUME_GROUP |
|
284 |
- if ! sudo vgs $VOLUME_GROUP; then sudo vgcreate $VOLUME_GROUP $DEV; fi |
|
285 |
- fi |
|
286 |
- |
|
287 |
- mkdir -p $CINDER_STATE_PATH/volumes |
|
305 |
+ create_cinder_volume_group |
|
288 | 306 |
|
289 | 307 |
if sudo vgs $VOLUME_GROUP; then |
290 | 308 |
if is_fedora || is_suse; then |
... | ... |
@@ -299,10 +317,7 @@ function init_cinder() { |
299 | 299 |
fi |
300 | 300 |
fi |
301 | 301 |
|
302 |
- # Create cache dir |
|
303 |
- sudo mkdir -p $CINDER_AUTH_CACHE_DIR |
|
304 |
- sudo chown $STACK_USER $CINDER_AUTH_CACHE_DIR |
|
305 |
- rm -f $CINDER_AUTH_CACHE_DIR/* |
|
302 |
+ create_cinder_cache_dir |
|
306 | 303 |
} |
307 | 304 |
|
308 | 305 |
# install_cinder() - Collect source and prepare |
... | ... |
@@ -141,6 +141,17 @@ function configure_glance() { |
141 | 141 |
cp -p $GLANCE_DIR/etc/policy.json $GLANCE_POLICY_JSON |
142 | 142 |
} |
143 | 143 |
|
144 |
+# create_glance_cache_dir() - Part of the init_glance() process |
|
145 |
+function create_glance_cache_dir() { |
|
146 |
+ # Create cache dir |
|
147 |
+ sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/api |
|
148 |
+ sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/api |
|
149 |
+ rm -f $GLANCE_AUTH_CACHE_DIR/api/* |
|
150 |
+ sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/registry |
|
151 |
+ sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/registry |
|
152 |
+ rm -f $GLANCE_AUTH_CACHE_DIR/registry/* |
|
153 |
+} |
|
154 |
+ |
|
144 | 155 |
# init_glance() - Initialize databases, etc. |
145 | 156 |
function init_glance() { |
146 | 157 |
# Delete existing images |
... | ... |
@@ -151,18 +162,13 @@ function init_glance() { |
151 | 151 |
rm -rf $GLANCE_CACHE_DIR |
152 | 152 |
mkdir -p $GLANCE_CACHE_DIR |
153 | 153 |
|
154 |
- # (re)create glance database |
|
154 |
+ # (Re)create glance database |
|
155 | 155 |
recreate_database glance utf8 |
156 | 156 |
|
157 |
+ # Migrate glance database |
|
157 | 158 |
$GLANCE_BIN_DIR/glance-manage db_sync |
158 | 159 |
|
159 |
- # Create cache dir |
|
160 |
- sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/api |
|
161 |
- sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/api |
|
162 |
- rm -f $GLANCE_AUTH_CACHE_DIR/api/* |
|
163 |
- sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/registry |
|
164 |
- sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/registry |
|
165 |
- rm -f $GLANCE_AUTH_CACHE_DIR/registry/* |
|
160 |
+ create_glance_cache_dir |
|
166 | 161 |
} |
167 | 162 |
|
168 | 163 |
# install_glanceclient() - Collect source and prepare |
... | ... |
@@ -453,6 +453,14 @@ function create_nova_conf() { |
453 | 453 |
done |
454 | 454 |
} |
455 | 455 |
|
456 |
+# create_nova_cache_dir() - Part of the init_nova() process |
|
457 |
+function create_nova_cache_dir() { |
|
458 |
+ # Create cache dir |
|
459 |
+ sudo mkdir -p $NOVA_AUTH_CACHE_DIR |
|
460 |
+ sudo chown $STACK_USER $NOVA_AUTH_CACHE_DIR |
|
461 |
+ rm -f $NOVA_AUTH_CACHE_DIR/* |
|
462 |
+} |
|
463 |
+ |
|
456 | 464 |
function create_nova_conf_nova_network() { |
457 | 465 |
iniset $NOVA_CONF DEFAULT network_manager "nova.network.manager.$NET_MAN" |
458 | 466 |
iniset $NOVA_CONF DEFAULT public_interface "$PUBLIC_INTERFACE" |
... | ... |
@@ -463,14 +471,17 @@ function create_nova_conf_nova_network() { |
463 | 463 |
fi |
464 | 464 |
} |
465 | 465 |
|
466 |
+# create_nova_keys_dir() - Part of the init_nova() process |
|
467 |
+function create_nova_keys_dir() { |
|
468 |
+ # Create keys dir |
|
469 |
+ sudo mkdir -p ${NOVA_STATE_PATH}/keys |
|
470 |
+ sudo chown -R $STACK_USER ${NOVA_STATE_PATH} |
|
471 |
+} |
|
472 |
+ |
|
466 | 473 |
# init_nova() - Initialize databases, etc. |
467 | 474 |
function init_nova() { |
468 |
- # Nova Database |
|
469 |
- # ------------- |
|
470 |
- |
|
471 |
- # All nova components talk to a central database. We will need to do this step |
|
472 |
- # only once for an entire cluster. |
|
473 |
- |
|
475 |
+ # All nova components talk to a central database. |
|
476 |
+ # Only do this step once on the API node for an entire cluster. |
|
474 | 477 |
if is_service_enabled $DATABASE_BACKENDS && is_service_enabled n-api; then |
475 | 478 |
# (Re)create nova database |
476 | 479 |
# Explicitly use latin1: to avoid lp#829209, nova expects the database to |
... | ... |
@@ -478,7 +489,7 @@ function init_nova() { |
478 | 478 |
# 082_essex.py in nova) |
479 | 479 |
recreate_database nova latin1 |
480 | 480 |
|
481 |
- # (Re)create nova database |
|
481 |
+ # Migrate nova database |
|
482 | 482 |
$NOVA_BIN_DIR/nova-manage db sync |
483 | 483 |
|
484 | 484 |
# (Re)create nova baremetal database |
... | ... |
@@ -488,15 +499,8 @@ function init_nova() { |
488 | 488 |
fi |
489 | 489 |
fi |
490 | 490 |
|
491 |
- # Create cache dir |
|
492 |
- sudo mkdir -p $NOVA_AUTH_CACHE_DIR |
|
493 |
- sudo chown $STACK_USER $NOVA_AUTH_CACHE_DIR |
|
494 |
- rm -f $NOVA_AUTH_CACHE_DIR/* |
|
495 |
- |
|
496 |
- # Create the keys folder |
|
497 |
- sudo mkdir -p ${NOVA_STATE_PATH}/keys |
|
498 |
- # make sure we own NOVA_STATE_PATH and all subdirs |
|
499 |
- sudo chown -R $STACK_USER ${NOVA_STATE_PATH} |
|
491 |
+ create_nova_cache_dir |
|
492 |
+ create_nova_keys_dir |
|
500 | 493 |
} |
501 | 494 |
|
502 | 495 |
# install_novaclient() - Collect source and prepare |