【问题标题】:Openstack Heat - separate templatesOpenstack Heat - 单独的模板
【发布时间】:2016-05-07 14:28:45
【问题描述】:

我正在寻找通过多个单独步骤创建堆栈的最佳方法。

我想在第一个模板中,只建立计算节点和网络配置。

在第二个模板中,我想创建存储节点并将它们附加到已经存在的计算节点。

你认为最好的方法是什么?

【问题讨论】:

    标签: openstack openstack-heat openstack-cinder


    【解决方案1】:

    以下是一种可能的方法。

    1) 为您的计算节点和网络配置定义第一个模板。但是在您的第一个模板中定义输出以公开您的计算节点 ID。例如,如果您创建一个名为 mynode1 的 OS::Nova::Server,您可以将其 ID 公开为该模板的输出,如下所示:

    outputs:
      mynode1_id:
        description: ID of mynode1
        value: {getattr: [mynode1, id]}
    

    一旦您使用第一个模板实例化了一个热堆栈,比如 mystack1,您就可以访问 mynode1 的 ID,如下所示:

    heat output-show mystack1 mynode1_id
    

    2) 创建您的第二个存储模板,将步骤 1 中的计算节点 ID 作为输入参数。例如:

    parameters:
      mynode1_id:
        type: string
        description: ID for mynode1
    

    然后您可以在“资源:”部分中使用它,如下所示:

    resources:
      ...
      ...
      my_volume_attach:
        type: OS::Cinder::VolumeAttachment
        properties:
          instance_uuid: {get_param: mynode1_id}
          ...
    

    3) 调用您的第二个热堆栈创建,如下所示:

    heat stack-create -f second-template.yaml -P mynode1_id=`heat output-show mystack1 mynode1_id` mystack2
    

    【讨论】:

      【解决方案2】:

      您可能还想使用 depends_on 属性在资源之间定义依赖关系。 根据您的描述,使用多个模板似乎不是正确的解决方案。

      例如 - 如果你想在对象 1,2 之后创建对象 3,4,你可以定义一个模板如下:

      heat_template_version: '2015-10-15'
      parameters:
         param1:
              type: string
              description: just an example of parameter
      resources:
       object1:
        type: OS::Neutron::XXX
        properties:
           property: XXX
        description: object1
       object2:
        type: OS::Neutron::XXX
        properties:
           property: XXX
        description: object2
       object3:
        type: OS::Nova::XXX
        properties:
           property: XXX
        description: object3
        depends_on: object1
       object4:
        type: OS::Nova::XXX
        properties:
           property: XXX
        description: object4
        depends_on: object1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多