mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-08-22 11:28:33 +00:00
fix(lxc): avoid setting domain to " "
when null during clone (#2033)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
parent
1eabc40dfa
commit
623c32cbab
@ -341,6 +341,9 @@ func TestAccResourceContainer(t *testing.T) {
|
||||
|
||||
initialization {
|
||||
hostname = "test-clone"
|
||||
dns {
|
||||
servers = ["1.1.1.1"]
|
||||
}
|
||||
}
|
||||
}`, WithRootUser()),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
|
@ -1181,8 +1181,11 @@ func containerCreateClone(ctx context.Context, d *schema.ResourceData, m interfa
|
||||
|
||||
if len(initializationDNS) > 0 && initializationDNS[0] != nil {
|
||||
initializationDNSBlock := initializationDNS[0].(map[string]interface{})
|
||||
|
||||
initializationDNSDomain := initializationDNSBlock[mkInitializationDNSDomain].(string)
|
||||
updateBody.DNSDomain = &initializationDNSDomain
|
||||
if initializationDNSDomain != "" {
|
||||
updateBody.DNSDomain = &initializationDNSDomain
|
||||
}
|
||||
|
||||
servers := initializationDNSBlock[mkInitializationDNSServers].([]interface{})
|
||||
deprecatedServer := initializationDNSBlock[mkInitializationDNSServer].(string)
|
||||
@ -1191,12 +1194,12 @@ func containerCreateClone(ctx context.Context, d *schema.ResourceData, m interfa
|
||||
nameserver := strings.Join(utils.ConvertToStringSlice(servers), " ")
|
||||
|
||||
updateBody.DNSServer = &nameserver
|
||||
} else {
|
||||
} else if deprecatedServer != "" {
|
||||
updateBody.DNSServer = &deprecatedServer
|
||||
}
|
||||
}
|
||||
|
||||
initializationHostname := initializationBlock[mkInitializationHostname].(string)
|
||||
initializationHostname = initializationBlock[mkInitializationHostname].(string)
|
||||
|
||||
if initializationHostname != dvInitializationHostname {
|
||||
updateBody.Hostname = &initializationHostname
|
||||
@ -2779,12 +2782,12 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d
|
||||
|
||||
started := status.Status == "running"
|
||||
|
||||
ipv4Map := make(map[string]interface{})
|
||||
ipv6Map := make(map[string]interface{})
|
||||
|
||||
if started && len(networkInterfaces) > 0 {
|
||||
ifaces, err := containerAPI.WaitForContainerNetworkInterfaces(ctx, 10*time.Second)
|
||||
if err == nil {
|
||||
ipv4Map := make(map[string]interface{})
|
||||
ipv6Map := make(map[string]interface{})
|
||||
|
||||
for _, iface := range ifaces {
|
||||
if iface.IPAddresses != nil && iface.Name != "lo" {
|
||||
for _, ip := range *iface.IPAddresses {
|
||||
@ -2805,11 +2808,6 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
e = d.Set(mkIPv4, ipv4Map)
|
||||
diags = append(diags, diag.FromErr(e)...)
|
||||
e = d.Set(mkIPv6, ipv6Map)
|
||||
diags = append(diags, diag.FromErr(e)...)
|
||||
} else {
|
||||
tflog.Warn(ctx, "error waiting for container network interfaces", map[string]interface{}{
|
||||
"error": err.Error(),
|
||||
@ -2817,6 +2815,11 @@ func containerRead(ctx context.Context, d *schema.ResourceData, m interface{}) d
|
||||
}
|
||||
}
|
||||
|
||||
e = d.Set(mkIPv4, ipv4Map)
|
||||
diags = append(diags, diag.FromErr(e)...)
|
||||
e = d.Set(mkIPv6, ipv6Map)
|
||||
diags = append(diags, diag.FromErr(e)...)
|
||||
|
||||
e = d.Set(mkStarted, started)
|
||||
diags = append(diags, diag.FromErr(e)...)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user