promenade/charts/apiserver/templates/bin/_anchor.tpl
Mark Burnett 19a730a1c4 Fix: Update use of cmp to expect correct exit code
This update to the usage of `cmp` in the anchor scripts will cause the
scripts to overwrite existing manifests whenever differences are
detected.

This should only occur during genesis, but may occur if a file is
accidentily modified on a node and the anchor then checks the file for
changes.

Change-Id: Ic594fef2c5a5c30a5be3ccc7ab51efcd29c8cdcc
2017-12-01 14:46:35 -06:00

49 lines
1.2 KiB
Smarty

#!/bin/sh
# Copyright 2017 AT&T Intellectual Property. All other rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -x
compare_copy_files() {
{{range .Values.anchor.files_to_copy}}
if [ ! -e /host{{ .dest }} ] || ! cmp -s {{ .source }} /host{{ .dest }}; then
mkdir -p $(dirname /host{{ .dest }})
cp {{ .source }} /host{{ .dest }}
fi
{{end}}
}
cleanup() {
{{range .Values.anchor.files_to_copy}}
rm -f /host{{ .dest }}
{{end}}
}
while true; do
if [ -e /tmp/stop ]; then
echo Stopping
cleanup
break
fi
# Compare and replace files on Genesis host if needed
# Copy files to other master nodes
compare_copy_files
sleep {{ .Values.anchor.period }}
done