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

State upgraders for databricks_mws_workspaces to support GCP (Public Preview) #1871

Merged
merged 8 commits into from
Jan 9, 2023

Conversation

nfx
Copy link
Contributor

@nfx nfx commented Dec 22, 2022

This PR adds state upgraders for the changes you must make in *.tf files in the context of GCP usage:

image

@codecov-commenter
Copy link

codecov-commenter commented Dec 22, 2022

Codecov Report

Merging #1871 (c9f6500) into master (43876a1) will decrease coverage by 0.09%.
The diff coverage is 86.16%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1871      +/-   ##
==========================================
- Coverage   90.14%   90.04%   -0.10%     
==========================================
  Files         142      142              
  Lines       11386    11628     +242     
==========================================
+ Hits        10264    10471     +207     
- Misses        712      747      +35     
  Partials      410      410              
Impacted Files Coverage Δ
mws/resource_mws_workspaces.go 88.26% <86.16%> (-2.38%) ⬇️

@nkvuong
Copy link
Contributor

nkvuong commented Dec 22, 2022

manual tests for GCP workspace with BYOVPC and DB-managed VPC:

  • create workspace with current provider
  • upgrade provider to the current PR
  • update config code to match new schema
  • Terraform plan shows no diff 🎉

@nfx
Copy link
Contributor Author

nfx commented Dec 22, 2022

image

@nfx
Copy link
Contributor Author

nfx commented Dec 22, 2022

image

if this error appears and someone wants to rollback, changing `"schema_version": 3` to `"schema_version": 2` directly in the state for `databricks_mws_workspaces` should help.

Copy link
Contributor

@grayluck grayluck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the changes that appear in the PR, LGTM.
Please ensure that the change covers all the paths.

Thanks!!

@nfx nfx changed the title State upgraders for databricks_mws_workspaces State upgraders for databricks_mws_workspaces to support GCP Jan 9, 2023
@nfx nfx changed the title State upgraders for databricks_mws_workspaces to support GCP State upgraders for databricks_mws_workspaces to support GCP (Public Preview) Jan 9, 2023
@nfx nfx merged commit 883cca6 into master Jan 9, 2023
@nfx nfx deleted the gcp/public-preview branch January 9, 2023 18:19
nfx added a commit that referenced this pull request Jan 10, 2023
# Version changelog

