Merge "BGPCEP-688: Install default config for bgp/bmp"
[releng/builder.git] / packer / provision / baseline.sh
index 2fa3473766d0aa1316776b60be5c0716141625e6..978296bb577415ebdce3b32e4e0414dd720577d4 100644 (file)
@@ -79,6 +79,10 @@ ensure_ubuntu_install() {
         # Retry installing package 5 times if necessary
         for i in {0..5}
         do
+
+            # Wait for any background apt processes to finish before running apt
+            while pgrep apt > /dev/null; do sleep 1; done
+
             echo "$i: Installing $pkg"
             if [ "$(dpkg-query -W -f='${Status}' "$pkg" 2>/dev/null | grep -c "ok installed")" -eq 0 ]; then
                 apt-cache policy "$pkg"
@@ -277,9 +281,6 @@ Dpkg::Options {
 
 EOF
 
-    # Add hostname to /etc/hosts to fix 'unable to resolve host' issue with sudo
-    sed -i "/127.0.0.1/s/$/ $(hostname)/" /etc/hosts
-
     echo "---> Updating operating system"
 
     # add additional repositories
@@ -440,6 +441,11 @@ all_systems() {
             echo "No extra steps for $FACTER_OS"
         ;;
     esac
+
+    # Update /etc/nss-switch.conf to map hostname with IP instead of using `localhost`
+    # from /etc/hosts which is required by some of the Java API's to avoid
+    # Java UnknownHostException: "Name or service not known" error.
+    sed -i "/^hosts:/s/$/ myhostname/" /etc/nsswitch.conf
 }
 
 echo "---> Attempting to detect OS"