From 863fc4cb38ccb6a5f713bd8434467ccffc0f1af4 Mon Sep 17 00:00:00 2001 From: Shunsuke Suzuki Date: Mon, 3 Aug 2020 01:25:44 +0900 Subject: [PATCH] fix: panic to migrate schema of docker_container from v1 to v2 (#271). Closes #264 * Fix panic to migrate schema from v0 to v1 * Remove Computed setting from docker_container.env to suppress diff * Remove Computed setting from docker_container.labels to suppress diff --- docker/label_migration.go | 9 ++++++++- docker/resource_docker_container.go | 2 -- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker/label_migration.go b/docker/label_migration.go index fff03a14..5ab4f317 100644 --- a/docker/label_migration.go +++ b/docker/label_migration.go @@ -15,7 +15,14 @@ func replaceLabelsMapFieldWithSetField(rawState map[string]interface{}) map[stri func migrateContainerLabels(rawState map[string]interface{}) map[string]interface{} { replaceLabelsMapFieldWithSetField(rawState) - mounts := rawState["mounts"].([]interface{}) + m, ok := rawState["mounts"] + if !ok || m == nil { + // https://github.com/terraform-providers/terraform-provider-docker/issues/264 + rawState["mounts"] = []interface{}{} + return rawState + } + + mounts := m.([]interface{}) newMounts := make([]interface{}, len(mounts)) for i, mountI := range mounts { mount := mountI.(map[string]interface{}) diff --git a/docker/resource_docker_container.go b/docker/resource_docker_container.go index c752de2c..ee048195 100644 --- a/docker/resource_docker_container.go +++ b/docker/resource_docker_container.go @@ -459,7 +459,6 @@ func resourceDockerContainer() *schema.Resource { Type: schema.TypeSet, Optional: true, ForceNew: true, - Computed: true, Elem: &schema.Schema{Type: schema.TypeString}, Set: schema.HashString, }, @@ -563,7 +562,6 @@ func resourceDockerContainer() *schema.Resource { Type: schema.TypeSet, Optional: true, ForceNew: true, - Computed: true, Elem: labelSchema, },