From 1d9010cdb8a62f3b8d3018509c5c568b73cd15fd Mon Sep 17 00:00:00 2001 From: George Melikov Date: Tue, 19 May 2020 16:02:03 +0300 Subject: [PATCH] Change DHCP timeout Manila service network may be large and dnsmasq may be available slower than in 60 seconds. Change-Id: I27e625ecccec0b7294bf0022f11bbd36d8ace5b4 Signed-off-by: George Melikov --- bin/manila-image-create | 4 +++ .../environment.d/99-update-dhcp-config | 2 ++ .../install.d/99-update-dhcp-config | 28 +++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100755 elements/manila-ssh/environment.d/99-update-dhcp-config create mode 100755 elements/manila-ssh/install.d/99-update-dhcp-config diff --git a/bin/manila-image-create b/bin/manila-image-create index 2166bb3..21e9fad 100755 --- a/bin/manila-image-create +++ b/bin/manila-image-create @@ -27,6 +27,9 @@ MANILA_IMG_NAME=${MANILA_IMG_NAME:-"manila-service-image"} MANILA_SHARE_PROTO=${MANILA_SHARE_PROTO:-"default"} MANILA_DISTRO=${MANILA_DISTRO:-"ubuntu"} +#Misc settings +DHCP_TIMEOUT=${DHCP_TIMEOUT:-"300"} + # Path to elements SCRIPT_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -47,6 +50,7 @@ export DIB_RELEASE=$MANILA_IMG_OS_VER export DIB_MANILA_USER_USERNAME=$MANILA_USER export DIB_MANILA_USER_PASSWORD=$MANILA_PASSWORD export DIB_MANILA_USER_AUTHORIZED_KEYS=$MANILA_USER_AUTHORIZED_KEYS +export DIB_DHCP_TIMEOUT=$DHCP_TIMEOUT # CLI # --- diff --git a/elements/manila-ssh/environment.d/99-update-dhcp-config b/elements/manila-ssh/environment.d/99-update-dhcp-config new file mode 100755 index 0000000..c73d6e8 --- /dev/null +++ b/elements/manila-ssh/environment.d/99-update-dhcp-config @@ -0,0 +1,2 @@ +#!/bin/bash +export DIB_DHCP_TIMEOUT=${DIB_DHCP_TIMEOUT:-300} diff --git a/elements/manila-ssh/install.d/99-update-dhcp-config b/elements/manila-ssh/install.d/99-update-dhcp-config new file mode 100755 index 0000000..d673c86 --- /dev/null +++ b/elements/manila-ssh/install.d/99-update-dhcp-config @@ -0,0 +1,28 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +DHCP_TIMEOUT=${DIB_DHCP_TIMEOUT:-300} + +if [ -f /etc/dhcp/dhclient.conf ] ; then + # Set the dhclient timeout configurations to match DIB_DHCP_TIMEOUT, + if grep -o "^timeout " /etc/dhcp/dhclient.conf ; then + sed -i -e "s/^timeout .*/# \"timeout\" Value set by 99-update-dhcp-config\ntimeout ${DHCP_TIMEOUT};/" /etc/dhcp/dhclient.conf + else + echo -e "# \"timeout\" Value set by 99-update-dhcp-config\ntimeout ${DHCP_TIMEOUT};" >> /etc/dhcp/dhclient.conf + fi +fi + +DIB_INIT_SYSTEM=$(dib-init-system) +if [ "$DIB_INIT_SYSTEM" == "systemd" ] ; then + sudo cp /usr/lib/systemd/system/dhcp-interface@.service \ + /etc/systemd/system/dhcp-interface@.service + sudo sed -i "s/TimeoutStartSec=.*/TimeoutStartSec=${DHCP_TIMEOUT}s/" \ + /etc/systemd/system/dhcp-interface@.service +else + echo "Not supported for this init system" +fi