2017-11-28 13 views
0

저는 주방을 처음 사용하기 때문에 이전에 terraform을 사용하여 만든 기존의 vpc 모듈을 사용하려고합니다. 부엌을 테스트하기 위해 모듈을로드하는 데 문제가 있습니다.테스트 키친에서 모듈을로드하는 중 오류가 발생했습니다.

내 폴더 구조

tf_aws_cluster 
├── .kitchen.yml 
├── Gemfile 
├── Gemfile.lock 
├── README.md 
│ ├── modules 
| |── vpc 
│  ├── main.tf 
│  └── variables.tf 
├── main.tf 
|── variables.tf 

--- 
driver: 
    name: terraform 

provisioner: 
    name: terraform 
    directory: ~/tf_aws_cluster/modules/vpc 
    variable_files: 
    - variables.tf 

내 ~/tf_aws_cluster/main.tf 파일이 보이는 ~/tf_aws_cluster/.kitchen.yml 파일과 같은

module "vpc" { 
    source   = "../modules/vpc" 
    env   = "prod" 
    aws_account_id = "************" 
} 

같은

실행할 때

번들 간부 부엌 내가로드 모듈에서 오류를 얻고있다

확인합니다.

-----> Creating <default-ubuntu>... 
     Copying configuration from "/home/ubuntu/tf_aws_cluster"... 
     Upgrading modules... 
     Error downloading modules: Error loading modules: module vpc: failed to get download URL for "../module/vpc": 200 OK resp:<!DOCTYPE html> 

모듈에 대해 프로 바이더에서 전달해야하는 값은 무엇입니까?

나는 source 매개 변수에 대한 전체 경로를 제공하여 시도 ~/tf_aws_cluster/main.tf

source   = "~/tf_aws_cluster/modules/vpc/" 

이 나에게

Error downloading modules: Error loading modules: module vpc: invalid source string: ~/tf_aws_cluster/modules/vpc/ 

답변

1

디렉토리가 상대해야 같은 오류를 제공합니다 경로의 directory 속성에 있습니다. 이처럼 :

directory: modules/vpc 새로 kitchen-terraform v3.0.0 발표에서 또한

당신이 관련 주제에 대신 directory


root_module_directory를 사용한다, 나는 방법을 이해하는 데 도움이 getting started 가이드를가는 것이 좋습니다 테스트 픽스쳐를 수행하려면 main.tfmodules directory으로 수행하려고합니다.

I는 다음과 같은 코드를 구성하는 것입니다 :

tf_aws_cluster 
├── .kitchen.yml 
├── Gemfile 
├── Gemfile.lock 
├── README.md 
│ ├── test 
| |── fixtures 
|  |── my_module 
│   ├── main.tf 
│   └── variables.tf 
├── main.tf 
|── variables.tf 

.kitchen.yml

--- 
driver: 
    name: terraform 
    directory: test/fixtures/my_module 
    variable_files: 
    - variables.tf 

provisioner: 
    name: terraform 

루트 main.tf :

# this should have your actual Terraform code 
resource ... { 
    ... 
} 

테스트 픽스처 main.tf (테스트/설비/my_module/main.tf)

# this should have a module reference to your root's main.tf such as: 
module "vpc" { 
    source   = "source = "../../.." 
    env   = "prod" 
    aws_account_id = "************" 
}