CLOUDSTACK-7143: cleanup configure_networking.sh code

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/71c913c6
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/71c913c6
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/71c913c6

Branch: refs/heads/master
Commit: 71c913c658583844a57c53ad5b997b4f1b414ea2
Parents: a533de7
Author: Leo Simons <lsim...@schubergphilis.com>
Authored: Mon Jul 21 11:42:27 2014 +0200
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Mon Sep 22 21:34:47 2014 +0200

----------------------------------------------------------------------
 .../systemvmtemplate/configure_networking.sh    | 43 +++++++++++++++-----
 1 file changed, 32 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/71c913c6/tools/appliance/definitions/systemvmtemplate/configure_networking.sh
----------------------------------------------------------------------
diff --git 
a/tools/appliance/definitions/systemvmtemplate/configure_networking.sh 
b/tools/appliance/definitions/systemvmtemplate/configure_networking.sh
index 4d1fcce..1d9f6b9 100644
--- a/tools/appliance/definitions/systemvmtemplate/configure_networking.sh
+++ b/tools/appliance/definitions/systemvmtemplate/configure_networking.sh
@@ -1,25 +1,46 @@
+#!/bin/bash
+
+set -e
+set -x
+
 HOSTNAME=systemvm
 
-echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
-echo "pre-up sleep 2" >> /etc/network/interfaces
+# Adding a 2 sec delay to the interface up, to make the dhclient happy
+function set_interface_sleep() {
+  grep "pre-up sleep 2" /etc/network/interfaces && return
+
+  echo "pre-up sleep 2" >> /etc/network/interfaces
+}
+
+function configure_resolv_conf() {
+  grep 8.8.8.8 /etc/resolv.conf && grep 8.8.4.4 /etc/resolv.conf && return
 
-fix_nameserver() {
-  # Replace /etc/resolv.conf also
   cat > /etc/resolv.conf << EOF
 nameserver 8.8.8.8
 nameserver 8.8.4.4
 EOF
 }
 
-fix_hostname() {
-  # Fix hostname in openssh-server generated keys
+# Delete entry in /etc/hosts derived from dhcp
+function delete_dhcp_ip() {
+  result=$(grep 127.0.1.1 /etc/hosts || true)
+  [ "${result}" == "" ] && return
+
+  sed -i '/127.0.1.1/d' /etc/hosts
+}
+
+function configure_hostname() {
   sed -i "s/root@\(.*\)$/root@$HOSTNAME/g" /etc/ssh/ssh_host_*.pub
-  # Fix hostname to override one provided by dhcp during vm build
+
   echo "$HOSTNAME" > /etc/hostname
   hostname $HOSTNAME
-  # Delete entry in /etc/hosts derived from dhcp
-  sed -i '/127.0.1.1/d' /etc/hosts
 }
 
-fix_hostname
-fix_nameserver
+function configure_networking() {
+  set_interface_sleep
+  configure_resolv_conf
+  delete_dhcp_ip
+  configure_hostname
+}
+
+return 2>/dev/null || configure_networking

Reply via email to