Merge "Use yaml.safe_load to load YAML files"

This commit is contained in:
Zuul 2021-07-28 15:48:14 +00:00 committed by Gerrit Code Review
commit a332241b79
2 changed files with 22 additions and 19 deletions

View File

@ -58,7 +58,7 @@ def main():
output = opts.output output = opts.output
# We open the resource registry once # We open the resource registry once
resource_registry = "./overcloud-resource-registry-puppet.yaml" resource_registry = "./overcloud-resource-registry-puppet.yaml"
resource_reg = yaml.load(open(os.path.join(resource_registry), 'r')) resource_reg = yaml.safe_load(open(os.path.join(resource_registry), 'r'))
if (opts.all): if (opts.all):
# This means we will parse all the services defined # This means we will parse all the services defined
@ -73,7 +73,8 @@ def main():
# The service definition will be the same resource registry # The service definition will be the same resource registry
role_resources = resource_reg role_resources = resource_reg
else: else:
role_resources = yaml.load(open(os.path.join("./roles/", role + ".yaml"), 'r')) role_resources = yaml.safe_load(
open(os.path.join("./roles/", role + ".yaml"), 'r'))
for section_task in opts.ansible_tasks: for section_task in opts.ansible_tasks:
if(opts.all): if(opts.all):
@ -102,7 +103,8 @@ def main():
if('::' in config_file): if('::' in config_file):
print("This is a nested Heat resource") print("This is a nested Heat resource")
else: else:
data_source = yaml.load(open("./" + config_file, 'r')) data_source = yaml.safe_load(
open("./" + config_file, 'r'))
expression = engine( expression = engine(
"$.outputs.role_data.value.get(" + section_task + ").flatten().distinct()" "$.outputs.role_data.value.get(" + section_task + ").flatten().distinct()"
) )
@ -121,7 +123,8 @@ def main():
if exc.errno != errno.EEXIST: if exc.errno != errno.EEXIST:
raise raise
save = open(tasks_output_file, 'w+') save = open(tasks_output_file, 'w+')
yaml.dump(yaml.load(json.dumps(role_ansible_tasks)), save, default_flow_style=False) yaml.dump(yaml.safe_load(json.dumps(role_ansible_tasks)),
save, default_flow_style=False)
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -292,18 +292,18 @@ def compare_parameters(old_impl_path, new_impl_path):
new_impl_params = [] new_impl_params = []
for filename in glob.glob(old_impl_path + "/*.yaml"): for filename in glob.glob(old_impl_path + "/*.yaml"):
with open(filename, 'r') as f: with open(filename, 'r') as f:
tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) tpl = yaml.safe_load(f.read())
old_impl_params.extend(tpl["parameters"].keys()) old_impl_params.extend(tpl["parameters"].keys())
for filename in glob.glob(new_impl_path + "/*.yaml"): for filename in glob.glob(new_impl_path + "/*.yaml"):
with open(filename, 'r') as f: with open(filename, 'r') as f:
tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) tpl = yaml.safe_load(f.read())
new_impl_params.extend(tpl["parameters"].keys()) new_impl_params.extend(tpl["parameters"].keys())
return set(old_impl_params).difference(set(new_impl_params)) return set(old_impl_params).difference(set(new_impl_params))
def validate_role_name(filename): def validate_role_name(filename):
with open(filename, 'r') as f: with open(filename, 'r') as f:
tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) tpl = yaml.safe_load(f.read())
role_data = tpl[0] role_data = tpl[0]
if role_data['name'] != os.path.basename(filename).split('.')[0]: if role_data['name'] != os.path.basename(filename).split('.')[0]:
@ -319,7 +319,7 @@ def validate_hci_compute_services_default(env_filename, env_tpl):
roles_filename = os.path.join(os.path.dirname(env_filename), roles_filename = os.path.join(os.path.dirname(env_filename),
'../roles/Compute.yaml') '../roles/Compute.yaml')
with open(roles_filename, 'r') as f: with open(roles_filename, 'r') as f:
roles_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) roles_tpl = yaml.safe_load(f.read())
for role in roles_tpl: for role in roles_tpl:
if role['name'] == 'Compute': if role['name'] == 'Compute':
@ -335,7 +335,7 @@ def validate_hci_computehci_role(hci_role_filename, hci_role_tpl):
compute_role_filename = os.path.join(os.path.dirname(hci_role_filename), compute_role_filename = os.path.join(os.path.dirname(hci_role_filename),
'./Compute.yaml') './Compute.yaml')
with open(compute_role_filename, 'r') as f: with open(compute_role_filename, 'r') as f:
compute_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) compute_role_tpl = yaml.safe_load(f.read())
compute_role_services = compute_role_tpl[0]['ServicesDefault'] compute_role_services = compute_role_tpl[0]['ServicesDefault']
for role in hci_role_tpl: for role in hci_role_tpl:
@ -353,7 +353,7 @@ def validate_controller_dashboard(filename, tpl):
control_role_filename = os.path.join(os.path.dirname(filename), control_role_filename = os.path.join(os.path.dirname(filename),
'./Controller.yaml') './Controller.yaml')
with open(control_role_filename, 'r') as f: with open(control_role_filename, 'r') as f:
control_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) control_role_tpl = yaml.safe_load(f.read())
control_role_services = control_role_tpl[0]['ServicesDefault'] control_role_services = control_role_tpl[0]['ServicesDefault']
for role in tpl: for role in tpl:
@ -370,7 +370,7 @@ def validate_controller_storage_nfs(filename, tpl, exclude_service=()):
control_role_filename = os.path.join(os.path.dirname(filename), control_role_filename = os.path.join(os.path.dirname(filename),
'./Controller.yaml') './Controller.yaml')
with open(control_role_filename, 'r') as f: with open(control_role_filename, 'r') as f:
control_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) control_role_tpl = yaml.safe_load(f.read())
control_role_services = control_role_tpl[0]['ServicesDefault'] control_role_services = control_role_tpl[0]['ServicesDefault']
for role in tpl: for role in tpl:
@ -389,7 +389,7 @@ def validate_hci_role(hci_role_filename, hci_role_tpl):
compute_role_filename = \ compute_role_filename = \
os.path.join(os.path.dirname(hci_role_filename), './Compute.yaml') os.path.join(os.path.dirname(hci_role_filename), './Compute.yaml')
with open(compute_role_filename, 'r') as f: with open(compute_role_filename, 'r') as f:
compute_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) compute_role_tpl = yaml.safe_load(f.read())
compute_role_services = compute_role_tpl[0]['ServicesDefault'] compute_role_services = compute_role_tpl[0]['ServicesDefault']
for role in hci_role_tpl: for role in hci_role_tpl:
@ -428,7 +428,7 @@ def validate_ceph_role(ceph_role_filename, ceph_role_tpl):
ceph_storage_role_filename = \ ceph_storage_role_filename = \
os.path.join(os.path.dirname(ceph_role_filename), './CephStorage.yaml') os.path.join(os.path.dirname(ceph_role_filename), './CephStorage.yaml')
with open(ceph_storage_role_filename, 'r') as f: with open(ceph_storage_role_filename, 'r') as f:
ceph_storage_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) ceph_storage_role_tpl = yaml.safe_load(f.read())
ceph_storage_role_services = ceph_storage_role_tpl[0]['ServicesDefault'] ceph_storage_role_services = ceph_storage_role_tpl[0]['ServicesDefault']
for role in ceph_role_tpl: for role in ceph_role_tpl:
@ -459,7 +459,7 @@ def validate_controller_no_ceph_role(filename, tpl):
control_role_filename = os.path.join(os.path.dirname(filename), control_role_filename = os.path.join(os.path.dirname(filename),
'./Controller.yaml') './Controller.yaml')
with open(control_role_filename, 'r') as f: with open(control_role_filename, 'r') as f:
control_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) control_role_tpl = yaml.safe_load(f.read())
control_role_services = control_role_tpl[0]['ServicesDefault'] control_role_services = control_role_tpl[0]['ServicesDefault']
for role in tpl: for role in tpl:
@ -482,7 +482,7 @@ def validate_with_compute_role_services(role_filename, role_tpl, exclude_service
cmpt_filename = os.path.join(os.path.dirname(role_filename), cmpt_filename = os.path.join(os.path.dirname(role_filename),
'./Compute.yaml') './Compute.yaml')
with open(cmpt_filename, 'r') as f: with open(cmpt_filename, 'r') as f:
cmpt_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) cmpt_tpl = yaml.safe_load(f.read())
cmpt_services = cmpt_tpl[0]['ServicesDefault'] cmpt_services = cmpt_tpl[0]['ServicesDefault']
cmpt_services = [x for x in cmpt_services if (x not in exclude_service)] cmpt_services = [x for x in cmpt_services if (x not in exclude_service)]
@ -621,7 +621,7 @@ def validate_docker_service_mysql_usage(filename, tpl):
os.path.exists(newfilename.replace('.yaml', '.j2.yaml')): os.path.exists(newfilename.replace('.yaml', '.j2.yaml')):
return # Skip for now if it's templated return # Skip for now if it's templated
with open(newfilename, 'r') as newfile: with open(newfilename, 'r') as newfile:
newtmp = yaml.load(newfile.read(), Loader=yaml.SafeLoader) newtmp = yaml.safe_load(newfile.read())
read_all(newfilename, newtmp) read_all(newfilename, newtmp)
read_all(filename, tpl) read_all(filename, tpl)
@ -1080,7 +1080,7 @@ def validate(filename, param_map):
retval = 0 retval = 0
try: try:
with open(filename, 'r') as f: with open(filename, 'r') as f:
tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) tpl = yaml.safe_load(f.read())
is_heat_template = 'heat_template_version' in tpl is_heat_template = 'heat_template_version' in tpl
@ -1274,11 +1274,11 @@ def validate_upgrade_tasks(upgrade_tasks):
def validate_network_data_file(data_file_path): def validate_network_data_file(data_file_path):
try: try:
with open(data_file_path, 'r') as data_file: with open(data_file_path, 'r') as data_file:
data_file = yaml.load(data_file.read(), Loader=yaml.SafeLoader) data_file = yaml.safe_load(data_file.read())
base_file_path = os.path.dirname(data_file_path) + "/network_data.yaml" base_file_path = os.path.dirname(data_file_path) + "/network_data.yaml"
with open(base_file_path, 'r') as base_file: with open(base_file_path, 'r') as base_file:
base_file = yaml.load(base_file.read(), Loader=yaml.SafeLoader) base_file = yaml.safe_load(base_file.read())
retval = 0 retval = 0
for n in base_file: for n in base_file: