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

Test failure: test_hiveserde_table_ctas_migration_job #3788

Closed
github-actions bot opened this issue Feb 27, 2025 · 0 comments · Fixed by #3789
Closed

Test failure: test_hiveserde_table_ctas_migration_job #3788

github-actions bot opened this issue Feb 27, 2025 · 0 comments · Fixed by #3789
Assignees
Labels

Comments

@github-actions
Copy link

❌ test_hiveserde_table_ctas_migration_job: databricks.labs.blueprint.parallel.ManyError: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]] (52.079s)
databricks.labs.blueprint.parallel.ManyError: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
[gw1] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
05:20 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/config.yml) doesn't exist.
05:20 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
05:20 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
05:20 INFO [databricks.labs.ucx.install] Fetching installations...
05:20 WARNING [databricks.labs.ucx.install] Existing installation at /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ is corrupted. Skipping...
05:20 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
05:20 DEBUG [tests.integration.conftest] Waiting for clusters to start...
05:20 DEBUG [tests.integration.conftest] Waiting for clusters to start...
05:20 INFO [databricks.labs.ucx.install] Installing UCX v0.56.1+220250227052048
05:20 INFO [databricks.labs.ucx.install] Creating ucx schemas...
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-data-reconciliation
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=scan-tables-in-mounts-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migration-progress-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-legacy
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=failing
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables-in-mounts-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-external-hiveserde-tables-in-place-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-external-tables-ctas
05:21 INFO [databricks.labs.ucx.install] Creating dashboards...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/groups...
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/groups'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]]
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]]
05:21 CRITICAL [databricks.labs.blueprint.parallel] All 'installing dashboards' tasks failed!!!
05:21 ERROR [databricks.labs.blueprint.parallel] installing components task failed: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 557, in _create_database_and_dashboards
    Threads.strict("installing dashboards", list(self._get_create_dashboard_tasks()))
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 63, in strict
    raise ManyError(errs)
