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

Create EXTERNAL LOCATIONs to map to External Tables (Azure) #100

Closed
Tracked by #333
nfx opened this issue Aug 23, 2023 · 3 comments · Fixed by #715, #992 or #1016
Closed
Tracked by #333

Create EXTERNAL LOCATIONs to map to External Tables (Azure) #100

nfx opened this issue Aug 23, 2023 · 3 comments · Fixed by #715, #992 or #1016
Labels
cloud/azure issues related to Azure CUJ critial user journey enhancement New feature or request feat/cli CLI commands migrate/external go/uc/upgrade SYNC EXTERNAL TABLES step

Comments

@nfx
Copy link
Collaborator

nfx commented Aug 23, 2023

Related issues:

Jobs to be done:

  • use ExternalLocations from https://github.com/databrickslabs/ucx/blob/main/src/databricks/labs/ucx/hive_metastore/locations.py and tables.TablesCrawler to verify if we have matching external locations configured already - use ws.external_locations.list() API for this.
  • validate the logic of ExternalLocations for correctness and corner-cases
  • create databricks labs ucx validate-external-locations command to display a number of tables per external location and any HMS table locations that don't belong to an existing external location
  • print Terraform resource definitions to have those external locations setup
@nfx nfx added this to the v0.0.3 milestone Aug 24, 2023
@renardeinside renardeinside removed this from the v0.0.3 milestone Sep 3, 2023
@nfx nfx added this to the 1 month milestone Sep 18, 2023
@pohlposition pohlposition added the migrate/external go/uc/upgrade SYNC EXTERNAL TABLES step label Sep 28, 2023
@nfx
Copy link
Collaborator Author

nfx commented Sep 28, 2023

@zpappa this is all the information about the feature straight from PRD, btw 😉

at this stage, it's more of a one-decision design document specifically for this feature, even though we don't do that for all of the features

We have to aim at expanding the issue description here as explicitly as possible, otherwise people doing the implementation will diverge from logic.

@pohlposition
Copy link
Contributor

Relates to
#339 (Migrate Azure Service Principals that access storage to UC Storage Credentials)
and
#338 (Migrate AWS Instance Profile to UC Storage Credentials)

@zpappa
Copy link

zpappa commented Oct 9, 2023

So there's a bit of a catch-22 here.

We can try to force create a credential if it hasn't been set up on the cloud provider, but it may not work and you won't be able to sync tables or create external locations with that credential.

I think what needs to happen here is:

  1. We gather information from cloud provider about the credentials and what storage accounts they have access to
  2. We produce a report with some commands that a customer can run to create credentials
  3. OFFLINE, the customer has to go and create these credentials
  • What if they renamed the credentials, potential interactivity or mapping step
  • What if they collapsed credentials, potential interactivity or mapping step
  1. We create credentials in Unity
  2. We use the mapping information to register external locations
  3. Then we can use storage paths of external tables to map to their containing external locations

@nfx nfx reopened this Jan 30, 2024
@github-project-automation github-project-automation bot moved this from Archive to Refined in UCX Jan 30, 2024
@nfx nfx assigned FastLee and unassigned HariGS-DB and FastLee Jan 30, 2024
@nfx nfx changed the title Create CREDENTIALs and EXTERNAL LOCATIONs to map to External Tables Create EXTERNAL LOCATIONs to map to External Tables Jan 30, 2024
@nfx nfx added the cloud/azure issues related to Azure label Feb 5, 2024
@nkvuong nkvuong added the CUJ critial user journey label Feb 6, 2024
@FastLee FastLee changed the title Create EXTERNAL LOCATIONs to map to External Tables Create EXTERNAL LOCATIONs to map to External Tables (Azure) Mar 5, 2024
@nfx nfx closed this as completed in #992 Mar 6, 2024
@github-project-automation github-project-automation bot moved this from Refined to Archive in UCX Mar 6, 2024
@qziyuan qziyuan linked a pull request Mar 6, 2024 that will close this issue
11 tasks
nfx pushed a commit that referenced this issue Mar 6, 2024
## Changes
Add cli command `migrate_locations` to create UC external location.

### Linked issues
<!-- DOC: Link issue with a keyword: close, closes, closed, fix, fixes,
fixed, resolve, resolves, resolved. See
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->

#100 
#1006 

### Functionality 

- [ ] added relevant user documentation
- [ ] added new CLI command
- [ ] modified existing command: `databricks labs ucx ...`
- [ ] added a new workflow
- [ ] modified existing workflow: `...`
- [ ] added a new table
- [ ] modified existing table: `...`

### Tests
<!-- How is this tested? Please see the checklist below and also
describe any other relevant tests -->

- [ ] manually tested
- [ ] added unit tests
- [ ] added integration tests
- [ ] verified on staging environment (screenshot attached)
nfx pushed a commit that referenced this issue Mar 6, 2024
## Changes
<!-- Summary of your changes that are easy to understand. Add
screenshots when necessary -->

### Linked issues
<!-- DOC: Link issue with a keyword: close, closes, closed, fix, fixes,
fixed, resolve, resolves, resolved. See
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->

#100 
#1006 
#1009 

### Functionality 

- [ ] added relevant user documentation
- [ ] added new CLI command
- [ ] modified existing command: `databricks labs ucx ...`
- [ ] added a new workflow
- [ ] modified existing workflow: `...`
- [ ] added a new table
- [ ] modified existing table: `...`

### Tests
<!-- How is this tested? Please see the checklist below and also
describe any other relevant tests -->

- [ ] manually tested
- [ ] added unit tests
- [ ] added integration tests
- [ ] verified on staging environment (screenshot attached)
dmoore247 pushed a commit that referenced this issue Mar 23, 2024
## Changes
Add cli command `migrate_locations` to create UC external location.

### Linked issues
<!-- DOC: Link issue with a keyword: close, closes, closed, fix, fixes,
fixed, resolve, resolves, resolved. See
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->

#100 
#1006 

### Functionality 

- [ ] added relevant user documentation
- [ ] added new CLI command
- [ ] modified existing command: `databricks labs ucx ...`
- [ ] added a new workflow
- [ ] modified existing workflow: `...`
- [ ] added a new table
- [ ] modified existing table: `...`

### Tests
<!-- How is this tested? Please see the checklist below and also
describe any other relevant tests -->

- [ ] manually tested
- [ ] added unit tests
- [ ] added integration tests
- [ ] verified on staging environment (screenshot attached)
dmoore247 pushed a commit that referenced this issue Mar 23, 2024
## Changes
<!-- Summary of your changes that are easy to understand. Add
screenshots when necessary -->

### Linked issues
<!-- DOC: Link issue with a keyword: close, closes, closed, fix, fixes,
fixed, resolve, resolves, resolved. See
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->

#100 
#1006 
#1009 

### Functionality 

- [ ] added relevant user documentation
- [ ] added new CLI command
- [ ] modified existing command: `databricks labs ucx ...`
- [ ] added a new workflow
- [ ] modified existing workflow: `...`
- [ ] added a new table
- [ ] modified existing table: `...`

### Tests
<!-- How is this tested? Please see the checklist below and also
describe any other relevant tests -->

- [ ] manually tested
- [ ] added unit tests
- [ ] added integration tests
- [ ] verified on staging environment (screenshot attached)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cloud/azure issues related to Azure CUJ critial user journey enhancement New feature or request feat/cli CLI commands migrate/external go/uc/upgrade SYNC EXTERNAL TABLES step
Projects
Archived in project
7 participants