terraform-provider-google: Need `abandon_on_delete` behavior for SQL User due to bug in GCP postgres delete behavior.

Hello I am having an issue. I’m setting up a gcp cloud sql instance. I reset the postgres user password, but when destroying the infra, it tries to delete the postgres user. Error: Error, failed to deleteuser postgres in instance clair-indexer-main-8be49086:

resource "google_sql_database_instance" "indexer" { 
    name = "clair-indexer-${local.clair_suffix}"
    database_version = "POSTGRES_11"
    deletion_protection = false

    depends_on = [google_service_networking_connection.private_vpc_connection]


    settings {
        tier = "db-g1-small"
        disk_autoresize = true
        ip_configuration {
            private_network = data.google_compute_network.default.id
        }
    }
}

resource "google_sql_user" "indexer" { 
    name = "postgres"
    instance = google_sql_database_instance.indexer.name
    password = "clair"
}

(password is not sensitive, this is throw away) can i tell terraform to not even try to delete that sql user? it’ll be deleted on its own when the database instance is removed.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 27 (5 by maintainers)

Most upvoted comments

All right - we will go ahead and plan to implement that solution. We’ll triage this at our meeting next Monday, I expect that it will be prioritized, and we will have this to you as soon as we can.

This worked great.

Removing build infrastructure. Terraform logs will follow...
data.google_dns_managed_zone.quay-devel: Refreshing state... [id=projects/quay-devel/managedZones/quay-devel-openshift]
data.google_compute_network.default: Refreshing state... [id=projects/quay-devel/global/networks/default]
google_compute_health_check.indexer: Refreshing state... [id=projects/quay-devel/global/healthChecks/clair-indexer-main-cd9cbf46-http]
google_compute_instance_template.indexer: Refreshing state... [id=projects/quay-devel/global/instanceTemplates/clair-indexers-main-cd9cbf46]
google_compute_global_address.private_ip_address: Refreshing state... [id=projects/quay-devel/global/addresses/clair-indexer-main-cd9cbf46-db]
google_service_networking_connection.private_vpc_connection: Refreshing state... [id=projects%2Fquay-devel%2Fglobal%2Fnetworks%2Fdefault:servicenetworking.googleapis.com]
google_sql_database_instance.indexer: Refreshing state... [id=clair-indexer-main-cd9cbf46]
google_sql_user.indexer: Refreshing state... [id=postgres//clair-indexer-main-cd9cbf46]
google_dns_record_set.clair-indexer-db-internal: Refreshing state... [id=quay-devel-openshift/clair-indexer-main-cd9cbf46-db.quayteam.org./A]
google_dns_record_set.clair-indexer-db-external: Refreshing state... [id=quay-devel-openshift/clair-indexer-main-cd9cbf46-db-external.quayteam.org./A]
google_compute_region_instance_group_manager.indexer: Refreshing state... [id=projects/quay-devel/regions/us-central1/instanceGroupManagers/clair-indexers-main-cd9cbf46]
google_compute_backend_service.indexers-external: Refreshing state... [id=projects/quay-devel/global/backendServices/clair-indexers-main-cd9cbf46]
google_compute_url_map.clair-external: Refreshing state... [id=projects/quay-devel/global/urlMaps/clair-main-cd9cbf46]
google_compute_target_http_proxy.clair-external: Refreshing state... [id=projects/quay-devel/global/targetHttpProxies/clair-main-cd9cbf46]
google_compute_global_forwarding_rule.clair-external: Refreshing state... [id=projects/quay-devel/global/forwardingRules/clair-main-cd9cbf46]
google_dns_record_set.clair-external: Refreshing state... [id=quay-devel-openshift/clair-main-cd9cbf46.quayteam.org./A]
google_dns_record_set.clair-indexer-db-internal: Destroying... [id=quay-devel-openshift/clair-indexer-main-cd9cbf46-db.quayteam.org./A]
google_dns_record_set.clair-indexer-db-external: Destroying... [id=quay-devel-openshift/clair-indexer-main-cd9cbf46-db-external.quayteam.org./A]
google_sql_user.indexer: Destroying... [id=postgres//clair-indexer-main-cd9cbf46]
google_dns_record_set.clair-external: Destroying... [id=quay-devel-openshift/clair-main-cd9cbf46.quayteam.org./A]
google_sql_user.indexer: Destruction complete after 0s
google_dns_record_set.clair-external: Destruction complete after 2s
google_compute_global_forwarding_rule.clair-external: Destroying... [id=projects/quay-devel/global/forwardingRules/clair-main-cd9cbf46]
google_dns_record_set.clair-indexer-db-external: Destruction complete after 2s
google_dns_record_set.clair-indexer-db-internal: Destruction complete after 3s
google_compute_global_forwarding_rule.clair-external: Still destroying... [id=projects/quay-devel/global/forwardingRules/clair-main-cd9cbf46, 10s elapsed]
google_compute_global_forwarding_rule.clair-external: Destruction complete after 11s
google_compute_target_http_proxy.clair-external: Destroying... [id=projects/quay-devel/global/targetHttpProxies/clair-main-cd9cbf46]
google_compute_target_http_proxy.clair-external: Still destroying... [id=projects/quay-devel/global/targetHttpProxies/clair-main-cd9cbf46, 10s elapsed]
google_compute_target_http_proxy.clair-external: Destruction complete after 10s
google_compute_url_map.clair-external: Destroying... [id=projects/quay-devel/global/urlMaps/clair-main-cd9cbf46]
google_compute_url_map.clair-external: Still destroying... [id=projects/quay-devel/global/urlMaps/clair-main-cd9cbf46, 10s elapsed]
google_compute_url_map.clair-external: Destruction complete after 12s
google_compute_backend_service.indexers-external: Destroying... [id=projects/quay-devel/global/backendServices/clair-indexers-main-cd9cbf46]
google_compute_backend_service.indexers-external: Still destroying... [id=projects/quay-devel/global/backendServices/clair-indexers-main-cd9cbf46, 10s elapsed]
google_compute_backend_service.indexers-external: Destruction complete after 10s
google_compute_region_instance_group_manager.indexer: Destroying... [id=projects/quay-devel/regions/us-central1/instanceGroupManagers/clair-indexers-main-cd9cbf46]
google_compute_health_check.indexer: Destroying... [id=projects/quay-devel/global/healthChecks/clair-indexer-main-cd9cbf46-http]
google_compute_health_check.indexer: Still destroying... [id=projects/quay-devel/global/healthChecks/clair-indexer-main-cd9cbf46-http, 10s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 10s elapsed]
google_compute_health_check.indexer: Destruction complete after 12s
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 20s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 30s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 40s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 50s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m0s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m10s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m20s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m30s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m40s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 1m50s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 2m0s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 2m10s elapsed]
google_compute_region_instance_group_manager.indexer: Still destroying... [id=projects/quay-devel/regions/us-central1...pManagers/clair-indexers-main-cd9cbf46, 2m20s elapsed]
google_compute_region_instance_group_manager.indexer: Destruction complete after 2m24s
google_compute_instance_template.indexer: Destroying... [id=projects/quay-devel/global/instanceTemplates/clair-indexers-main-cd9cbf46]
google_sql_database_instance.indexer: Destroying... [id=clair-indexer-main-cd9cbf46]
google_compute_instance_template.indexer: Still destroying... [id=projects/quay-devel/global/instanceTemplates/clair-indexers-main-cd9cbf46, 10s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 10s elapsed]
google_compute_instance_template.indexer: Destruction complete after 11s
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 20s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 30s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 40s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 50s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 1m0s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 1m10s elapsed]
google_sql_database_instance.indexer: Still destroying... [id=clair-indexer-main-cd9cbf46, 1m20s elapsed]
google_sql_database_instance.indexer: Destruction complete after 1m23s
google_service_networking_connection.private_vpc_connection: Destroying... [id=projects%2Fquay-devel%2Fglobal%2Fnetworks%2Fdefault:servicenetworking.googleapis.com]
google_service_networking_connection.private_vpc_connection: Still destroying... [id=projects%2Fquay-devel%2Fglobal%2Fnetwor...fault:servicenetworking.googleapis.com, 10s elapsed]
google_service_networking_connection.private_vpc_connection: Still destroying... [id=projects%2Fquay-devel%2Fglobal%2Fnetwor...fault:servicenetworking.googleapis.com, 20s elapsed]
google_service_networking_connection.private_vpc_connection: Destruction complete after 21s
google_compute_global_address.private_ip_address: Destroying... [id=projects/quay-devel/global/addresses/clair-indexer-main-cd9cbf46-db]
google_compute_global_address.private_ip_address: Still destroying... [id=projects/quay-devel/global/addresses/clair-indexer-main-cd9cbf46-db, 10s elapsed]
google_compute_global_address.private_ip_address: Destruction complete after 11s

Destroy complete! Resources: 14 destroyed.

thanks for the quick turn around on this solution!