openstack mitaka에서 Heat 템플릿을 사용하여 여러 서버를 배포해야 하며 서버에는 새로 생성된 cinder 볼륨이 있어야 하며 서버 생성 시 연결되어야 합니다. 즉, 한 서버는 새로 생성된 볼륨을 받아야 합니다.
문제를 발견했습니다. 아래 코드는 작동하지만 2개 이상의 서버 인스턴스를 생성하려고 하면 단일 vm ID 대신 스택 ID에 새 볼륨을 연결하려고 합니다.
heat_template_version: 2015-10-15
resources:
nalla:
type: OS::Heat::ResourceGroup
properties:
count: 2
resource_def:
type: OS::Nova::Server
properties:
name: nalla_%index%
image: cirros
flavor: m1.extra_tiny
networks:
- network: self_service
vm_volume:
type: OS::Cinder::Volume
properties:
size: 1
volume_attachment:
type: OS::Cinder::VolumeAttachment
properties:
volume_id: { get_resource: vm_volume }
instance_uuid: { get_resource: nalla }
outputs:
instance_ip:
description: IP address of the instance
value: { get_attr: [nalla, first_address] }
실수:
stack_status | CREATE_FAILED |
| stack_status_reason | Resource CREATE failed: Error: resources.volume_attachment: Failed to attach volume a9753ffb-f02e- |
| | 4ebd-9630-b498bb8171c8 to server 800a2b01-021d-413d-9657-10b6cc711a91 - Instance 800a2b01-021d- |
| | 413d-9657-10b6cc711a91 could not be found. (HTTP 404) (Request-ID: req-c63ad056-75ae-47fe- |
| | 95b3-c7118c82e2b3)