-
Notifications
You must be signed in to change notification settings - Fork 474
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
Databricks Sample - Terraform IaC for Azure Databricks and Asset Bundle Deployment via CI/CD #911
base: main
Are you sure you want to change the base?
Conversation
@DilmurodMak - one of the validations is failing, can you take a look? |
@ydaponte , The pipeline are templates, it requires databricks workspaces exist and its urls are set in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving some comments that need to be addressed before we can merge into main. There are some best practices and alignment with the overall repo that will need to be done as for example the creation of a devcontainer for the sample. Thanks for the great work so far!
|
||
This repository contains databricks deployment using terraform and databricks asset bundle deployment using Github Actions. | ||
|
||
## Prerequisites |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Prerequisites |
Removing the Prerequisites from here as you can consolidate later in the ReadMe. Also in the second prerequisite you jump into another ReadMe - I think the flow is not perfect.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First READ.me is for the root - It is intended to describe overall repo,
Second READ.me is in Infra folder - its intended to give instructions how to deploy all the resources using terraform.
I will make it more clear
|
||
## Prerequisites | ||
|
||
- Azure Subscription |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Azure Subscription |
## Prerequisites | ||
|
||
- Azure Subscription | ||
- Deploy Azure Resources using Terraform Code. See [./Infra/README.MD](./Infra/README.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Deploy Azure Resources using Terraform Code. See [./Infra/README.MD](./Infra/README.md) |
This is a repetition from the later pre-requisites: Ensure Sandbox and Development Resources are deployed in Azure using Terraform code in ./Infra
folder. I'm suggesting removing it from here.
|
||
### Pre-requisites | ||
- Clone the repository | ||
- Install Terraform CLI if not installed already [Terraform Installation](https://learn.hashicorp.com/tutorials/terraform/install-cli) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can add this pre-requirements to be installed when launching the devcontainer
cd Infra/deployment | ||
``` | ||
|
||
2. Login to Azure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Login to Azure should be probably the first step, second step should be the az account set and third step should be the Change directory to ...
- **`adb-workspace`** - Deploys Databricks workspace | ||
- **`metastore-and-users`** - Creates Databricks Connector, Creates Storage Account, Give storage access rights to connector, Creates Metastore / Assigns Workspace to Metastore, and Finally Retrieves alls users, groups, and service principals from Azure AD. | ||
- **`adb-unity-catalog`** - Gives databricks access rights to the connector, Creates containers in the storage account, and creates external locations for the containers. Creates unity catalog and grants permissions user groups. Finally, creates **`bronze` `silver` `gold`** schemas under the catalog and gives the required permissions to the user groups. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the script fails with an error - lack of permissions or something else - is the script idempotent? Meaning, can we re-run and the script will continue where it left of? Can we make a note about that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, script can be run where its left off. It references the state files of each terraform model when running, and based on the state it can continue where its left off.
I will make a note of that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a note on that in READ.me of Infra, that the end of the doc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of the png, can you please commit the drawio.svg version file of this diagram? We are starting to create a standard in the repo for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These was originally images, I will try to recreate in draw.io if necessary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an editable version of this diagram that can be commited instead?
Co-authored-by: Yennifer Santos <[email protected]>
Co-authored-by: Yennifer Santos <[email protected]>
|
||
## Samples | ||
|
||
- [IaC deployment of Azure Databricks](./databricks_ci_cd/README.md) - This sample demonstrates how to deploy an Azure Databricks environment using ARM templates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [linkspector] reported by reviewdog 🐶
Cannot reach ./databricks_ci_cd/README.md. Status: 404 Cannot find: ./databricks_ci_cd/README.md
Pull Request Overview
This PR updates and enhances the Databricks deployment process using Terraform and Asset Bundle Deployment via GitHub Actions. It simplifies deployment for multi environment deployment.
Key Highlights
single_tech_samples/databricks/databricks_terraform
generate-databricks-workflows.sh
.Testing Steps
The Sample code covers the deployment from sandbox to development environment.
main
.main
.