2016-11-17 7 views
5

Я пытаюсь создать экземпляр OpenStack с помощью терраформировать, но я получаю следующее сообщение об ошибке:Не удалось запустить экземпляр OpenStack из терраформировать

Error applying plan: 

1 error(s) occurred: 

* openstack_compute_instance_v2.basic: Error creating OpenStack server: Invalid 
request due to incorrect syntax or missing required parameters. 

Terraform does not automatically rollback in the face of errors. 
Instead, your Terraform state file has been partially updated with 

, но тот же Terraform код не удается успешно создать группу безопасности, пара ключей и объем в моем OpenStack счет

Вот мой Terraform код:

provider "openstack" { 
    user_name = "admin" 
    tenant_name = "admin" 
    password = "admin" 
    auth_url = "http://my_IP():5000/v2.0" 
} 
resource "openstack_blockstorage_volume_v1" "myvol" { 
    name = "myvol" 
    size = 1 
} 
resource "openstack_compute_instance_v2" "basic" { 
    name = "basic" 
    image_id = "8ce1c922-ad0-81a3-823ea1b0af9b" 
    flavor_id = "2" 
    key_pair = "tf-keypair-1" 
    security_groups = ["default"] 

    metadata { 
    this = "that" 
    } 

    network { 
    name = "8b510300-610a--9cc3-6e76e33395b4" 
    } 
    volume { 
    volume_id = "${openstack_blockstorage_volume_v1.myvol.id}" 
    } 
} 
+0

Вы экспортировали переменную окружения 'OS_REGION_NAME' правильно? – ydaetskcoR

ответ

0

Вы должны тщательно проверить все параметры опечаток и/или вкл правильные значения. TF не делает этого для вас.

Это происходит, когда вы указываете, например, несуществующую пару ключей или сетевое имя (например, в вашем примере вы указали ID вместо имени для сети).

0

С вашей конфигурации:

network { name = "8b510300-610a--9cc3-6e76e33395b4" }

Вы назначаете name но обеспечивая сеть id.

8

Это сообщение было довольно сложно отладить до недавнего времени. В version 0.8.8 of Terraform (более конкретно Enable HTTP Logging improvement for the OpenStack Terraform provider), команда добавила переменную окружения OS_DEBUG, чтобы помочь предоставить больше информации в таких случаях один из способов использовать это выглядит следующим образом:.

TF_LOG=DEBUG OS_DEBUG=1 terraform apply ... 

После того, как я имел это сообщение, потому что я забыл добавьте ключ ssh в OpenStack для пользователя, которого я использовал.

+0

Спасибо, это буквально спасло мою задницу. Привод моего аромата был меньше, чем изображение I пытался надеть это. Я бы никогда не понял это без этого флага! – llevar

Смежные вопросы