Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot disable databricks_global_init_script through TF #958

Closed
zaferlayik opened this issue Dec 13, 2021 · 3 comments · Fixed by #962
Closed

Cannot disable databricks_global_init_script through TF #958

zaferlayik opened this issue Dec 13, 2021 · 3 comments · Fixed by #962
Assignees
Labels
insufficient details this issue does not meet issue creation requirements and won't be worked on

Comments

@zaferlayik
Copy link

Hi there,

Thank you for opening an issue. Please note that we try to keep the Databricks Provider issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.

Configuration

resource "databricks_global_init_script" "install-security-tools" {
source = "${path.module}/filename.sh"
name = "Install security tools"
enabled = true/false

}

Copy-paste your Terraform configuration here

databricks_global_init_script

Expected Behavior

databricks_global_init_script : The functionality of enabling and disabling global script is working only one way.
If the Global init script is already in place and it is disabled (current config: enabled= false), we can enable it via terraform ((desired config: enabled= true)), but for those global init scripts it is active ((current config: enabled= true)) and we would like to disable it via terraform (desired config: enabled= false)is not changing status. Terraform state file gets updated as disabled, but when you login to Databricks UI and navigate to Global scripts, it shows it is still enabled. To match twith the terraform statefile we have to manually disable it.

Actual Behavior

global init scripts it is active ((current config: enabled= true)) and we would like to disable it via terraform (desired config: enabled= false)is not changing status in Databricks UI.

Steps to Reproduce

Please list the steps required to reproduce the issue, for example:

  1. terraform apply
  2. Terraform brings the change that the status will change from true to false
  3. apply goes successfully
  4. when we verify from the ui, status is still the same.

Terraform and provider versions

