【问题标题】:How to pass user_data script to Python Openstack Heat-API client如何将 user_data 脚本传递给 Python Openstack Heat-API 客户端
【发布时间】:2016-01-28 04:48:53
【问题描述】:

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

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

env.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={})

【问题讨论】:

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


    【解决方案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 上的创建行:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-12
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多