Ниже приводится один из возможных подходов.
1) Определите первый шаблон для ваших вычислительных узлов и конфигурации сети. Но определите выходные данные в своем первом шаблоне, чтобы предоставить идентификаторы вычислительных узлов. Например, если вы создаете OS::Nova::Server с именем mynode1, вы можете указать его идентификатор в качестве выходных данных для этого шаблона следующим образом:
outputs:
mynode1_id:
description: ID of mynode1
value: {getattr: [mynode1, id]}
После создания экземпляра теплового стека, скажем, mystack1, с этим первым шаблоном, вы можете получить доступ к идентификатору mynode1 следующим образом:
heat output-show mystack1 mynode1_id
2) Создайте свой второй шаблон для хранилища с идентификаторами ваших вычислительных узлов из шага 1 в качестве входных параметров. Например:
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
person
Praveen Yalagandula
schedule
09.05.2016