databricks.labs.blueprint.parallel.ManyError: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
05:21 ERROR [databricks.labs.blueprint.parallel] More than half 'installing components' tasks failed: 0% results available (0/2). Took 0:00:14.881822
05:20 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/config.yml) doesn't exist.
05:20 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
05:20 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
05:20 INFO [databricks.labs.ucx.install] Fetching installations...
05:20 WARNING [databricks.labs.ucx.install] Existing installation at /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ is corrupted. Skipping...
05:20 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
05:20 DEBUG [tests.integration.conftest] Waiting for clusters to start...
05:20 DEBUG [tests.integration.conftest] Waiting for clusters to start...
05:20 INFO [databricks.labs.ucx.install] Installing UCX v0.56.1+220250227052048
05:20 INFO [databricks.labs.ucx.install] Creating ucx schemas...
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-data-reconciliation
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=scan-tables-in-mounts-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migration-progress-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-legacy
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=failing
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables-in-mounts-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-external-hiveserde-tables-in-place-experimental
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
05:20 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-external-tables-ctas
05:21 INFO [databricks.labs.ucx.install] Creating dashboards...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration...
05:21 DEBUG [databricks.labs.ucx.install] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/main...
05:21 INFO [databricks.labs.ucx.install] Creating dashboard in /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/groups...
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/groups'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]]
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/migration/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/progress/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
05:21 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
05:21 ERROR [databricks.labs.blueprint.parallel] installing dashboards(PosixPath('/home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main'), parent_path='/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1fGJ/dashboards') task failed: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 670, in _create_dashboard
    dashboard = Dashboards(self._ws).create_dashboard(
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/lsql/dashboards.py", line 1138, in create_dashboard
    sdk_dashboard = self._ws.lakeview.create(dashboard=dashboard_to_create)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/service/dashboards.py", line 1487, in create
    res = self._api.do('POST', '/api/2.0/lakeview/dashboards', body=body, headers=headers)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/core.py", line 77, in do
    return self._api_client.do(method=method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 173, in do
    response = call(method,
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 54, in wrapper
    raise err
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/retries.py", line 33, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/sdk/_base_client.py", line 279, in _perform
    raise error from None
databricks.sdk.errors.platform.InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]]
05:21 CRITICAL [databricks.labs.blueprint.parallel] All 'installing dashboards' tasks failed!!!
05:21 ERROR [databricks.labs.blueprint.parallel] installing components task failed: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 158, in inner
    return func(*args, **kwargs), None
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/install.py", line 557, in _create_database_and_dashboards
    Threads.strict("installing dashboards", list(self._get_create_dashboard_tasks()))
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/databricks/labs/blueprint/parallel.py", line 63, in strict
    raise ManyError(errs)
databricks.labs.blueprint.parallel.ManyError: Detected 7 failures: InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Azure)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Estimates)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Interactive)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Assessment (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Groups)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Migration (Main)]], InvalidParameterValue: validation failed: [resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [[1FGJ] UCX  Progress (Main)], resource names should only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), or underscores (_) [02_0_owner.filter_widget]]
05:21 ERROR [databricks.labs.blueprint.parallel] More than half 'installing components' tasks failed: 0% results available (0/2). Took 0:00:14.881822
05:21 INFO [databricks.labs.ucx.install] Deleting UCX v0.56.1+220250227052048 from https://DATABRICKS_HOST
05:21 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_scjcl
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=336134952677367, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=947325079733219, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=562472812683797, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=892247436855505, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=11965735857791, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=380628924392287, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=894591349420098, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=43870216473624, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=1019475608182208, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=899444213554473, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=995425120570535, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=371316259173319, as it is no longer needed
05:21 INFO [databricks.labs.ucx.installer.workflows] Removing job_id=580460679318623, as it is no longer needed
05:21 INFO [databricks.labs.ucx.install] Deleting cluster policy
05:21 INFO [databricks.labs.ucx.install] Deleting secret scope
05:21 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw1] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python

Running from nightly #417

@github-actions github-actions bot added the bug label Feb 27, 2025
@JCZuurmond JCZuurmond self-assigned this Feb 27, 2025
@JCZuurmond JCZuurmond added this to UCX Feb 27, 2025
@github-project-automation github-project-automation bot moved this to Todo in UCX Feb 27, 2025
@JCZuurmond JCZuurmond moved this from Todo to In Progress in UCX Feb 27, 2025
github-merge-queue bot pushed a commit that referenced this issue Feb 27, 2025
## Changes

Dashboard names should only contain alphanumeric characters (a-z, A-Z,
0-9), hyphens (-), or underscores (_)

Fix for failing tests in
https://github.com/databrickslabs/ucx/actions/runs/13559322493

### Linked issues

Resolves #3761
Resolves #3762 
Resolves #3763 
Resolves #3764 
Resolves #3769 
Resolves #3770 
Resolves #3771
Resolves #3772 
Resolves #3773 
Resolves #3774 
Resolves #3775
Resolves #3776 
Resolves #3777 
Resolves #3778
Resolves #3779
Resolves #3780
Resolves #3781 
Resolves #3782 
Resolves #3783 
Resolves #3784
Resolves #3785 
Resolves #3786 
Resolves #3787 
Resolves #3788 

### Functionality

- [x] modified existing command: `databricks labs install ucx`

### Tests

