Merge "Clean up Nova API prereq"
diff --git a/functions b/functions
index 1590166..0bbf477 100644
--- a/functions
+++ b/functions
@@ -1356,5 +1356,5 @@
# Local variables:
-# -*- mode: Shell-script -*-
+# mode: shell-script
# End:
diff --git a/lib/baremetal b/lib/baremetal
index 5326dd1..24cce9f 100644
--- a/lib/baremetal
+++ b/lib/baremetal
@@ -434,3 +434,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/ceilometer b/lib/ceilometer
index d90694c..58cafd1 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -138,3 +138,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/cinder b/lib/cinder
index 7688ad9..710d942 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -123,9 +123,6 @@
# configure_cinder() - Set config files, create data dirs, etc
function configure_cinder() {
- setup_develop $CINDER_DIR
- setup_develop $CINDERCLIENT_DIR
-
if [[ ! -d $CINDER_CONF_DIR ]]; then
sudo mkdir -p $CINDER_CONF_DIR
fi
@@ -367,7 +364,10 @@
# install_cinder() - Collect source and prepare
function install_cinder() {
git_clone $CINDER_REPO $CINDER_DIR $CINDER_BRANCH
+ setup_develop $CINDER_DIR
+
git_clone $CINDERCLIENT_REPO $CINDERCLIENT_DIR $CINDERCLIENT_BRANCH
+ setup_develop $CINDERCLIENT_DIR
}
# apply config.d approach (e.g. Oneiric does not have this)
@@ -431,3 +431,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/database b/lib/database
index 79b77a2..cbe886f 100644
--- a/lib/database
+++ b/lib/database
@@ -114,3 +114,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/databases/mysql b/lib/databases/mysql
index 0633ab0..30450b1 100644
--- a/lib/databases/mysql
+++ b/lib/databases/mysql
@@ -139,3 +139,7 @@
# Restore xtrace
$MY_XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/databases/postgresql b/lib/databases/postgresql
index efc206f..b64de2c 100644
--- a/lib/databases/postgresql
+++ b/lib/databases/postgresql
@@ -90,3 +90,7 @@
# Restore xtrace
$PG_XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/glance b/lib/glance
index edf6982..3376400 100644
--- a/lib/glance
+++ b/lib/glance
@@ -62,15 +62,8 @@
sudo rm -rf $GLANCE_CACHE_DIR $GLANCE_IMAGE_DIR $GLANCE_AUTH_CACHE_DIR
}
-# configure_glanceclient() - Set config files, create data dirs, etc
-function configure_glanceclient() {
- setup_develop $GLANCECLIENT_DIR
-}
-
# configure_glance() - Set config files, create data dirs, etc
function configure_glance() {
- setup_develop $GLANCE_DIR
-
if [[ ! -d $GLANCE_CONF_DIR ]]; then
sudo mkdir -p $GLANCE_CONF_DIR
fi
@@ -116,6 +109,15 @@
iniset_rpc_backend glance $GLANCE_API_CONF DEFAULT
iniset $GLANCE_API_CONF keystone_authtoken signing_dir $GLANCE_AUTH_CACHE_DIR/api
+ # Store the images in swift if enabled.
+ if is_service_enabled s-proxy; then
+ iniset $GLANCE_API_CONF DEFAULT default_store swift
+ iniset $GLANCE_API_CONF DEFAULT swift_store_auth_address $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/
+ iniset $GLANCE_API_CONF DEFAULT swift_store_user $SERVICE_TENANT_NAME:glance
+ iniset $GLANCE_API_CONF DEFAULT swift_store_key $SERVICE_PASSWORD
+ iniset $GLANCE_API_CONF DEFAULT swift_store_create_container_on_put True
+ fi
+
cp -p $GLANCE_DIR/etc/glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI
cp -p $GLANCE_DIR/etc/glance-api-paste.ini $GLANCE_API_PASTE_INI
@@ -171,11 +173,13 @@
# install_glanceclient() - Collect source and prepare
function install_glanceclient() {
git_clone $GLANCECLIENT_REPO $GLANCECLIENT_DIR $GLANCECLIENT_BRANCH
+ setup_develop $GLANCECLIENT_DIR
}
# install_glance() - Collect source and prepare
function install_glance() {
git_clone $GLANCE_REPO $GLANCE_DIR $GLANCE_BRANCH
+ setup_develop $GLANCE_DIR
}
# start_glance() - Start running processes, including screen
@@ -197,3 +201,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/heat b/lib/heat
index 56d6f39..88535c3 100644
--- a/lib/heat
+++ b/lib/heat
@@ -184,3 +184,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/horizon b/lib/horizon
index bc739ed..b63e1f8 100644
--- a/lib/horizon
+++ b/lib/horizon
@@ -178,3 +178,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/keystone b/lib/keystone
index 805cb6f..0fbc7d7 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -75,15 +75,8 @@
:
}
-# configure_keystoneclient() - Set config files, create data dirs, etc
-function configure_keystoneclient() {
- setup_develop $KEYSTONECLIENT_DIR
-}
-
# configure_keystone() - Set config files, create data dirs, etc
function configure_keystone() {
- setup_develop $KEYSTONE_DIR
-
if [[ ! -d $KEYSTONE_CONF_DIR ]]; then
sudo mkdir -p $KEYSTONE_CONF_DIR
fi
@@ -305,6 +298,7 @@
# install_keystoneclient() - Collect source and prepare
function install_keystoneclient() {
git_clone $KEYSTONECLIENT_REPO $KEYSTONECLIENT_DIR $KEYSTONECLIENT_BRANCH
+ setup_develop $KEYSTONECLIENT_DIR
}
# install_keystone() - Collect source and prepare
@@ -314,6 +308,7 @@
install_ldap
fi
git_clone $KEYSTONE_REPO $KEYSTONE_DIR $KEYSTONE_BRANCH
+ setup_develop $KEYSTONE_DIR
}
# start_keystone() - Start running processes, including screen
@@ -346,3 +341,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/ldap b/lib/ldap
index 9d415c5..53f6837 100644
--- a/lib/ldap
+++ b/lib/ldap
@@ -76,3 +76,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/nova b/lib/nova
index 46eeea4..91fe028 100644
--- a/lib/nova
+++ b/lib/nova
@@ -663,6 +663,11 @@
screen_it n-xvnc "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-xvpvncproxy --config-file $NOVA_CONF"
screen_it n-spice "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-spicehtml5proxy --config-file $NOVA_CONF --web $SPICE_DIR"
screen_it n-cauth "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-consoleauth"
+
+ # Starting the nova-objectstore only if swift3 service is not enabled.
+ # Swift will act as s3 objectstore.
+ is_service_enabled swift3 || \
+ screen_it n-obj "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-objectstore"
}
# stop_nova() - Stop running processes (non-screen)
@@ -675,3 +680,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/quantum b/lib/quantum
index efdd43d..61b89f7 100644
--- a/lib/quantum
+++ b/lib/quantum
@@ -761,3 +761,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/rpc_backend b/lib/rpc_backend
index bbd51f0..d08cb01 100644
--- a/lib/rpc_backend
+++ b/lib/rpc_backend
@@ -159,3 +159,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/swift b/lib/swift
index d50b554..3e7ee20 100644
--- a/lib/swift
+++ b/lib/swift
@@ -79,9 +79,9 @@
# Port bases used in port number calclution for the service "nodes"
# The specified port number will be used, the additinal ports calculated by
# base_port + node_num * 10
-OBJECT_PORT_BASE=6013
-CONTAINER_PORT_BASE=6011
-ACCOUNT_PORT_BASE=6012
+OBJECT_PORT_BASE=${OBJECT_PORT_BASE:-6013}
+CONTAINER_PORT_BASE=${CONTAINER_PORT_BASE:-6011}
+ACCOUNT_PORT_BASE=${ACCOUNT_PORT_BASE:-6012}
# Entry Points
@@ -111,54 +111,8 @@
# Make sure to kill all swift processes first
swift-init --run-dir=${SWIFT_DATA_DIR}/run all stop || true
- # First do a bit of setup by creating the directories and
- # changing the permissions so we can run it as our user.
-
- USER_GROUP=$(id -g)
- sudo mkdir -p ${SWIFT_DATA_DIR}/{drives,cache,run,logs}
- sudo chown -R $USER:${USER_GROUP} ${SWIFT_DATA_DIR}
-
- # Create a loopback disk and format it to XFS.
- if [[ -e ${SWIFT_DATA_DIR}/drives/images/swift.img ]]; then
- if egrep -q ${SWIFT_DATA_DIR}/drives/sdb1 /proc/mounts; then
- sudo umount ${SWIFT_DATA_DIR}/drives/sdb1
- sudo rm -f ${SWIFT_DATA_DIR}/drives/images/swift.img
- fi
- fi
-
- mkdir -p ${SWIFT_DATA_DIR}/drives/images
- sudo touch ${SWIFT_DATA_DIR}/drives/images/swift.img
- sudo chown $USER: ${SWIFT_DATA_DIR}/drives/images/swift.img
-
- dd if=/dev/zero of=${SWIFT_DATA_DIR}/drives/images/swift.img \
- bs=1024 count=0 seek=${SWIFT_LOOPBACK_DISK_SIZE}
-
- # Make a fresh XFS filesystem
- mkfs.xfs -f -i size=1024 ${SWIFT_DATA_DIR}/drives/images/swift.img
-
- # Mount the disk with mount options to make it as efficient as possible
- mkdir -p ${SWIFT_DATA_DIR}/drives/sdb1
- if ! egrep -q ${SWIFT_DATA_DIR}/drives/sdb1 /proc/mounts; then
- sudo mount -t xfs -o loop,noatime,nodiratime,nobarrier,logbufs=8 \
- ${SWIFT_DATA_DIR}/drives/images/swift.img ${SWIFT_DATA_DIR}/drives/sdb1
- fi
-
- # Create a link to the above mount and
- # create all of the directories needed to emulate a few different servers
- for node_number in ${SWIFT_REPLICAS_SEQ}; do
- sudo ln -sf ${SWIFT_DATA_DIR}/drives/sdb1/$node_number ${SWIFT_DATA_DIR}/$node_number;
- drive=${SWIFT_DATA_DIR}/drives/sdb1/${node_number}
- node=${SWIFT_DATA_DIR}/${node_number}/node
- node_device=${node}/sdb1
- [[ -d $node ]] && continue
- [[ -d $drive ]] && continue
- sudo install -o ${USER} -g $USER_GROUP -d $drive
- sudo install -o ${USER} -g $USER_GROUP -d $node_device
- sudo chown -R $USER: ${node}
- done
-
- sudo mkdir -p ${SWIFT_CONF_DIR}/{object,container,account}-server
- sudo chown -R $USER: ${SWIFT_CONF_DIR}
+ sudo mkdir -p ${SWIFT_CONF_DIR}/{object,container,account}-server
+ sudo chown -R $USER: ${SWIFT_CONF_DIR}
if [[ "$SWIFT_CONF_DIR" != "/etc/swift" ]]; then
# Some swift tools are hard-coded to use ``/etc/swift`` and are apparently not going to be fixed.
@@ -332,12 +286,66 @@
setup_develop $SWIFTCLIENT_DIR
}
+# create_swift_disk - Create Swift backing disk
+function create_swift_disk() {
+ local node_number
+
+ # First do a bit of setup by creating the directories and
+ # changing the permissions so we can run it as our user.
+
+ USER_GROUP=$(id -g)
+ sudo mkdir -p ${SWIFT_DATA_DIR}/{drives,cache,run,logs}
+ sudo chown -R $USER:${USER_GROUP} ${SWIFT_DATA_DIR}
+
+ # Create a loopback disk and format it to XFS.
+ if [[ -e ${SWIFT_DATA_DIR}/drives/images/swift.img ]]; then
+ if egrep -q ${SWIFT_DATA_DIR}/drives/sdb1 /proc/mounts; then
+ sudo umount ${SWIFT_DATA_DIR}/drives/sdb1
+ sudo rm -f ${SWIFT_DATA_DIR}/drives/images/swift.img
+ fi
+ fi
+
+ mkdir -p ${SWIFT_DATA_DIR}/drives/images
+ sudo touch ${SWIFT_DATA_DIR}/drives/images/swift.img
+ sudo chown $USER: ${SWIFT_DATA_DIR}/drives/images/swift.img
+
+ dd if=/dev/zero of=${SWIFT_DATA_DIR}/drives/images/swift.img \
+ bs=1024 count=0 seek=${SWIFT_LOOPBACK_DISK_SIZE}
+
+ # Make a fresh XFS filesystem
+ mkfs.xfs -f -i size=1024 ${SWIFT_DATA_DIR}/drives/images/swift.img
+
+ # Mount the disk with mount options to make it as efficient as possible
+ mkdir -p ${SWIFT_DATA_DIR}/drives/sdb1
+ if ! egrep -q ${SWIFT_DATA_DIR}/drives/sdb1 /proc/mounts; then
+ sudo mount -t xfs -o loop,noatime,nodiratime,nobarrier,logbufs=8 \
+ ${SWIFT_DATA_DIR}/drives/images/swift.img ${SWIFT_DATA_DIR}/drives/sdb1
+ fi
+
+ # Create a link to the above mount and
+ # create all of the directories needed to emulate a few different servers
+ for node_number in ${SWIFT_REPLICAS_SEQ}; do
+ sudo ln -sf ${SWIFT_DATA_DIR}/drives/sdb1/$node_number ${SWIFT_DATA_DIR}/$node_number;
+ drive=${SWIFT_DATA_DIR}/drives/sdb1/${node_number}
+ node=${SWIFT_DATA_DIR}/${node_number}/node
+ node_device=${node}/sdb1
+ [[ -d $node ]] && continue
+ [[ -d $drive ]] && continue
+ sudo install -o ${USER} -g $USER_GROUP -d $drive
+ sudo install -o ${USER} -g $USER_GROUP -d $node_device
+ sudo chown -R $USER: ${node}
+ done
+}
+
# init_swift() - Initialize rings
function init_swift() {
local node_number
# Make sure to kill all swift processes first
swift-init --run-dir=${SWIFT_DATA_DIR}/run all stop || true
+ # Forcibly re-create the backing filesystem
+ create_swift_disk
+
# This is where we create three different rings for swift with
# different object servers binding on different ports.
pushd ${SWIFT_CONF_DIR} >/dev/null && {
@@ -421,3 +429,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/tempest b/lib/tempest
index 85e643e..c1dc3a3 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -294,3 +294,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/template b/lib/template
index 02de5ce..72904fe 100644
--- a/lib/template
+++ b/lib/template
@@ -78,3 +78,7 @@
# Restore xtrace
$XTRACE
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/lib/tls b/lib/tls
index 202edef..fb8f4b9 100644
--- a/lib/tls
+++ b/lib/tls
@@ -316,3 +316,7 @@
stud $STUD_PROTO -f $f_host,$f_port -b $b_host,$b_port $DEVSTACK_CERT 2>/dev/null
}
+
+# Local variables:
+# mode: shell-script
+# End:
diff --git a/stack.sh b/stack.sh
index 0407c30..e665450 100755
--- a/stack.sh
+++ b/stack.sh
@@ -627,7 +627,6 @@
echo_summary "Configuring OpenStack projects"
# Set up our checkouts so they are installed in the python path
-configure_keystoneclient
configure_novaclient
setup_develop $OPENSTACKCLIENT_DIR
@@ -647,10 +646,6 @@
configure_glance
fi
-# Do this _after_ glance is installed to override the old binary
-# TODO(dtroyer): figure out when this is no longer necessary
-configure_glanceclient
-
if is_service_enabled nova; then
# First clean up old instances
cleanup_nova
@@ -826,17 +821,7 @@
if is_service_enabled g-reg; then
echo_summary "Configuring Glance"
-
init_glance
-
- # Store the images in swift if enabled.
- if is_service_enabled s-proxy; then
- iniset $GLANCE_API_CONF DEFAULT default_store swift
- iniset $GLANCE_API_CONF DEFAULT swift_store_auth_address $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/
- iniset $GLANCE_API_CONF DEFAULT swift_store_user $SERVICE_TENANT_NAME:glance
- iniset $GLANCE_API_CONF DEFAULT swift_store_key $SERVICE_PASSWORD
- iniset $GLANCE_API_CONF DEFAULT swift_store_create_container_on_put True
- fi
fi
@@ -1065,12 +1050,6 @@
start_ceilometer
fi
-# Starting the nova-objectstore only if swift3 service is not enabled.
-# Swift will act as s3 objectstore.
-is_service_enabled swift3 || \
- screen_it n-obj "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-objectstore"
-
-
# Configure and launch heat engine, api and metadata
if is_service_enabled heat; then
# Initialize heat, including replacing nova flavors
diff --git a/stackrc b/stackrc
index f35cdc0..5a4c580 100644
--- a/stackrc
+++ b/stackrc
@@ -221,3 +221,7 @@
# Compatibility until it's eradicated from CI
USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN}
+
+# Local variables:
+# mode: shell-script
+# End: