0

如何将user_data脚本传递给 Python Heat-API 客户端。

我在创建过程中想要传递给实例的文件中有以下脚本user_data,但我不确定如何去做。我正在使用 Heat API 创建实例。下面的代码使用 heat 模板文件创建堆栈,没有user_data. 任何指针将不胜感激。

环境.yml

user_data:
     #!/bin/bash
     rpm install -y git vim 


template_file = 'heattemplate.yaml'
template = open(template_file, 'r')
stack = heat.stacks.create(stack_name='Tutorial', template=template.read(), parameters={})
4

1 回答 1

1

在您的 yaml Heat 模板上,您应该添加:

parameters:
  install_command:
    type: string
    description: Command to run from user_data
    default: #!/bin/bash rpm install -y git vim
...
myserver:
  type: OS::Nova::Server
  properties:
    ...
    user_data_format: RAW
    user_data: { get_param: install_command }

parameters = {}并从 Python 上的 create 行通过 , 传递新参数:

heat.stacks.create(stack_name='Tutorial', template=template.read(), 
    parameters={  'install_command': '...' })
于 2016-02-15T21:27:09.603 回答