Skip to content

join-collection --workspace-ids` scans ALL account workspaces instead of filtering first #4858

Description

@sha1l3sh

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

join-collection --workspace-ids <ids> scans ALL workspaces in the account,
not just the specified IDs. This produces PermissionDenied warnings for every
inaccessible workspace and takes several minutes in accounts with 100+ workspaces.

Expected Behavior

join-collection --workspace-ids ` should only scan and attempt to access
the specified workspace IDs, not all workspaces in the account.

Steps To Reproduce

  1. Install UCX on required workspace
  2. databricks labs ucx join-collection --workspace-ids --profile ucx-account

Cloud

Azure

Operating System

Windows

Version

latest via Databricks CLI

Relevant log output

PS C:\Users\userNameRedacted> $TEST_IDS = "<comma separated workspace-ids>"   
PS C:\Users\userNameRedacted> databricks labs ucx join-collection --workspace-ids $TEST_IDS --profile ucx-account
20:22:22  WARNING [databricks.sdk] Failed to get token for subscription. Using resource only token.
20:22:26  WARNING [d.l.u.account.workspaces] User cannot access workspace: REDACTED_WORKSPACE_DEPLOYMENT_NAME
Traceback (most recent call last):
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\lib\src\databricks\labs\ucx\account\workspaces.py", line 215, in can_administer
    current_user = ws.current_user.me()
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\service\iam.py", line 3272, in me
    res = self._api.do("GET", "/api/2.0/preview/scim/v2/Me", headers=headers)
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\core.py", line 85, in do
    return self._api_client.do(
           ~~~~~~~~~~~~~~~~~~~^
        method=method,
        ^^^^^^^^^^^^^^
    ...<8 lines>...
        response_headers=response_headers,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\_base_client.py", line 196, in do
    response = call(
        method,
    ...<7 lines>...
        auth=auth,
    )
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\retries.py", line 57, in wrapper
    raise err
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\retries.py", line 36, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\userNameRedacted\.databricks\labs\ucx\state\venv\Lib\site-packages\databricks\sdk\_base_client.py", line 298, in _perform
    raise error from None
databricks.sdk.errors.platform.PermissionDenied: Unauthorized access to Org: REDACTED [ReqId: REDACTED]. Config: host=https://REDACTED_WORKSPACE_DEPLOYMENT_NAME.azuredatabricks.net, account_id=None, token_audience=REDACTED, azure_workspace_resource_id=/subscriptions/REDACTED/resourceGroups/REDACTED/providers/Microsoft.Databricks/workspaces/REDACTED, azure_tenant_id=REDACTED, databricks_cli_path=C:\Users\userNameRedacted\AppData\Local\Microsoft\WinGet\Packages\Databricks.DatabricksCLI_Microsoft.Winget.Source_8wekyb3d8bbwe\databricks.exe, auth_type=azure-cli. Env: DATABRICKS_HOST, DATABRICKS_ACCOUNT_ID, DATABRICKS_TOKEN_AUDIENCE, DATABRICKS_CLI_PATH, DATABRICKS_AUTH_TYPE
20:22:29  WARNING [databricks.sdk] Failed to get token for subscription. Using resource only token.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    • Status
      Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions