|
...
|
...
|
@@ -154,9 +154,10 @@ function cleanup_swift {
|
|
154
|
154
|
function _cleanup_swift_apache_wsgi {
|
|
155
|
155
|
sudo rm -f $SWIFT_APACHE_WSGI_DIR/*.wsgi
|
|
156
|
156
|
disable_apache_site proxy-server
|
|
|
157
|
+ local node_number type
|
|
157
|
158
|
for node_number in ${SWIFT_REPLICAS_SEQ}; do
|
|
158
|
159
|
for type in object container account; do
|
|
159
|
|
- site_name=${type}-server-${node_number}
|
|
|
160
|
+ local site_name=${type}-server-${node_number}
|
|
160
|
161
|
disable_apache_site ${site_name}
|
|
161
|
162
|
sudo rm -f $(apache_site_config_for ${site_name})
|
|
162
|
163
|
done
|
|
...
|
...
|
@@ -186,10 +187,11 @@ function _config_swift_apache_wsgi {
|
|
186
|
186
|
" -i ${SWIFT_APACHE_WSGI_DIR}/proxy-server.wsgi
|
|
187
|
187
|
|
|
188
|
188
|
# copy apache vhost file and set name and port
|
|
|
189
|
+ local node_number
|
|
189
|
190
|
for node_number in ${SWIFT_REPLICAS_SEQ}; do
|
|
190
|
|
- object_port=$[OBJECT_PORT_BASE + 10 * ($node_number - 1)]
|
|
191
|
|
- container_port=$[CONTAINER_PORT_BASE + 10 * ($node_number - 1)]
|
|
192
|
|
- account_port=$[ACCOUNT_PORT_BASE + 10 * ($node_number - 1)]
|
|
|
191
|
+ local object_port=$[OBJECT_PORT_BASE + 10 * ($node_number - 1)]
|
|
|
192
|
+ local container_port=$[CONTAINER_PORT_BASE + 10 * ($node_number - 1)]
|
|
|
193
|
+ local account_port=$[ACCOUNT_PORT_BASE + 10 * ($node_number - 1)]
|
|
193
|
194
|
|
|
194
|
195
|
sudo cp ${SWIFT_DIR}/examples/apache2/object-server.template $(apache_site_config_for object-server-${node_number})
|
|
195
|
196
|
sudo sed -e "
|
|
...
|
...
|
@@ -249,7 +251,7 @@ function generate_swift_config {
|
|
249
|
249
|
local server_type=$4
|
|
250
|
250
|
|
|
251
|
251
|
log_facility=$[ node_id - 1 ]
|
|
252
|
|
- node_path=${SWIFT_DATA_DIR}/${node_number}
|
|
|
252
|
+ local node_path=${SWIFT_DATA_DIR}/${node_number}
|
|
253
|
253
|
|
|
254
|
254
|
iniuncomment ${swift_node_config} DEFAULT user
|
|
255
|
255
|
iniset ${swift_node_config} DEFAULT user ${STACK_USER}
|
|
...
|
...
|
@@ -420,8 +422,9 @@ EOF
|
|
420
|
420
|
iniset ${SWIFT_CONF_DIR}/swift.conf swift-hash swift_hash_path_suffix ${SWIFT_HASH}
|
|
421
|
421
|
iniset ${SWIFT_CONF_DIR}/swift.conf swift-constraints max_header_size ${SWIFT_MAX_HEADER_SIZE}
|
|
422
|
422
|
|
|
|
423
|
+ local node_number
|
|
423
|
424
|
for node_number in ${SWIFT_REPLICAS_SEQ}; do
|
|
424
|
|
- swift_node_config=${SWIFT_CONF_DIR}/object-server/${node_number}.conf
|
|
|
425
|
+ local swift_node_config=${SWIFT_CONF_DIR}/object-server/${node_number}.conf
|
|
425
|
426
|
cp ${SWIFT_DIR}/etc/object-server.conf-sample ${swift_node_config}
|
|
426
|
427
|
generate_swift_config ${swift_node_config} ${node_number} $[OBJECT_PORT_BASE + 10 * (node_number - 1)] object
|
|
427
|
428
|
iniset ${swift_node_config} filter:recon recon_cache_path ${SWIFT_DATA_DIR}/cache
|
|
...
|
...
|
@@ -464,7 +467,7 @@ EOF
|
|
464
|
464
|
iniset ${testfile} func_test auth_prefix /v2.0/
|
|
465
|
465
|
fi
|
|
466
|
466
|
|
|
467
|
|
- swift_log_dir=${SWIFT_DATA_DIR}/logs
|
|
|
467
|
+ local swift_log_dir=${SWIFT_DATA_DIR}/logs
|
|
468
|
468
|
rm -rf ${swift_log_dir}
|
|
469
|
469
|
mkdir -p ${swift_log_dir}/hourly
|
|
470
|
470
|
sudo chown -R ${STACK_USER}:adm ${swift_log_dir}
|
|
...
|
...
|
@@ -488,9 +491,9 @@ function create_swift_disk {
|
|
488
|
488
|
# First do a bit of setup by creating the directories and
|
|
489
|
489
|
# changing the permissions so we can run it as our user.
|
|
490
|
490
|
|
|
491
|
|
- USER_GROUP=$(id -g ${STACK_USER})
|
|
|
491
|
+ local user_group=$(id -g ${STACK_USER})
|
|
492
|
492
|
sudo mkdir -p ${SWIFT_DATA_DIR}/{drives,cache,run,logs}
|
|
493
|
|
- sudo chown -R ${STACK_USER}:${USER_GROUP} ${SWIFT_DATA_DIR}
|
|
|
493
|
+ sudo chown -R ${STACK_USER}:${user_group} ${SWIFT_DATA_DIR}
|
|
494
|
494
|
|
|
495
|
495
|
# Create a loopback disk and format it to XFS.
|
|
496
|
496
|
if [[ -e ${SWIFT_DISK_IMAGE} ]]; then
|
|
...
|
...
|
@@ -518,15 +521,16 @@ function create_swift_disk {
|
|
518
|
518
|
|
|
519
|
519
|
# Create a link to the above mount and
|
|
520
|
520
|
# create all of the directories needed to emulate a few different servers
|
|
|
521
|
+ local node_number
|
|
521
|
522
|
for node_number in ${SWIFT_REPLICAS_SEQ}; do
|
|
522
|
523
|
sudo ln -sf ${SWIFT_DATA_DIR}/drives/sdb1/$node_number ${SWIFT_DATA_DIR}/$node_number;
|
|
523
|
|
- drive=${SWIFT_DATA_DIR}/drives/sdb1/${node_number}
|
|
524
|
|
- node=${SWIFT_DATA_DIR}/${node_number}/node
|
|
525
|
|
- node_device=${node}/sdb1
|
|
|
524
|
+ local drive=${SWIFT_DATA_DIR}/drives/sdb1/${node_number}
|
|
|
525
|
+ local node=${SWIFT_DATA_DIR}/${node_number}/node
|
|
|
526
|
+ local node_device=${node}/sdb1
|
|
526
|
527
|
[[ -d $node ]] && continue
|
|
527
|
528
|
[[ -d $drive ]] && continue
|
|
528
|
|
- sudo install -o ${STACK_USER} -g $USER_GROUP -d $drive
|
|
529
|
|
- sudo install -o ${STACK_USER} -g $USER_GROUP -d $node_device
|
|
|
529
|
+ sudo install -o ${STACK_USER} -g $user_group -d $drive
|
|
|
530
|
+ sudo install -o ${STACK_USER} -g $user_group -d $node_device
|
|
530
|
531
|
sudo chown -R ${STACK_USER}: ${node}
|
|
531
|
532
|
done
|
|
532
|
533
|
}
|
|
...
|
...
|
@@ -544,49 +548,49 @@ function create_swift_disk {
|
|
544
|
544
|
|
|
545
|
545
|
function create_swift_accounts {
|
|
546
|
546
|
# Defines specific passwords used by tools/create_userrc.sh
|
|
547
|
|
- SWIFTUSERTEST1_PASSWORD=testing
|
|
548
|
|
- SWIFTUSERTEST2_PASSWORD=testing2
|
|
549
|
|
- SWIFTUSERTEST3_PASSWORD=testing3
|
|
|
547
|
+ local swiftusertest1_password=testing
|
|
|
548
|
+ local swiftusertest2_password=testing2
|
|
|
549
|
+ local swiftusertest3_password=testing3
|
|
550
|
550
|
|
|
551
|
551
|
KEYSTONE_CATALOG_BACKEND=${KEYSTONE_CATALOG_BACKEND:-sql}
|
|
552
|
552
|
|
|
553
|
|
- SERVICE_TENANT=$(openstack project list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
|
|
554
|
|
- ADMIN_ROLE=$(openstack role list | awk "/ admin / { print \$2 }")
|
|
|
553
|
+ local service_tenant=$(openstack project list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
|
|
|
554
|
+ local admin_role=$(openstack role list | awk "/ admin / { print \$2 }")
|
|
555
|
555
|
|
|
556
|
|
- SWIFT_USER=$(get_or_create_user "swift" \
|
|
557
|
|
- "$SERVICE_PASSWORD" $SERVICE_TENANT)
|
|
558
|
|
- get_or_add_user_role $ADMIN_ROLE $SWIFT_USER $SERVICE_TENANT
|
|
|
556
|
+ local swift_user=$(get_or_create_user "swift" \
|
|
|
557
|
+ "$SERVICE_PASSWORD" $service_tenant)
|
|
|
558
|
+ get_or_add_user_role $admin_role $swift_user $service_tenant
|
|
559
|
559
|
|
|
560
|
560
|
if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
|
|
561
|
561
|
|
|
562
|
|
- SWIFT_SERVICE=$(get_or_create_service "swift" \
|
|
|
562
|
+ local swift_service=$(get_or_create_service "swift" \
|
|
563
|
563
|
"object-store" "Swift Service")
|
|
564
|
|
- get_or_create_endpoint $SWIFT_SERVICE \
|
|
|
564
|
+ get_or_create_endpoint $swift_service \
|
|
565
|
565
|
"$REGION_NAME" \
|
|
566
|
566
|
"http://$SERVICE_HOST:8080/v1/AUTH_\$(tenant_id)s" \
|
|
567
|
567
|
"http://$SERVICE_HOST:8080" \
|
|
568
|
568
|
"http://$SERVICE_HOST:8080/v1/AUTH_\$(tenant_id)s"
|
|
569
|
569
|
fi
|
|
570
|
570
|
|
|
571
|
|
- SWIFT_TENANT_TEST1=$(get_or_create_project swifttenanttest1)
|
|
572
|
|
- die_if_not_set $LINENO SWIFT_TENANT_TEST1 "Failure creating SWIFT_TENANT_TEST1"
|
|
573
|
|
- SWIFT_USER_TEST1=$(get_or_create_user swiftusertest1 $SWIFTUSERTEST1_PASSWORD \
|
|
574
|
|
- "$SWIFT_TENANT_TEST1" "test@example.com")
|
|
|
571
|
+ local swift_tenant_test1=$(get_or_create_project swifttenanttest1)
|
|
|
572
|
+ die_if_not_set $LINENO swift_tenant_test1 "Failure creating swift_tenant_test1"
|
|
|
573
|
+ SWIFT_USER_TEST1=$(get_or_create_user swiftusertest1 $swiftusertest1_password \
|
|
|
574
|
+ "$swift_tenant_test1" "test@example.com")
|
|
575
|
575
|
die_if_not_set $LINENO SWIFT_USER_TEST1 "Failure creating SWIFT_USER_TEST1"
|
|
576
|
|
- get_or_add_user_role $ADMIN_ROLE $SWIFT_USER_TEST1 $SWIFT_TENANT_TEST1
|
|
|
576
|
+ get_or_add_user_role $admin_role $SWIFT_USER_TEST1 $swift_tenant_test1
|
|
577
|
577
|
|
|
578
|
|
- SWIFT_USER_TEST3=$(get_or_create_user swiftusertest3 $SWIFTUSERTEST3_PASSWORD \
|
|
579
|
|
- "$SWIFT_TENANT_TEST1" "test3@example.com")
|
|
580
|
|
- die_if_not_set $LINENO SWIFT_USER_TEST3 "Failure creating SWIFT_USER_TEST3"
|
|
581
|
|
- get_or_add_user_role $ANOTHER_ROLE $SWIFT_USER_TEST3 $SWIFT_TENANT_TEST1
|
|
|
578
|
+ local swift_user_test3=$(get_or_create_user swiftusertest3 $swiftusertest3_password \
|
|
|
579
|
+ "$swift_tenant_test1" "test3@example.com")
|
|
|
580
|
+ die_if_not_set $LINENO swift_user_test3 "Failure creating swift_user_test3"
|
|
|
581
|
+ get_or_add_user_role $ANOTHER_ROLE $swift_user_test3 $swift_tenant_test1
|
|
582
|
582
|
|
|
583
|
|
- SWIFT_TENANT_TEST2=$(get_or_create_project swifttenanttest2)
|
|
584
|
|
- die_if_not_set $LINENO SWIFT_TENANT_TEST2 "Failure creating SWIFT_TENANT_TEST2"
|
|
|
583
|
+ local swift_tenant_test2=$(get_or_create_project swifttenanttest2)
|
|
|
584
|
+ die_if_not_set $LINENO swift_tenant_test2 "Failure creating swift_tenant_test2"
|
|
585
|
585
|
|
|
586
|
|
- SWIFT_USER_TEST2=$(get_or_create_user swiftusertest2 $SWIFTUSERTEST2_PASSWORD \
|
|
587
|
|
- "$SWIFT_TENANT_TEST2" "test2@example.com")
|
|
588
|
|
- die_if_not_set $LINENO SWIFT_USER_TEST2 "Failure creating SWIFT_USER_TEST2"
|
|
589
|
|
- get_or_add_user_role $ADMIN_ROLE $SWIFT_USER_TEST2 $SWIFT_TENANT_TEST2
|
|
|
586
|
+ local swift_user_test2=$(get_or_create_user swiftusertest2 $swiftusertest2_password \
|
|
|
587
|
+ "$swift_tenant_test2" "test2@example.com")
|
|
|
588
|
+ die_if_not_set $LINENO swift_user_test2 "Failure creating swift_user_test2"
|
|
|
589
|
+ get_or_add_user_role $admin_role $swift_user_test2 $swift_tenant_test2
|
|
590
|
590
|
}
|
|
591
|
591
|
|
|
592
|
592
|
# init_swift() - Initialize rings
|
|
...
|
...
|
@@ -670,6 +674,7 @@ function start_swift {
|
|
670
|
670
|
# service so we can run it in foreground in screen. ``swift-init ...
|
|
671
|
671
|
# {stop|restart}`` exits with '1' if no servers are running, ignore it just
|
|
672
|
672
|
# in case
|
|
|
673
|
+ local todo type
|
|
673
|
674
|
swift-init --run-dir=${SWIFT_DATA_DIR}/run all restart || true
|
|
674
|
675
|
if [[ ${SWIFT_REPLICAS} == 1 ]]; then
|
|
675
|
676
|
todo="object container account"
|
|
...
|
...
|
@@ -691,6 +696,7 @@ function start_swift {
|
|
691
|
691
|
|
|
692
|
692
|
# stop_swift() - Stop running processes (non-screen)
|
|
693
|
693
|
function stop_swift {
|
|
|
694
|
+ local type
|
|
694
|
695
|
|
|
695
|
696
|
if [ "$SWIFT_USE_MOD_WSGI" == "True" ]; then
|
|
696
|
697
|
swift-init --run-dir=${SWIFT_DATA_DIR}/run rest stop && return 0
|