Generate MySQL client config if service requires database
[apex-tripleo-heat-templates.git] / tools / roles-data-validation.sh
1 #!/bin/bash
2 #
3 # Copyright 2017 Red Hat, Inc.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
15 # under the License.
16 #
17 set -e
18
19 SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
20 THT_DIR=${OUTPUT_DIR:-$(cd "${SCRIPT_DIR}/../" && pwd -P)}
21 TMPDIR=$(mktemp -d)
22
23 function do_cleanup {
24   rm -rf $TMPDIR
25 }
26 trap do_cleanup EXIT
27
28 function check_diff {
29   local thtfile=$1
30   local genfile=$2
31   echo -n "Performing diff on $thtfile $genfile... "
32   diff $thtfile $genfile > $TMPDIR/diff_results
33   if [ $? = 1 ]; then
34       echo "ERROR: Generated roles file not match the current ${thtfile}"
35       echo "Please make sure to update the appropriate roles/* files."
36       echo "Here is the diff ${thtfile} ${genfile}"
37       cat $TMPDIR/diff_results
38       exit 1
39   fi
40   echo "OK!"
41 }
42
43 OUTPUT_DIR=$TMPDIR
44 source $SCRIPT_DIR/roles-data-generate-samples.sh
45
46 set +e
47 check_diff $THT_DIR/roles_data.yaml $TMPDIR/roles_data.yaml
48 check_diff $THT_DIR/roles_data_undercloud.yaml $TMPDIR/roles_data_undercloud.yaml