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

add support for sparse checkouts in the databricks_repo #1869

Merged
merged 1 commit into from
Dec 22, 2022

Conversation

alexott
Copy link
Contributor

@alexott alexott commented Dec 21, 2022

No description provided.

@alexott alexott requested review from nfx, xiaodongw-db and a team December 21, 2022 17:57
Copy link

@xiaodongw-db xiaodongw-db left a comment

Choose a reason for hiding this comment

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

LGTM, I'm not familiar with Terraform so I'll leave others to approve it.


* `patterns` - array of paths (directories) that will be used for sparse checkout. List of patterns could be updated in-place.

Addition or removal of the `sparse_checkout` configuration block will lead to recreation of the repo.

Choose a reason for hiding this comment

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

I assume this is the specific behavior of Terraform? Our API doesn't have this behavior.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Our API gives error when you're trying to add sparse_checkout to the existing repository - I double checked this. I'm happy to change it if you confirm that it shouldn't get an error.

Copy link
Contributor Author

@alexott alexott Dec 21, 2022

Choose a reason for hiding this comment

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

also, if you do first with sparse_checkout and then remove that block, it won't restore the full checkout, although won't give you an error

Choose a reason for hiding this comment

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

The current API behavior is:

  • You cannot enable/disable sparse checkout after a repository is created, so if you create a repository without sparse checkout, setting sparse_checkout in Update request will fail.
  • If you specify sparse_checkout in Update request, it'll update the patterns to the new value; otherwise the sparse checkout setting won't be changed.

Thanks for pointing it out, I'll update the API doc to make it clearer.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

then yes, Terraform behaviour is matching these rules you can update list of the patterns for repo with sparse_checkout, but you can add or remove this block to the existing repository - it will be recreated with the new settings.

@nfx nfx merged commit 1e16efd into master Dec 22, 2022
@nfx nfx deleted the repos-sparse-checkout branch December 22, 2022 09:42
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
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.

3 participants