Вложенные шаблоны yaml для создания стека в python

У меня есть шаблон yaml (давайте назовем его main.yaml), который вызывает другой шаблон yaml, как показано ниже. шаблон VM1.yaml - это обычный шаблон, который создает другой стек. (Это будет как вложенный шаблон)

main.yaml

resources:
  VM1:
    type: OS::Heat::Stack
    properties:
      template: {get_file: vm/VM1.yaml}
      parameters:
        name: { list_join: ["_", [ { get_param: 'OS::stack_name' }, "VM1"]] }

Ниже приведена структура папок

  1. StackCreation.py => это вызывает создание стека с использованием MAIN_VM1_MOUNTED.yaml
  2. MAIN_VM1_MOUNTED.yaml
  3. VM / VM1.yaml
  4. vm / parameter.yaml => это файл параметров, в который я передаю параметры.

    template_file = 'MAIN_VM1_MOUNTED.yaml'
    template = open(template_file, 'r')
    stack_name = 'HeenaStack' + sys.argv[5]
    
    heat_parameters = open('vm/parameter.yaml')
    temp_params = yaml.load(heat_parameters)
    heat_parameters.close()
    
    try:
        #hc.stacks.create(stack_name=stack_name, template=template.read(), parameters=temp_params["parameters"])
        stackCreate = hc.stacks.create(stack_name=stack_name, template=template.read(), parameters=temp_params["parameters"])
        print("Stack Created successfully", "Stack ID:", str(hc.stacks.get(stack_name).id))
    

Когда я запускаю создание стека openstack с помощью этих вложенных шаблонов yaml, стек создается успешно. То же самое не происходит в питоне. Я получаю ниже ошибки.

Bad request :  {'explanation': 'The server could not comply with the request since it is either malformed or otherwise incorrect.', 'code': 400, 'error': {'message': 'Property error: : resources.VM1.properties.template: : No content found in the "files" section for get_file path: C:/Users/xxx/PycharmProjects/xxx/vm/VM1.yaml', 'traceback': None, 'type': 'StackValidationFailed'}, 'title': 'Bad Request'

Я не понимаю, что мне нужно делать.

1 ответ

Решение

Решил это используя файлы, template = template_utils.process_template_path(template_file)

Другие вопросы по тегам