0

任务是:我们有一个蓝图,其中描述了所有需要的节点模板,我们想要创建一个部署,其中包括所有这些节点,但我们不希望在“安装”工作流程中创建所有这些节点。我的意思是,例如,需要在创建的部署中安装所有节点,但其中一些节点除外,例如,openstack 实例的卷。但我们知道 - 稍后可能需要创建和添加音量,我们应该保留这样做的能力。至于卷模板需要一些输入(例如,它的名称),我想将“null”作为输入传递,而不是在“安装”工作流程时创建卷。

像创建许多不同的蓝图或在创建后删除一些节点这样的解决方案是不可接受的。

这是否可能以及如何执行?

感谢您的所有见解在此先感谢!

4

1 回答 1

0

我们有类似的要求。我们的计划是使用 Cloudify 3.4 的扩展能力——它应该用于多个实例,但也适用于 0 或 1 个实例。

提供 0 作为number_of_nodes下面蓝图中的输入值 - 仅使用本地 cfy 安装测试(但应该没问题) - 并且不会调用创建和启动操作。要在安装后实例化节点,您将使用内置的规模工作流。或者,在安装时提供 1 并创建节点。

tosca_definitions_version: cloudify_dsl_1_3

imports:
  - http://www.getcloudify.org/spec/cloudify/3.4.1/types.yaml

inputs:
  number_of_nodes:
    default: 0

node_templates:
  some_vm:
    type: cloudify.nodes.Root
    capabilities:
      scalable:
        properties:
          default_instances: { get_input: number_of_nodes }
          max_instances: 1
于 2017-01-03T10:19:06.303 回答