tripleo-heat-templates/tools/yaml-diff.py
Harald Jensås 218582c4cc Make krb-service-principal metadata per-Role
Not all roles are connected to all networks, there is no
need to create metadata for networks not associated with
the role.

In edge/spine-and-leaf deployments the total number of
composable networks used can be high. Passing all the
networks we quickly go beyond the nova metadata fields
size limit (each field cannot exceed 256 bytes).

Also update tools/check-up-to-date.sh script to use the
simple yaml-diff.py instead of diff. The env generator
code will sort data, while jinja rendered environments
are not sorted, thus need to diff the data in yaml not
the text.

Conflicts:
    environments/ssl/enable-internal-tls.j2.yaml

Closes-Bug: #1821377
Change-Id: I5ae3bc845b0a6ad6986d44b14ff4b0737a9b033b
(cherry picked from commit d5ecc1f651)
2019-05-29 10:42:19 +02:00

33 lines
925 B
Python
Executable File

#!/usr/bin/env python
# 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.
import sys
import yaml
if len(sys.argv) != 3:
raise RuntimeError('Not enough arguemnts')
FILE_A = sys.argv[1]
FILE_B = sys.argv[2]
with open(FILE_A, 'r') as file_a:
a = yaml.safe_load(file_a)
with open(FILE_B, 'r') as file_b:
b = yaml.safe_load(file_b)
if a != b:
sys.exit("Files are different")
sys.exit(0)