Please paste the output of terraform version. If version of databricks provider is not the latest (https://github.com/databrickslabs/terraform-provider-databricks/releases), please make sure to use the latest one.

Debug Output

Please add turn on logging, e.g. TF_LOG=DEBUG terraform apply and run command again, paste it to gist & provide the link to gist. If you're still willing to paste in log output, make sure you provide only relevant log lines with requests.

It would make it more readable, if you pipe the log through | grep databricks | sed -E 's/^.* plugin[^:]+: (.*)$/\1/', e.g.:

TF_LOG=DEBUG terraform plan 2>&1 | grep databricks | sed -E 's/^.* plugin[^:]+: (.*)$/\1/'

If Terraform produced a panic, please provide a link to a GitHub Gist containing the output of the crash.log.

Important Factoids

Are there anything atypical about your accounts that we should know?

@zaferlayik zaferlayik changed the title [ISSUE] Provider issue [ISSUE] Provider issue (Azure) Dec 13, 2021
@nfx
Copy link
Contributor

nfx commented Dec 13, 2021

@zaferlayik please provide debug logs

@nfx nfx added the insufficient details this issue does not meet issue creation requirements and won't be worked on label Dec 13, 2021
@zaferlayik
Copy link
Author

zaferlayik commented Dec 13, 2021

There is no debug logs since the terraform thinks it updates the status, but the status in Databricks does not get updated. Terraform logs wont tell you anything you wanna see.
how else can I help to provide more details?

@nfx nfx changed the title [ISSUE] Provider issue (Azure) Cannot disable databricks_global_init_script through TF Dec 14, 2021
@nfx
Copy link
Contributor

nfx commented Dec 14, 2021

@zaferlayik as a workaround, please remove init script if you want to have it disabled

@nfx nfx closed this as completed in #962 Dec 14, 2021
nfx added a commit that referenced this issue Dec 16, 2021
* Added `databricks_library` resource to install library on `databricks_cluster` ([#904](#904)).
* Added `databricks_clusters` data resource to list all clusters in the workspace, which might be used to install `databricks_library` on all clusters ([#955](#955)).
* Fixed refresh of `library` blocks on a stopped `databricks_cluster` ([#952](#952)).
* Whenever a library fails to get installed on a running `databricks_cluster`, we now automatically remove this library, so that the clean state of managed libraries is properly maintained. Without this fix users had to manually go to Clusters UI and remove library from a cluster, where it failed to install. Libraries add up to CREATE and UPDATE timeouts of `databricks_cluster` resource. ([#599](#599)).
* Added `token` block to `databricks_mws_workspaces` to avoid unnecessary provider aliasing ([#957](#957)).
* Fixed disabling `databricks_global_init_script` ([#958](#958)).
* Fixed configuration drift issues with `aws_attributes`, `azure_attributes`, `gcp_attributes`, and `email_notifications` configuration blocks in `databricks_cluster`, `databricks_job`, and `databricks_instance_pool` resources ([#981](#981)).
* Improved Databricks CLI auth by eagerly resolving `host`, `username`, `password`, and `token` from the specified `profile`. Added explicit logging of auth parameters in debug logs ([#965](#965)).
* TLS timeouts, which may occur during Azure MSI auth, are no longer failing API requests and retried within a normal policy ([#966](#966)).
* `debug_headers` provider conf is also logging the `Host` header to help troubleshooting auth issues ([#964](#964)).
* Added new experimental resources and increased test coverage.

Updated dependency versions:

* Bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.2.0
* Bump google.golang.org/api from 0.60.0 to 0.63.0
* Bump github.com/Azure/go-autorest/autorest from 0.11.22 to 0.11.23
* Bump github.com/Azure/go-autorest/autorest/azure/auth from 0.5.9 to 0.5.10
* Bump gopkg.in/ini.v1 from 1.66.0 to 1.66.2
* Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.9.0 to 2.10.0
@nfx nfx mentioned this issue Dec 16, 2021
nfx added a commit that referenced this issue Dec 16, 2021
Change log:

* Added `databricks_library` resource to install library on `databricks_cluster` ([#904](#904)).
* Added `databricks_clusters` data resource to list all clusters in the workspace, which might be used to install `databricks_library` on all clusters ([#955](#955)).
* Fixed refresh of `library` blocks on a stopped `databricks_cluster` ([#952](#952)).
* Whenever a library fails to get installed on a running `databricks_cluster`, we now automatically remove this library, so that the clean state of managed libraries is properly maintained. Without this fix users had to manually go to Clusters UI and remove library from a cluster, where it failed to install. Libraries add up to CREATE and UPDATE timeouts of `databricks_cluster` resource. ([#599](#599)).
* Added `token` block to `databricks_mws_workspaces` to avoid unnecessary provider aliasing ([#957](#957)).
* Fixed disabling `databricks_global_init_script` ([#958](#958)).
* Fixed configuration drift issues with `aws_attributes`, `azure_attributes`, `gcp_attributes`, and `email_notifications` configuration blocks in `databricks_cluster`, `databricks_job`, and `databricks_instance_pool` resources ([#981](#981)).
* Improved Databricks CLI auth by eagerly resolving `host`, `username`, `password`, and `token` from the specified `profile`. Added explicit logging of auth parameters in debug logs ([#965](#965)).
* TLS timeouts, which may occur during Azure MSI auth, are no longer failing API requests and retried within a normal policy ([#966](#966)).
* `debug_headers` provider conf is also logging the `Host` header to help troubleshooting auth issues ([#964](#964)).
* Added new experimental resources and increased test coverage.

Updated dependency versions:

* Bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.2.0
* Bump google.golang.org/api from 0.60.0 to 0.63.0
* Bump github.com/Azure/go-autorest/autorest from 0.11.22 to 0.11.23
* Bump github.com/Azure/go-autorest/autorest/azure/auth from 0.5.9 to 0.5.10
* Bump gopkg.in/ini.v1 from 1.66.0 to 1.66.2
* Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.9.0 to 2.10.0
michael-berk pushed a commit to michael-berk/terraform-provider-databricks that referenced this issue Feb 15, 2023
michael-berk pushed a commit to michael-berk/terraform-provider-databricks that referenced this issue Feb 15, 2023
Change log:

* Added `databricks_library` resource to install library on `databricks_cluster` ([databricks#904](databricks#904)).
* Added `databricks_clusters` data resource to list all clusters in the workspace, which might be used to install `databricks_library` on all clusters ([databricks#955](databricks#955)).
* Fixed refresh of `library` blocks on a stopped `databricks_cluster` ([databricks#952](databricks#952)).
* Whenever a library fails to get installed on a running `databricks_cluster`, we now automatically remove this library, so that the clean state of managed libraries is properly maintained. Without this fix users had to manually go to Clusters UI and remove library from a cluster, where it failed to install. Libraries add up to CREATE and UPDATE timeouts of `databricks_cluster` resource. ([databricks#599](databricks#599)).
* Added `token` block to `databricks_mws_workspaces` to avoid unnecessary provider aliasing ([databricks#957](databricks#957)).
* Fixed disabling `databricks_global_init_script` ([databricks#958](databricks#958)).
* Fixed configuration drift issues with `aws_attributes`, `azure_attributes`, `gcp_attributes`, and `email_notifications` configuration blocks in `databricks_cluster`, `databricks_job`, and `databricks_instance_pool` resources ([databricks#981](databricks#981)).
* Improved Databricks CLI auth by eagerly resolving `host`, `username`, `password`, and `token` from the specified `profile`. Added explicit logging of auth parameters in debug logs ([databricks#965](databricks#965)).
* TLS timeouts, which may occur during Azure MSI auth, are no longer failing API requests and retried within a normal policy ([databricks#966](databricks#966)).
* `debug_headers` provider conf is also logging the `Host` header to help troubleshooting auth issues ([databricks#964](databricks#964)).
* Added new experimental resources and increased test coverage.

Updated dependency versions:

* Bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.2.0
* Bump google.golang.org/api from 0.60.0 to 0.63.0
* Bump github.com/Azure/go-autorest/autorest from 0.11.22 to 0.11.23
* Bump github.com/Azure/go-autorest/autorest/azure/auth from 0.5.9 to 0.5.10
* Bump gopkg.in/ini.v1 from 1.66.0 to 1.66.2
* Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.9.0 to 2.10.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
insufficient details this issue does not meet issue creation requirements and won't be worked on
Projects
None yet
3 participants