### 1.8.0

 * Added support for GCP (Public Preview) with state upgraders for [databricks_mws_workspaces](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/mws_workspaces) ([#1871](#1871), [#1886](#1886), [#1748](#1748), [#1879](#1879)).
 * Added documentation for [databricks_permission_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/permission_assignment) ([#1880](#1880)).
 * Added `azure_attributes` to clusters in [databricks_pipeline](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/pipeline) resource ([#1854](#1854)).
 * Added [databricks_instance_pool](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/instance_pool) data source ([#1907](#1907)).
 * Added [databricks_provider](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/provider) resource for Delta Sharing ([#1572](#1572)).
 * Added acceptance tests for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data and [databricks_sql_endpoint](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/sql_endpoint) data ([#1882](#1882)).
 * Added search by name for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data source ([#1901](#1901)).
 * Added support for sparse checkouts in the [databricks_repo](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/repo) ([#1869](#1869)).
 * Added `config_reference` attribute to [databricks_secret](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/secret) for easier reference from Spark configuration ([#1898](#1898)).
 * Added `datarbicks_directory` data source ([#1902](#1902)).
 * Extended [databricks_catalog](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/catalog) resource to support Delta Sharing Catalog ([#1887](#1887)).
 * Improved [databricks_metastore_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/metastore_assignment) resource ([#1900](#1900)).
 * Improved [databricks_grants](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/grants) error messages ([#1888](#1888)).
 * Improved [databricks_group](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group) documentation ([#1816](#1816)).
 * Improved `data_security_mode` documentation for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/cluster) ([#1830](#1830)).
 * Replace the incorrect `id` attribute with the correct `sp_id` in service principal data source docs example ([#1873](#1873)).
 * Use NVMe disk size for selection in the [databricks_node_type](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/node_type) data source ([#1856](#1856)).
 * Allowed to override resource ID for specific data source ([#1885](#1885)).

Experimental Resource Exporter

 * Added command-line flag to export all users and service principals ([#1893](#1893)).
 * Added emit for secret scopes from Spark Conf and Env Vars ([#1897](#1897)).
 * Fixed issue with exporting of resources with simple name ([#1891](#1891)).
 * Generate references that are matching only to a prefix ([#1890](#1890)).
 * Updated list of supported services and associated resources ([#1894](#1894)).
 * Use [databricks_group_role](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_role) instead of deprecated [databricks_group_instance_profile](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_instance_profile) ([#1905](#1905)).
 * Use `dbfs_path` as reference for init scripts in clusters ([#1892](#1892)).
 * Logging improvements ([#1895](#1895)).

Updated dependency versions:

 * Bump google.golang.org/api from 0.104.0 to 0.105.0 ([#1863](#1863)).
@nfx nfx mentioned this pull request Jan 10, 2023
nfx added a commit that referenced this pull request Jan 10, 2023
# Version changelog

### 1.8.0

 * Added support for GCP (Public Preview) with state upgraders for [databricks_mws_workspaces](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/mws_workspaces) ([#1871](#1871), [#1886](#1886), [#1748](#1748), [#1879](#1879)).
 * Added documentation for [databricks_permission_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/permission_assignment) ([#1880](#1880)).
 * Added `azure_attributes` to clusters in [databricks_pipeline](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/pipeline) resource ([#1854](#1854)).
 * Added [databricks_instance_pool](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/instance_pool) data source ([#1907](#1907)).
 * Added [databricks_provider](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/provider) resource for Delta Sharing ([#1572](#1572)).
 * Added acceptance tests for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data and [databricks_sql_endpoint](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/sql_endpoint) data ([#1882](#1882)).
 * Added search by name for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data source ([#1901](#1901)).
 * Added support for sparse checkouts in the [databricks_repo](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/repo) ([#1869](#1869)).
 * Added `config_reference` attribute to [databricks_secret](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/secret) for easier reference from Spark configuration ([#1898](#1898)).
 * Added `datarbicks_directory` data source ([#1902](#1902)).
 * Extended [databricks_catalog](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/catalog) resource to support Delta Sharing Catalog ([#1887](#1887)).
 * Improved [databricks_metastore_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/metastore_assignment) resource ([#1900](#1900)).
 * Improved [databricks_grants](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/grants) error messages ([#1888](#1888)).
 * Improved [databricks_group](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group) documentation ([#1816](#1816)).
 * Improved `data_security_mode` documentation for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/cluster) ([#1830](#1830)).
 * Replace the incorrect `id` attribute with the correct `sp_id` in service principal data source docs example ([#1873](#1873)).
 * Use NVMe disk size for selection in the [databricks_node_type](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/node_type) data source ([#1856](#1856)).
 * Allowed to override resource ID for specific data source ([#1885](#1885)).

Experimental Resource Exporter

 * Added command-line flag to export all users and service principals ([#1893](#1893)).
 * Added emit for secret scopes from Spark Conf and Env Vars ([#1897](#1897)).
 * Fixed issue with exporting of resources with simple name ([#1891](#1891)).
 * Generate references that are matching only to a prefix ([#1890](#1890)).
 * Updated list of supported services and associated resources ([#1894](#1894)).
 * Use [databricks_group_role](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_role) instead of deprecated [databricks_group_instance_profile](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_instance_profile) ([#1905](#1905)).
 * Use `dbfs_path` as reference for init scripts in clusters ([#1892](#1892)).
 * Logging improvements ([#1895](#1895)).

Updated dependency versions:

 * Bump google.golang.org/api from 0.104.0 to 0.105.0 ([#1863](#1863)).
michael-berk pushed a commit to michael-berk/terraform-provider-databricks that referenced this pull request Feb 15, 2023
…c Preview) (databricks#1871)

This PR adds state upgraders for the changes you must make in `*.tf` files in the context of GCP usage:

<img width="1293" alt="image" src="https://user-images.githubusercontent.com/259697/211378830-7019f2c5-b522-4c59-aae7-149791084bdc.png">
michael-berk pushed a commit to michael-berk/terraform-provider-databricks that referenced this pull request Feb 15, 2023
# Version changelog

### 1.8.0

 * Added support for GCP (Public Preview) with state upgraders for [databricks_mws_workspaces](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/mws_workspaces) ([databricks#1871](databricks#1871), [databricks#1886](databricks#1886), [databricks#1748](databricks#1748), [databricks#1879](databricks#1879)).
 * Added documentation for [databricks_permission_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/permission_assignment) ([databricks#1880](databricks#1880)).
 * Added `azure_attributes` to clusters in [databricks_pipeline](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/pipeline) resource ([databricks#1854](databricks#1854)).
 * Added [databricks_instance_pool](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/instance_pool) data source ([databricks#1907](databricks#1907)).
 * Added [databricks_provider](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/provider) resource for Delta Sharing ([databricks#1572](databricks#1572)).
 * Added acceptance tests for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data and [databricks_sql_endpoint](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/sql_endpoint) data ([databricks#1882](databricks#1882)).
 * Added search by name for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/cluster) data source ([databricks#1901](databricks#1901)).
 * Added support for sparse checkouts in the [databricks_repo](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/repo) ([databricks#1869](databricks#1869)).
 * Added `config_reference` attribute to [databricks_secret](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/secret) for easier reference from Spark configuration ([databricks#1898](databricks#1898)).
 * Added `datarbicks_directory` data source ([databricks#1902](databricks#1902)).
 * Extended [databricks_catalog](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/catalog) resource to support Delta Sharing Catalog ([databricks#1887](databricks#1887)).
 * Improved [databricks_metastore_assignment](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/metastore_assignment) resource ([databricks#1900](databricks#1900)).
 * Improved [databricks_grants](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/grants) error messages ([databricks#1888](databricks#1888)).
 * Improved [databricks_group](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group) documentation ([databricks#1816](databricks#1816)).
 * Improved `data_security_mode` documentation for [databricks_cluster](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/cluster) ([databricks#1830](databricks#1830)).
 * Replace the incorrect `id` attribute with the correct `sp_id` in service principal data source docs example ([databricks#1873](databricks#1873)).
 * Use NVMe disk size for selection in the [databricks_node_type](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/node_type) data source ([databricks#1856](databricks#1856)).
 * Allowed to override resource ID for specific data source ([databricks#1885](databricks#1885)).

Experimental Resource Exporter

 * Added command-line flag to export all users and service principals ([databricks#1893](databricks#1893)).
 * Added emit for secret scopes from Spark Conf and Env Vars ([databricks#1897](databricks#1897)).
 * Fixed issue with exporting of resources with simple name ([databricks#1891](databricks#1891)).
 * Generate references that are matching only to a prefix ([databricks#1890](databricks#1890)).
 * Updated list of supported services and associated resources ([databricks#1894](databricks#1894)).
 * Use [databricks_group_role](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_role) instead of deprecated [databricks_group_instance_profile](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/group_instance_profile) ([databricks#1905](databricks#1905)).
 * Use `dbfs_path` as reference for init scripts in clusters ([databricks#1892](databricks#1892)).
 * Logging improvements ([databricks#1895](databricks#1895)).

Updated dependency versions:

 * Bump google.golang.org/api from 0.104.0 to 0.105.0 ([databricks#1863](databricks#1863)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants