Ensure hostname resolves correctly
rabbitmq hangs on startup if the unqualified hostname for the
system doesn't resolve properly. This change ensures that the
hostname is added to /etc/hosts so that will never happen with
devstack.
Change-Id: I2c250f38f9feb18d1a59f3a457c6d01c1d98499c
diff --git a/stack.sh b/stack.sh
index ce5fbd4..3ee6b1c 100755
--- a/stack.sh
+++ b/stack.sh
@@ -234,6 +234,13 @@
# a basic test for $DEST path permissions (fatal on error unless skipped)
check_path_perm_sanity ${DEST}
+# Certain services such as rabbitmq require that the local hostname resolves
+# correctly. Make sure it exists in /etc/hosts so that is always true.
+LOCAL_HOSTNAME=`hostname -s`
+if [ -z "`grep ^127.0.0.1 /etc/hosts | grep $LOCAL_HOSTNAME`" ]; then
+ sudo sed -i "s/\(^127.0.0.1.*\)/\1 $LOCAL_HOSTNAME/" /etc/hosts
+fi
+
# Set ``OFFLINE`` to ``True`` to configure ``stack.sh`` to run cleanly without
# Internet access. ``stack.sh`` must have been previously run with Internet
# access to install prerequisites and fetch repositories.