Closed TravelingLex closed 5 years ago
What is the actual error you're getting?
Also, could you use proper syntax highlighting so your code is a bit more readable? That is, wrap your code with three backticks and fix the indentation? It's especially important in this case, as a common source of User Data errors is whitespace.
Sorry about that, I've made the code more readable. I was able to get the webservers to deploy and moved on to creating the user-data.sh file. I'm once again running into the issue. Here is my terraform for the launch config:
resource "aws_launch_configuration" "example" {
image_id = "${var.web_image_id}"
instance_type = "t2.micro"
security_groups = ["${aws_security_group.instance.id}"]
user_data = "${data.template_file.user_data.rendered}"
lifecycle {
create_before_destroy = true
}
}
And my user-data.sh file:
#!/bin/bash
cat > index.html <<-EOF
<h1>Hello, World</h1>
<p>DB address: ${db_address}</p>
<p>DB port: ${db_port}</p>
EOF
nohup busybox httpd -f -p ${server_port} &
And my data read file:
data "template_file" "user_data" {
template = "${file("user-data.sh")}"
vars {
server_port = "${var.server_port}"
db_address = "${data.terraform_remote_state.db.address}"
db_port = "${data.terraform_remote_state.db.port}"
}
}
Looks like this might be related to me running Terraform 0.12. They updated the templatefile function.
If you're using 0.12, you'll need the 2nd edition of the book (early release will be out in 1-2 weeks) and the 2nd-edition branch: https://github.com/brikis98/terraform-up-and-running-code/tree/2nd-edition
Sorry on Terraform v0.11.7
And what is the actual problem you're seeing?
I was able to resolve the issue. It was related to my user-data.sh file, I ended up putting a "-" at <<-EOF and it worked (Granted it took over 30 minutes before the systems were available).
Following both your book and your updated git, I am unable to deploy healthy instances using the remote_state variables. I'm at a complete loss for what I'm missing.
My remote_state:
I check the .tfstate file for my database deployment and it shows the correct outputs.
I've spent hours looking through your documents and code and can't figure it out.