From ba5f49c592a8e2bc8dfbf60e12c3945cca3061fc Mon Sep 17 00:00:00 2001 From: Diaa Sami Date: Fri, 20 Aug 2021 22:24:38 +0200 Subject: [PATCH] Return error when write_files exists in cloud-init (#1644) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Return error when write_files exists in cloud-init Since the script adds a `write_files` key in cloud-init user-data, it should return error if this key already exist in the input file. Co-authored-by: Ondřej Budai --- tools/gen-user-data | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/gen-user-data b/tools/gen-user-data index e176091ea..cbb8d9b3d 100755 --- a/tools/gen-user-data +++ b/tools/gen-user-data @@ -29,6 +29,7 @@ import json import os import stat import sys +import yaml def octal_mode_string(mode): @@ -62,7 +63,12 @@ def main(): }) with open(f"{args.configdir}/user-data.yml") as f: - sys.stdout.write(f.read()) + yml = f.read() + o = yaml.safe_load(yml) + if "write_files" in o: + print("Input file should not contain `write_files`", file=sys.stderr) + return 1 + sys.stdout.write(yml) sys.stdout.write("write_files: ") json.dump(write_files, sys.stdout) sys.stdout.write("\n")