- [x] manually tested
@github-project-automation github-project-automation bot moved this from In Progress to Done in UCX Feb 27, 2025
gueniai added a commit that referenced this issue Mar 5, 2025
* Convert UCX job ids to `int` before passing to `JobsCrawler` ([#3816](#3816)). In this release, we have addressed issue [#3722](#3722) and improved the robustness of the open-source library by modifying the `jobs_crawler` method to handle job IDs more effectively. Previously, job IDs were passed directly to the `exclude_job_ids` parameter, which could cause issues if they were not integers. To address this problem, we have updated the `jobs_crawler` method to convert all job IDs to integers using a list comprehension before passing them to the method. This change ensures that only valid integer job IDs are used, thereby enhancing the reliability of the method. The commit includes a manual test to confirm the correct behavior of this modification. In summary, this modification improves the robustness of the code by ensuring that integer job IDs are utilized correctly in the `JobsCrawler` method.
* Exclude UCX jobs from crawling ([#3733](#3733)). In this release, we have made modifications to the `JobsCrawler` and the existing `assessment` workflow to exclude UCX jobs from crawling, avoiding confusion for users when they appear in assessment reports. This change addresses issues [#3656](#3656) and [#3722](#3722), and is a follow-up to previous issue [#3732](#3732). We have also incorporated updates from pull requests [#3767](#3767) and [#3759](#3759) to improve integration tests and linting. Additionally, a retry mechanism has been added to wait for grants to exist before crawling, addressing issue [#3758](#3758). The changes include the addition of unit and integration tests to ensure the correctness of the modifications. A new `exclude_job_ids` parameter has been added to the `JobsCrawler` constructor, which is initialized with the list of UCX job IDs, ensuring that UCX jobs are not included in the assessment report. The `_list_jobs` method now excludes jobs based on the provided `exclude_job_ids` and `include_job_ids` arguments. The `_crawl` method now uses the `_list_jobs` method to list the jobs to be crawled. The `_assess_jobs` method has been updated to take into account the exclusion of specific job IDs. The `test_grant_detail` file, an integration test for the Hive Metastore grants functionality, has been updated to include a retry mechanism to wait for grants to exist before crawling and to check if the SELECT permission on ANY FILE is present in the grants.
* Let `WorkflowLinter.refresh_report` lint jobs from `JobsCrawler` ([#3732](#3732)). In this release, the `WorkflowLinter.refresh_report` method has been updated to lint jobs from the `JobsCrawler` class, ensuring that only jobs within the scope of the crawler are processed. This change resolves issue [#3662](#3662) and progresses issue [#3722](#3722). The workflow linting code, the `assessment` workflow, and the `JobsCrawler` class have been modified. The `JobsCrawler` class now includes a `snapshot` method, which is used in the `WorkflowLinter.refresh_report` method to retrieve necessary data about jobs. Unit and integration tests have been updated correspondingly, with the integration test for workflows now verifying that all rows returned from a query to the `workflow_problems` table have a valid `path` field. The `WorkflowLinter` constructor now includes an instance of `JobsCrawler`, allowing for more targeted linting of jobs. The introduction of the `JobsCrawler` class enables more efficient and precise linting of jobs, improving the overall accuracy of workflow assessment.
* Let dashboard name adhere to naming convention ([#3789](#3789)). In this release, the naming convention for dashboard names in the `ucx` library has been enforced, restricting them to alphanumeric characters, hyphens, and underscores. This change replaces any non-conforming characters in existing dashboard names with hyphens or underscores, addressing several issues ([#3761](#3761) through [#3788](#3788)). A temporary fix has been added to the `_create_dashboard` method to ensure newly created dashboard names adhere to the new naming convention, indicated by a TODO comment. This release also resolves a test failure in a specific GitHub Actions run and addresses a total of 29 issues. The specifics of the modification made to the `databricks labs install ucx` command and the changes to existing functionality are not detailed, making it difficult to assess their scope. The commit includes the deletion of a file called `02_0_owner.filter.yml`, and all changes have been manually tested. For future reference, it would be helpful to include more information about the changes made, their impact, and the reason for deleting the specified file.
* Partial revert `Let dashboard name adhere to naming convention` ([#3794](#3794)). In this release, we have partially reverted a previous change to the migration progress dashboard, reintroducing the owner filter. This change was made in response to feedback from users who found the previous modification to the dashboard less intuitive. The new owner filter has been defined in a new file, '02_0_owner.filter.yml', which includes the title, column name, type, and width of the filter. To ensure proper functionality, this change requires the release of lsql after merging. The change has been thoroughly tested to guarantee its correct operation and to provide the best possible user experience.
* Partial revert `Let dashboard name adhere to naming convention` ([#3795](#3795)). In this release, we have partially reversed a previous change that enforced a naming convention for dashboard names, allowing the use of special characters such as spaces and brackets again. The `_create_dashboard` method in the `install.py` file and the `_name` method in the `mixins.py` file have been updated to reflect this change, affecting the migration progress dashboard. The `display_name` attribute of the `metadata` object has been updated to use the original format, which may include special characters. The `reference` variable has also been updated accordingly. The functions `created_job_tasks` and `created_job` have been updated to use the new naming convention when retrieving installation jobs with specific names. These changes have been manually tested and the tests have been verified to work correctly after the reversion. This change is related to issues [#3799](#3799), [#3789](#3789), and reverts commit 048bc8f.
* Put back dashboard names ([#3808](#3808)). In the lsql release v0.16.0, the naming convention for dashboards has been updated to support non-alphanumeric characters in the dashboard names. This change modifies the `_create_dashboard` function in `install.py` and the `_name` method in `mixins.py` to create dashboard names with a format like `[UCX] assessment (Main)`, which includes parent and child folder names. This update addresses issues reported in tickets [#3797](#3797) and [#3790](#3790), and partially reverses previous changes made in commits 4017a25 and 834ef14. The functionality of other methods remains unchanged. With this release, the `created_job_tasks` and `created_job` functions now accept dashboard names with non-alphanumeric characters as input.
* Updated databricks-labs-lsql requirement from <0.15,>=0.14.0 to >=0.14.0,<0.17 ([#3801](#3801)). In this update, we have updated the required version of the `dat ab ricks-l abs-ls ql` package from a version greater than or equal to 0.15.0 and less than 0.16.0 to a version greater than or equal to 0.16.0 and less than 0.17.0. This change allows for the use of the latest version of the package, which includes various bug fixes and dependency updates. The package is utilized in the acceptance tests that are run as part of the CI/CD pipeline. With this update, the acceptance tests can now be executed using the most recent version of the package, resulting in enhanced functionality and reliability.
* Updated databricks-sdk requirement from <0.42,>=0.40 to >=0.44,<0.45 ([#3686](#3686)). In this release, we have updated the version requirement for the `databricks-sdk` package to be greater than or equal to 0.44.0 and less than 0.45.0. This update allows for the use of the latest version of the `databricks-sdk`, which includes new methods, fields, and bug fixes. For instance, the `get_message_query_result_by_attachment` method has been added for the `w.genie.workspace_level_service`, and several fields such as `review_state`, `reviews`, and `runner_collaborators` have been removed for the `databricks.sdk.service.clean_rooms.CleanRoomAssetNotebook` object. Additionally, the `securable_kind` field has been removed for various objects such as `CatalogInfo` and `ConnectionInfo`. We recommend thoroughly testing this update to ensure compatibility with your project. The release notes for versions 0.44.0 and 0.43.0 can be found in the commit history. Please note that there are several backward-incompatible changes listed in the changelog for both versions.

Dependency updates:

 * Updated databricks-labs-lsql requirement from <0.15,>=0.14.0 to >=0.14.0,<0.17 ([#3801](#3801)).
 * Updated databricks-sdk requirement from <0.42,>=0.40 to >=0.44,<0.45 ([#3686](#3686)).
gueniai added a commit that referenced this issue Mar 5, 2025
* Convert UCX job ids to `int` before passing to `JobsCrawler`
([#3816](#3816)). In this
release, we have addressed issue
[#3722](#3722) and improved
the robustness of the open-source library by modifying the
`jobs_crawler` method to handle job IDs more effectively. Previously,
job IDs were passed directly to the `exclude_job_ids` parameter, which
could cause issues if they were not integers. To address this problem,
we have updated the `jobs_crawler` method to convert all job IDs to
integers using a list comprehension before passing them to the method.
This change ensures that only valid integer job IDs are used, thereby
enhancing the reliability of the method. The commit includes a manual
test to confirm the correct behavior of this modification. In summary,
this modification improves the robustness of the code by ensuring that
integer job IDs are utilized correctly in the `JobsCrawler` method.
* Exclude UCX jobs from crawling
([#3733](#3733)). In this
release, we have made modifications to the `JobsCrawler` and the
existing `assessment` workflow to exclude UCX jobs from crawling,
avoiding confusion for users when they appear in assessment reports.
This change addresses issues
[#3656](#3656) and
[#3722](#3722), and is a
follow-up to previous issue
[#3732](#3732). We have also
incorporated updates from pull requests
[#3767](#3767) and
[#3759](#3759) to improve
integration tests and linting. Additionally, a retry mechanism has been
added to wait for grants to exist before crawling, addressing issue
[#3758](#3758). The changes
include the addition of unit and integration tests to ensure the
correctness of the modifications. A new `exclude_job_ids` parameter has
been added to the `JobsCrawler` constructor, which is initialized with
the list of UCX job IDs, ensuring that UCX jobs are not included in the
assessment report. The `_list_jobs` method now excludes jobs based on
the provided `exclude_job_ids` and `include_job_ids` arguments. The
`_crawl` method now uses the `_list_jobs` method to list the jobs to be
crawled. The `_assess_jobs` method has been updated to take into account
the exclusion of specific job IDs. The `test_grant_detail` file, an
integration test for the Hive Metastore grants functionality, has been
updated to include a retry mechanism to wait for grants to exist before
crawling and to check if the SELECT permission on ANY FILE is present in
the grants.
* Let `WorkflowLinter.refresh_report` lint jobs from `JobsCrawler`
([#3732](#3732)). In this
release, the `WorkflowLinter.refresh_report` method has been updated to
lint jobs from the `JobsCrawler` class, ensuring that only jobs within
the scope of the crawler are processed. This change resolves issue
[#3662](#3662) and
progresses issue
[#3722](#3722). The workflow
linting code, the `assessment` workflow, and the `JobsCrawler` class
have been modified. The `JobsCrawler` class now includes a `snapshot`
method, which is used in the `WorkflowLinter.refresh_report` method to
retrieve necessary data about jobs. Unit and integration tests have been
updated correspondingly, with the integration test for workflows now
verifying that all rows returned from a query to the `workflow_problems`
table have a valid `path` field. The `WorkflowLinter` constructor now
includes an instance of `JobsCrawler`, allowing for more targeted
linting of jobs. The introduction of the `JobsCrawler` class enables
more efficient and precise linting of jobs, improving the overall
accuracy of workflow assessment.
* Let dashboard name adhere to naming convention
([#3789](#3789)). In this
release, the naming convention for dashboard names in the `ucx` library
has been enforced, restricting them to alphanumeric characters, hyphens,
and underscores. This change replaces any non-conforming characters in
existing dashboard names with hyphens or underscores, addressing several
issues ([#3761](#3761)
through [#3788](#3788)). A
temporary fix has been added to the `_create_dashboard` method to ensure
newly created dashboard names adhere to the new naming convention,
indicated by a TODO comment. This release also resolves a test failure
in a specific GitHub Actions run and addresses a total of 29 issues. The
specifics of the modification made to the `databricks labs install ucx`
command and the changes to existing functionality are not detailed,
making it difficult to assess their scope. The commit includes the
deletion of a file called `02_0_owner.filter.yml`, and all changes have
been manually tested. For future reference, it would be helpful to
include more information about the changes made, their impact, and the
reason for deleting the specified file.
* Partial revert `Let dashboard name adhere to naming convention`
([#3794](#3794)). In this
release, we have partially reverted a previous change to the migration
progress dashboard, reintroducing the owner filter. This change was made
in response to feedback from users who found the previous modification
to the dashboard less intuitive. The new owner filter has been defined
in a new file, '02_0_owner.filter.yml', which includes the title, column
name, type, and width of the filter. To ensure proper functionality,
this change requires the release of lsql after merging. The change has
been thoroughly tested to guarantee its correct operation and to provide
the best possible user experience.
* Partial revert `Let dashboard name adhere to naming convention`
([#3795](#3795)). In this
release, we have partially reversed a previous change that enforced a
naming convention for dashboard names, allowing the use of special
characters such as spaces and brackets again. The `_create_dashboard`
method in the `install.py` file and the `_name` method in the
`mixins.py` file have been updated to reflect this change, affecting the
migration progress dashboard. The `display_name` attribute of the
`metadata` object has been updated to use the original format, which may
include special characters. The `reference` variable has also been
updated accordingly. The functions `created_job_tasks` and `created_job`
have been updated to use the new naming convention when retrieving
installation jobs with specific names. These changes have been manually
tested and the tests have been verified to work correctly after the
reversion. This change is related to issues
[#3799](#3799),
[#3789](#3789), and reverts
commit 048bc8f.
* Put back dashboard names
([#3808](#3808)). In the
lsql release v0.16.0, the naming convention for dashboards has been
updated to support non-alphanumeric characters in the dashboard names.
This change modifies the `_create_dashboard` function in `install.py`
and the `_name` method in `mixins.py` to create dashboard names with a
format like `[UCX] assessment (Main)`, which includes parent and child
folder names. This update addresses issues reported in tickets
[#3797](#3797) and
[#3790](#3790), and
partially reverses previous changes made in commits 4017a25 and
834ef14. The functionality of other methods remains unchanged.
With this release, the `created_job_tasks` and `created_job` functions
now accept dashboard names with non-alphanumeric characters as input.
* Updated databricks-labs-lsql requirement from <0.15,>=0.14.0 to
>=0.14.0,<0.17
([#3801](#3801)). In this
update, we have updated the required version of the `dat ab ricks-l
abs-ls ql` package from a version greater than or equal to 0.15.0 and
less than 0.16.0 to a version greater than or equal to 0.16.0 and less
than 0.17.0. This change allows for the use of the latest version of the
package, which includes various bug fixes and dependency updates. The
package is utilized in the acceptance tests that are run as part of the
CI/CD pipeline. With this update, the acceptance tests can now be
executed using the most recent version of the package, resulting in
enhanced functionality and reliability.
* Updated databricks-sdk requirement from <0.42,>=0.40 to >=0.44,<0.45
([#3686](#3686)). In this
release, we have updated the version requirement for the
`databricks-sdk` package to be greater than or equal to 0.44.0 and less
than 0.45.0. This update allows for the use of the latest version of the
`databricks-sdk`, which includes new methods, fields, and bug fixes. For
instance, the `get_message_query_result_by_attachment` method has been
added for the `w.genie.workspace_level_service`, and several fields such
as `review_state`, `reviews`, and `runner_collaborators` have been
removed for the
`databricks.sdk.service.clean_rooms.CleanRoomAssetNotebook` object.
Additionally, the `securable_kind` field has been removed for various
objects such as `CatalogInfo` and `ConnectionInfo`. We recommend
thoroughly testing this update to ensure compatibility with your
project. The release notes for versions 0.44.0 and 0.43.0 can be found
in the commit history. Please note that there are several
backward-incompatible changes listed in the changelog for both versions.

Dependency updates:

* Updated databricks-labs-lsql requirement from <0.15,>=0.14.0 to
>=0.14.0,<0.17
([#3801](#3801)).
* Updated databricks-sdk requirement from <0.42,>=0.40 to >=0.44,<0.45
([#3686](#3686)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant