@ -297,6 +297,10 @@ GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$HOST_IP:9292}
# this.
SWIFT_DATA_LOCATION = ${ SWIFT_DATA_LOCATION :- ${ SWIFT_DIR } /data }
# We are going to have the configuration files inside the source
# directory, change SWIFT_CONFIG_LOCATION if you want to adjust that.
SWIFT_CONFIG_LOCATION = ${ SWIFT_CONFIG_LOCATION :- ${ SWIFT_DIR } /config }
# devstack will create a loop-back disk formatted as XFS to store the
# swift data. By default the disk size is 1 gigabyte. The variable
# SWIFT_LOOPBACK_DISK_SIZE specified in bytes allow you to change
@ -669,14 +673,21 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
# We now have to emulate a few different servers into one we
# create all the directories needed for swift
tmpd = ""
for d in ${ SWIFT_DATA_LOCATION } /drives/sdb1/{ 1..4} /etc/swift /etc/swift/{ object,container,account} -server \
for d in ${ SWIFT_DATA_LOCATION } /drives/sdb1/{ 1..4} \
${ SWIFT_CONFIG_LOCATION } /{ object,container,account} -server \
${ SWIFT_DATA_LOCATION } /{ 1..4} /node/sdb1 /var/run/swift ; do
[ [ -d $d ] ] && continue
sudo install -o ${ USER } -g $USER_GROUP -d $d
done
sudo chown -R $USER : ${ SWIFT_DATA_LOCATION } /{ 1..4} /node
# We do want to make sure this is all owned by our user.
sudo chown -R $USER : ${ SWIFT_DATA_LOCATION } /{ 1..4} /node
sudo chown -R $USER : ${ SWIFT_CONFIG_LOCATION }
# swift-init has a bug using /etc/swift until bug #885595 is fixed
# we have to create a link
sudo ln -s ${ SWIFT_CONFIG_LOCATION } /etc/swift
# Swift use rsync to syncronize between all the different
# partitions (which make more sense when you have a multi-node
# setup) we configure it with our version of rsync.
@ -699,10 +710,10 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
# We do the install of the proxy-server and swift configuration
# replacing a few directives to match our configuration.
sed " s /%USER%/$USER /;s/%SERVICE_TOKEN%/ ${ SERVICE_TOKEN } /;s/%AUTH_SERVER%/ ${ swift_auth_server } / " \
$FILES /swift/proxy-server.conf| sudo tee /etc/swift /proxy-server.conf
sed " s ,%SWIFT_CONFIG_LOCATION%,${ SWIFT_CONFIG_LOCATION } ,;s /%USER%/$USER /;s/%SERVICE_TOKEN%/ ${ SERVICE_TOKEN } /;s/%AUTH_SERVER%/ ${ swift_auth_server } / " \
$FILES /swift/proxy-server.conf| sudo tee ${ SWIFT_CONFIG_LOCATION } /proxy-server.conf
sed -e " s/%SWIFT_HASH%/ $SWIFT_HASH / " $FILES /swift/swift.conf > /etc/swift /swift.conf
sed -e " s/%SWIFT_HASH%/ $SWIFT_HASH / " $FILES /swift/swift.conf > ${ SWIFT_CONFIG_LOCATION } /swift.conf
# We need to generate a object/account/proxy configuration
# emulating 4 nodes on different ports we have a little function
@ -715,8 +726,8 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
for node_number in { 1..4} ; do
node_path = ${ SWIFT_DATA_LOCATION } /${ node_number }
sed -e " s,% USER%,$USER ,;s,%NODE_PATH%, ${ node_path } ,;s,%BIND_PORT%, ${ bind_port } ,;s,%LOG_FACILITY%, ${ log_facility } , " \
$FILES /swift/${ server_type } -server.conf > /etc/swift /${ server_type } -server/${ node_number } .conf
sed -e " s,% SWIFT_CONFIG_LOCATION%,${ SWIFT_CONFIG_LOCATION } ,;s,% USER%,$USER ,;s,%NODE_PATH%, ${ node_path } ,;s,%BIND_PORT%, ${ bind_port } ,;s,%LOG_FACILITY%, ${ log_facility } , " \
$FILES /swift/${ server_type } -server.conf > ${ SWIFT_CONFIG_LOCATION } /${ server_type } -server/${ node_number } .conf
bind_port = $(( ${ bind_port } + 10 ))
log_facility = $(( ${ log_facility } + 1 ))
done
@ -732,7 +743,7 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
# - swift-startmain
# Restart your full cluster.
#
sed -e " s /%SWIFT_PARTITION_POWER_SIZE%/$SWIFT_PARTITION_POWER_SIZE / " $FILES /swift/swift-remakerings | \
sed -e " s ,%SWIFT_CONFIG_LOCATION%,${ SWIFT_CONFIG_LOCATION } ,;s /%SWIFT_PARTITION_POWER_SIZE%/$SWIFT_PARTITION_POWER_SIZE / " $FILES /swift/swift-remakerings | \
sudo tee /usr/local/bin/swift-remakerings
sudo install -m755 $FILES /swift/swift-startmain /usr/local/bin/
sudo chmod +x /usr/local/bin/swift-*