Closed c33s closed 4 years ago
Hey @c33s, thanks for reporting this issue. Please share your Terraform code or share an example which helps me to reproduce the bug.
it's only some minimal example code (this is the actual code i try to run):
terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "1.20.1"
}
hetznerdns = {
source = "timohirt/hetznerdns"
version = "1.1.0"
}
}
}
provider "hcloud" {
token = "${var.hcloud_token}"
// token = var.hcloud_token
}
provider "hetznerdns" {
// apitoken = var.hcloud_dns_token
apitoken = "${var.hcloud_dns_token}"
}
data "hetznerdns_zone" "dns_zone" {
name = "example.com"
}
resource "hcloud_server" "node1" {
name = "node1"
image = "debian-9"
server_type = "cx11"
}
@timohirt i just looked into the code, i think i found the problem: https://github.com/timohirt/terraform-provider-hetznerdns/blob/main/hetznerdns/data_source_zone.go#L34
GetZoneByName
returns nil,nil
when the zone (example.com
in the same above) does not exist.
https://github.com/timohirt/terraform-provider-hetznerdns/blob/31efb57fcae360f3c37dfbc6c84b853e964e85e4/hetznerdns/api/client.go#L236
Within the datasource you only check if there is no error: https://github.com/timohirt/terraform-provider-hetznerdns/blob/main/hetznerdns/data_source_zone.go#L35
zone, err := client.GetZoneByName(name.(string))
if err != nil {
d.SetId("")
return fmt.Errorf("Error getting zone state. %s", err)
}
You should check if zone != nil too. Then the nil-point should be fixed.
(I just did a short look as @c33s asked me to do so.)
@LKaemmerling thanks you very much.
+facepalm+ i just copied the example from the provider and had not recognized that it iss a datasource
and no resource
item. i debugged everywhere but not the example code as i thought it's a copy and paste working code xD
@LKaemmerling thanks for looking into this issue. Handled nil
as you proposed.
@c33s next time you will see a proper error message:
Error: DNS zone 'example.de' doesn't exist
on main.tf line 1, in data "hetznerdns_zone" "zone1":
1: data "hetznerdns_zone" "zone1" {
terraform versions tried:
no problem with hcloud plugin but hetznerdns is always crashing. also tried lower versions of this plugin but also crashed all the time (there where different error messages which i haven't written down). can provide the crash log if required (left them off this ticket because it would need redacting). also removed some paths from the crashoutput below.
0.11.14:
0.12.29:
0.13.1: