Я определил экземпляр без пользовательских вложений томов. Это было успешно создано кем-то еще. Сейчас я пытаюсь добавить еще один экземпляр, который идентичен за исключением
- идентификатор ресурса,
-
openstack_compute_instance_v2.name
и
- имеет прикрепленный том.
Соответствующие биты файла .tf:
resource "openstack_compute_instance_v2" "foo_1" {
name = "foo_1"
image_name = "…"
flavor_name = "…"
key_pair = "${var.key_pair}"
security_groups = […]
}
resource "openstack_blockstorage_volume_v2" "foo_volume_1" {
name = "foo_volume_1"
size = 100
}
resource "openstack_blockstorage_volume_attach_v2" "foo_volume_1_attachment" {
volume_id = "${openstack_blockstorage_volume_v2.foo_volume_1.id}"
host_name = "${openstack_compute_instance_v2.foo_1.name}"
}
Когда я пытаюсь TF_LOG=TRACE terraform apply -target=openstack_compute_instance_v2.foo_1
, я получаю следующий соответствующий вывод:
[TRACE] root: eval: *terraform.EvalWriteState
[TRACE] root: eval: *terraform.EvalApplyProvisioners
[TRACE] root: eval: *terraform.EvalIf
[TRACE] root: eval: *terraform.EvalWriteState
[TRACE] root: eval: *terraform.EvalWriteDiff
[TRACE] root: eval: *terraform.EvalApplyPost
[ERROR] root: eval: *terraform.EvalApplyPost, err: 1 error(s) occurred:
* openstack_compute_instance_v2.foo_1: Error creating OpenStack server: Invalid request due to incorrect syntax or missing required parameters.
[ERROR] root: eval: *terraform.EvalSequence, err: 1 error(s) occurred:
* openstack_compute_instance_v2.foo_1: Error creating OpenStack server: Invalid request due to incorrect syntax or missing required parameters.
[TRACE] [walkApply] Exiting eval tree: openstack_compute_instance_v2.foo_1
[TRACE] dag/walk: upstream errored, not walking "openstack_blockstorage_volume_attach_v2.foo_volume_1_attachment"
[TRACE] dag/walk: upstream errored, not walking "provider.openstack (close)"
[TRACE] dag/walk: upstream errored, not walking "meta.count-boundary (count boundary fixup)"
[TRACE] dag/walk: upstream errored, not walking "root"
[…]
[DEBUG] plugin: waiting for all plugin processes to complete...
Error: Error applying plan:
1 error(s) occurred:
* openstack_compute_instance_v2.foo_1: 1 error(s) occurred:
* openstack_compute_instance_v2.foo_1: Error creating OpenStack server: Invalid request due to incorrect syntax or missing required parameters.
Поскольку другой экземпляр был успешно создан с практически идентичным объявлением openstack_compute_instance_v2
, я подозреваю, что проблема на самом деле связана с действительно плохо документированным host_name
. Это должно указывать на имя экземпляра, как в этом случае? Если нет, на что он должен указывать?