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

时间:2016-01-28 04:48:53

标签: python openstack heat openstack-neutron openstack-heat

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

我在一个文件中有以下脚本我希望在创建过程中将其作为user_data传递给实例,但我不确定 怎么去做呢。我正在使用Heat api来创建实例。下面的代码使用热模板文件创建堆栈,没有user_data。 任何指针都会受到赞赏。

env.yml

的user_data:      #!/斌/庆典      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 = {})

1 个答案:

答案 0 :(得分:0)

在你的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上的创建行传递新参数:

heat.stacks.create(stack_name='Tutorial', template=template.read(), 
    parameters={  'install_command': '...' })