aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2017-04-07 10:50:39 +0100
committerSteven Hardy <shardy@redhat.com>2017-04-07 10:50:39 +0100
commit92b238ea1739340746d93baa73a791c61c3a5e6c (patch)
treeed6a97b71850c57a2f3104ec6dbd68cc836346d6
parent8897a23aa10978fb0ecf1b4e676247273473fca9 (diff)
Avoid awk error in hosts-config.sh for large deployments
This ports the fixes made to the legacy 51-hosts script, which this script is derived from, to tht. See related t-i-e patch Ibe0a9f6ec10d55750e3b0e16301236141f988d69 Change-Id: Ide922af93a5d185bd592e220327326f1d244c4e2 Closes-Bug: #1674732
-rwxr-xr-xscripts/hosts-config.sh18
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/hosts-config.sh b/scripts/hosts-config.sh
index f456b316..b3109a0c 100755
--- a/scripts/hosts-config.sh
+++ b/scripts/hosts-config.sh
@@ -13,14 +13,16 @@ write_entries() {
if grep -q "^# HEAT_HOSTS_START" "$file"; then
temp=$(mktemp)
- awk -v v="$entries" '/^# HEAT_HOSTS_START/ {
- print $0
- print v
- f=1
- }f &&!/^# HEAT_HOSTS_END$/{next}/^# HEAT_HOSTS_END$/{f=0}!f' "$file" > "$temp"
- echo "INFO: Updating hosts file $file, check below for changes"
- diff "$file" "$temp" || true
- cat "$temp" > "$file"
+ (
+ sed '/^# HEAT_HOSTS_START/,$d' "$file"
+ echo -ne "\n# HEAT_HOSTS_START - Do not edit manually within this section!\n"
+ echo "$entries"
+ echo -ne "# HEAT_HOSTS_END\n\n"
+ sed '1,/^# HEAT_HOSTS_END/d' "$file"
+ ) > "$temp"
+ echo "INFO: Updating hosts file $file, check below for changes"
+ diff "$file" "$temp" || true
+ cat "$temp" > "$file"
else
echo -ne "\n# HEAT_HOSTS_START - Do not edit manually within this section!\n" >> "$file"
echo "$entries" >> "$file"