Skip to content

Commit

Permalink
Merge branch 'dbt-update-owner' of https://github.com/SumanMaharana/O…
Browse files Browse the repository at this point in the history
…penMetadata into dbt-update-owner
  • Loading branch information
SumanMaharana committed Dec 19, 2024
2 parents 16a5c26 + 3f9742f commit ee75252
Show file tree
Hide file tree
Showing 29 changed files with 429 additions and 58 deletions.
1 change: 0 additions & 1 deletion ingestion/tests/cli_e2e/base/config_builders/builders.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ def build(self) -> dict:
"type": "AutoClassification",
"storeSampleData": True,
"enableAutoClassification": False,
"profileSample": self.profilerSample,
}
}

Expand Down
2 changes: 0 additions & 2 deletions ingestion/tests/cli_e2e/database/mysql/mysql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,3 @@ workflowConfig:
authProvider: openmetadata
securityConfig:
jwtToken: "eyJraWQiOiJHYjM4OWEtOWY3Ni1nZGpzLWE5MmotMDI0MmJrOTQzNTYiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlzQm90IjpmYWxzZSwiaXNzIjoib3Blbi1tZXRhZGF0YS5vcmciLCJpYXQiOjE2NjM5Mzg0NjIsImVtYWlsIjoiYWRtaW5Ab3Blbm1ldGFkYXRhLm9yZyJ9.tS8um_5DKu7HgzGBzS1VTA5uUjKWOCU0B_j08WXBiEC0mr0zNREkqVfwFDD-d24HlNEbrqioLsBuFRiwIWKc1m_ZlVQbG7P36RUxhuv2vbSp80FKyNM-Tj93FDzq91jsyNmsQhyNv_fNr3TXfzzSPjHt8Go0FMMP66weoKMgW2PbXlhVKwEuXUHyakLLzewm9UMeQaEiRzhiTMU3UkLXcKbYEJJvfNFcLwSl9W8JCO_l0Yj3ud-qt_nQYEZwqW6u5nfdQllN133iikV4fM5QZsMCnm8Rq1mvLR0y9bmJiD7fwM1tmJ791TUWqmKaTnP49U493VanKpUAfzIiOiIbhg"


4 changes: 2 additions & 2 deletions ingestion/tests/cli_e2e/test_cli_mysql.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,12 @@ def expected_filtered_schema_excludes() -> int:

@staticmethod
def expected_filtered_table_includes() -> int:
return 84
return 134

@staticmethod
def expected_filtered_table_excludes() -> int:
return 4

@staticmethod
def expected_filtered_mix() -> int:
return 84
return 134
9 changes: 9 additions & 0 deletions ingestion/tests/cli_e2e/test_cli_oracle.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

from typing import List

import pytest

from metadata.ingestion.api.status import Status

from .base.e2e_types import E2EType
Expand Down Expand Up @@ -139,6 +141,7 @@ def expected_filtered_table_excludes() -> int:
def expected_filtered_mix() -> int:
return 43

@pytest.mark.order(2)
def test_create_table_with_profiler(self) -> None:
# delete table in case it exists
self.delete_table_and_view()
Expand All @@ -162,6 +165,7 @@ def test_create_table_with_profiler(self) -> None:
sink_status, source_status = self.retrieve_statuses(result)
self.assert_for_table_with_profiler(source_status, sink_status)

@pytest.mark.order(4)
def test_delete_table_is_marked_as_deleted(self) -> None:
"""3. delete the new table + deploy marking tables as deleted
Expand All @@ -180,6 +184,7 @@ def test_delete_table_is_marked_as_deleted(self) -> None:
sink_status, source_status = self.retrieve_statuses(result)
self.assert_for_delete_table_is_marked_as_deleted(source_status, sink_status)

@pytest.mark.order(5)
def test_schema_filter_includes(self) -> None:
self.build_config_file(
E2EType.INGEST_DB_FILTER_MIX,
Expand All @@ -195,9 +200,11 @@ def test_schema_filter_includes(self) -> None:
sink_status, source_status = self.retrieve_statuses(result)
self.assert_filtered_tables_includes(source_status, sink_status)

@pytest.mark.order(6)
def test_schema_filter_excludes(self) -> None:
pass

@pytest.mark.order(7)
def test_table_filter_includes(self) -> None:
"""6. Vanilla ingestion + include table filter pattern
Expand All @@ -217,6 +224,7 @@ def test_table_filter_includes(self) -> None:
sink_status, source_status = self.retrieve_statuses(result)
self.assert_filtered_tables_includes(source_status, sink_status)

@pytest.mark.order(1)
def test_vanilla_ingestion(self) -> None:
"""6. Vanilla ingestion
Expand All @@ -233,6 +241,7 @@ def test_vanilla_ingestion(self) -> None:
sink_status, source_status = self.retrieve_statuses(result)
self.assert_for_vanilla_ingestion(source_status, sink_status)

@pytest.mark.order(8)
def test_table_filter_excludes(self) -> None:
"""7. Vanilla ingestion + exclude table filter pattern
Expand Down
21 changes: 6 additions & 15 deletions openmetadata-docs/content/partials/v1.5/releases/latest.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 1.5.12 Release 🎉

{% note noteType="Tip" %}
**Nov 26th, 2024**
**Nov 29th, 2024**
{% /note %}

{% inlineCalloutContainer %}
Expand All @@ -10,24 +10,15 @@ color="violet-70"
icon="celebration"
bold="Upgrade OpenMetadata"
href="/deployment/upgrade" %}
Learn how to upgrade your OpenMetadata instance to 1.5.12!
Learn how to upgrade your OpenMetadata instance to 1.5.13!
{% /inlineCallout %}
{% /inlineCalloutContainer %}

You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.5.12-release).
You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.5.13-release).

# What's Changed

- Improvement: Added async apis for csv import.
- Improvement: Skip domain check for bots and admin
- Improvement: MYSQL lineage and usage.
- Minor: Added Lineage Field back to SearchLineage.
- Fix: Database is missing from the search dropdown
- Fix: Bad Representation of owners.
- Fix: The Daily Active Users Summary Card in Data Insights.
- Fix: The processing of URL Encoded Assets in Data Insights.
- Fix: Column Level Lineage export.
- Fix: Store procedure yielding by adding Try/Except.
- Fix: Lineage export when there is no column / pipeline edge.
- Minor: microstrategy patch login mode 1.5.13.
- MINOR: Snowflake UDF Lineage Support.

**Full Changelog**: https://github.com/open-metadata/OpenMetadata/compare/1.5.11-release...1.5.12-release
**Full Changelog**: https://github.com/open-metadata/OpenMetadata/compare/1.5.12-release...1.5.13-release
173 changes: 156 additions & 17 deletions openmetadata-docs/content/partials/v1.7/releases/latest.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 1.5.12 Release 🎉
# 1.6.1 Release 🎉

{% note noteType="Tip" %}
**Nov 26th, 2024**
**December 10th, 2024**
{% /note %}

{% inlineCalloutContainer %}
Expand All @@ -10,24 +10,163 @@ color="violet-70"
icon="celebration"
bold="Upgrade OpenMetadata"
href="/deployment/upgrade" %}
Learn how to upgrade your OpenMetadata instance to 1.5.12!
Learn how to upgrade your OpenMetadata instance to 1.6.1!
{% /inlineCallout %}
{% /inlineCalloutContainer %}

You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.5.12-release).
You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.6.1-release).

# What's Changed
# Backward Incompatible Changes

- Improvement: Added async apis for csv import.
- Improvement: Skip domain check for bots and admin
- Improvement: MYSQL lineage and usage.
- Minor: Added Lineage Field back to SearchLineage.
- Fix: Database is missing from the search dropdown
- Fix: Bad Representation of owners.
- Fix: The Daily Active Users Summary Card in Data Insights.
- Fix: The processing of URL Encoded Assets in Data Insights.
- Fix: Column Level Lineage export.
- Fix: Store procedure yielding by adding Try/Except.
- Fix: Lineage export when there is no column / pipeline edge.
### Ingestion Workflow Status

**Full Changelog**: https://github.com/open-metadata/OpenMetadata/compare/1.5.11-release...1.5.12-release
We are updating how we compute the success percentage. Previously, we took into account for partial success the results
of the Source (e.g., the tables we were able to properly retrieve from Snowflake, Redshift, etc.). This means that we had
an error threshold in there were if up to 90% of the tables were successfully ingested, we would still consider the
workflow as successful. However, any errors when sending the information to OpenMetadata would be considered as a failure.

Now, we're changing this behavior to consider the success rate of all the steps involved in the workflow. The UI will
then show more `Partial Success` statuses rather than `Failed`, properly reflecting the real state of the workflow.

### Database Metadata & Lineage Workflow

With 1.6 Release we are moving the `View Lineage` & `Stored Procedure Lineage` computation from metadata workflow to lineage workflow.

This means that we are removing the `overrideViewLineage` property from the `DatabaseServiceMetadataPipeline` schema which will be moved to the `DatabaseServiceQueryLineagePipeline` schema.

### Profiler & Auto Classification Workflow

We are creating a new `Auto Classification` workflow that will take care of managing the sample data and PII classification,
which was previously done by the Profiler workflow. This change will allow us to have a more modular and scalable system.

The Profiler workflow will now only focus on the profiling part of the data, while the Auto Classification will take care
of the rest.

This means that we are removing these properties from the `DatabaseServiceProfilerPipeline` schema:
- `generateSampleData`
- `processPiiSensitive`
- `confidence`
which will be moved to the new `DatabaseServiceAutoClassificationPipeline` schema.

What you will need to do:
- If you are using the **EXTERNAL** ingestion for the profiler (YAML configuration), you will need to update your configuration,
removing these properties as well.
- If you still want to use the Auto PII Classification and sampling features, you can create the new workflow
from the UI.

### RBAC Policy Updates for `EditTags`

We have given more granularity to the `EditTags` policy. Previously, it was a single policy that allowed the user to manage
any kind of tagging to the assets, including adding tags, glossary terms, and Tiers.

Now, we have split this policy to give further control on which kind of tagging the user can manage. The `EditTags` policy has been
split into:

- `EditTags`: to add tags.
- `EditGlossaryTerms`: to add Glossary Terms.
- `EditTier`: to add Tier tags.

### Collate - Metadata Actions for ML Tagging - Deprecation Notice

Since we are introducing the `Auto Classification` workflow, **we are going to remove in 1.7 the `ML Tagging` action**
from the Metadata Actions. That feature will be covered already by the `Auto Classification` workflow, which even brings
more flexibility allow the on-the-fly usage of the sample data for classification purposes without having to store
it in the database.

### Service Spec for the Ingestion Framework

This impacts users who maintain their own connectors for the ingestion framework that are **NOT** part of the
[OpenMetadata python library (openmetadata-ingestion)](https://github.com/open-metadata/OpenMetadata/tree/ff261fb3738f3a56af1c31f7151af9eca7a602d5/ingestion/src/metadata/ingestion/source).
Introducing the ["connector specifcication class (`ServiceSpec`)"](https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/src/metadata/utils/service_spec/service_spec.py).
The `ServiceSpec` class serves as the entrypoint for the connector and holds the references for the classes that will be used
to ingest and process the metadata from the source.
You can see [postgres](https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/src/metadata/ingestion/source/database/postgres/service_spec.py) for an
implementation example.


### Fivetran

The filtering of Fivetran pipelines now supports using their names instead of IDs. This change may affect existing configurations that rely on pipeline IDs for filtering.

### DBT Cloud Pipeline Service

We are removing the field `jobId` which we required to ingest dbt metadata from a specific job, instead of this we added a new field called `jobIds` which will accept multiple job ids to ingest metadata from multiple jobs.

### MicroStrategy

The `serviceType` for MicroStrategy connector is renamed from `Mstr` to `MicroStrategy`.

# What's New

## Visualizing Your Data Landscape with Entity Relationship (ER) Diagrams! (Collate)

Understanding complex database schemas can be challenging without clear visualization. While OpenMetadata's best-in-class Lineage UI helps track data flow, there are better options for viewing structural relationships between tables. Collate 1.6 introduces ER diagrams as a new feature to let you:

- Visualize table connections through primary and foreign key constraints
- Navigate between data assets to discover relationships
- Modify connections using the built-in UI editor

ER diagrams help you better understand and manage your data architecture by showing how your database tables relate to each other.

## Establishing Smooth Data Governance with Automated Glossary Approval Workflows! (Collate)

Organizations often struggle with data governance due to rigid, pre-defined manual workflows. OpenMetadata 1.6 introduces a new, automated data governance framework designed to be customized to each organization's needs.

In Collate 1.6, the Glossary Approval Workflow has been migrated to this new framework. Now, you can create custom approval processes with specific conditions and rules and easily visualize them through intuitive workflow diagrams. You can also create smart approval processes for glossary terms with real-time state changes and task creation to save time and streamline work. 

## Data Certification Workflows for Automated Bronze, Silver, & Gold Data Standardization! (Collate)

Collate 1.6 also leverages the new data governance framework for a new Data Certification Workflow, allowing you to define your organization's rules to certify your data as Bronze, Silver, or Gold. Certified assets are a great way to help users discover the right data and inform them which data has been properly curated.

Our vision is to expand our governance framework to allow our users to create their own Custom Governance workflows. We want to enable data teams to implement and automate data governance processes that perfectly fit your organization, promoting data quality and compliance.

## Maintaining a Healthy Data Platform with Observability Dashboards! (Collate)

Monitoring data quality and incident management across platforms can be challenging. OpenMetadata has been a pillar for data quality implementations, with its ability to create tests from the UI, native observability alerts, and Incident Manager. It offers data quality insights on a per-table level.

In Collate 1.6, we're introducing platform-wide observability dashboards that allow you to track overall data quality coverage trends and analyze incident response performance across your entire data estate. Quickly identify root causes through enhanced asset and lineage views and enable proactive data quality management across your entire data ecosystem.

## Elevating Metric Management with Dedicated Metric Entities

Metrics are essential for data-driven organizations, but OpenMetadata previously lacked dedicated metric management, forcing users to use glossary terms as a workaround.

The new "Metric" entity in OpenMetadata 1.6 provides a purpose-built solution to:

- Document detailed metric calculations and descriptions
- Record calculation formulas and implementation code (Python, Java, SQL, LaTeX)
- Visualize metric lineage from source data to insights

This new addition helps teams better manage, understand, and calculate their business KPIs, for improved data literacy and consistency across data teams.

## Reinforcing Data Security with Search RBAC

OpenMetadata's Roles and Policies enable granular permission control, ensuring appropriate access to metadata across different domains and teams. Some data teams may wish to enable data discovery to search for other tables while still enforcing controls with access requests. Other data teams in more restrictive environments may also wish to control the search experience.

OpenMetadata 1.6 extends Role-Based Access Control (RBAC) to search functionality, allowing administrators to tailor user search experience. This provides personalized search results, with users only seeing assets they have permission to access, as well as stronger data governance by ensuring users only interact with data within their defined roles and responsibilities.

## Expanded Connector Ecosystem and Diversity

OpenMetadata's ingestion framework contains 80+ native connectors. These connectors are the foundation of the platform and bring in all the metadata your team needs: technical metadata, lineage, usage, profiling, etc.

We bring new connectors in each release, continuously expanding our coverage. This time, release 1.6 comes with seven new connectors:

1. **OpenAPI**: Extract rich metadata from OpenAPI specifications, including endpoints and schemas.

2. **Sigma**: Bringing in your BI dashboard information.

3. **Exasol**: Gain insights into your Exasol database, now supported thanks to Nicola Coretti's OSS contribution!

And in Collate, we are bringing four ETL, dashboarding and ML tools: Matillion, Azure Data Factory, Stitch, PowerBI Server and Vertex AI!

## Streamlining Data Management with Additional Enhancements

Release 1.6 comes with several other notable improvements:

- Asynchronous Export APIs: Enjoy increased efficiency when exporting and importing large datasets with new asynchronous APIs.
- Faster Search Re-indexing: Experience significantly improved performance in search re-indexing, making data discovery even smoother.
- Improved Data Insights Custom Dashboards UI (Collate): To make it even easier to write your own insights dashboards in Collate.
- Slack Integration (Collate): Collate is releasing a new Application that lets your users find and share assets directly within your Slack workspace!
- Alert Debuggability: Allowing users to test the destinations and see whenever the alert was triggered.
- And even more fixes and improvements!

**Full Changelog**: https://github.com/open-metadata/OpenMetadata/compare/1.5.13-release...1.6.1-release
2 changes: 2 additions & 0 deletions openmetadata-docs/content/v1.5.x/collate-menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -798,6 +798,8 @@ site_menu:
url: /releases/supported
- category: Releases / All Releases
url: /releases/all-releases
- category: Releases / All Releases / 1.5.12 Release
url: /releases/all-releases/#1.5.12-release
- category: Releases / All Releases / 1.5.11 Release
url: /releases/all-releases/#1.5.11-release
- category: Releases / All Releases / 1.5.10 Release
Expand Down
2 changes: 2 additions & 0 deletions openmetadata-docs/content/v1.5.x/menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,8 @@ site_menu:
url: /releases/supported
- category: Releases / All Releases
url: /releases/all-releases
- category: Releases / All Releases / 1.5.12 Release
url: /releases/all-releases/#1.5.12-release
- category: Releases / All Releases / 1.5.11 Release
url: /releases/all-releases/#1.5.11-release
- category: Releases / All Releases / 1.5.10 Release
Expand Down
24 changes: 24 additions & 0 deletions openmetadata-docs/content/v1.5.x/releases/releases/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,30 @@ version. To see what's coming in next releases, please check our [Roadmap](/rele

{% partial file="/v1.5/releases/latest.md" /%}

# 1.5.12 Release

{% note noteType="Tip" %}
**Nov 26th, 2024**
{% /note %}

You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.5.12-release).

# What's Changed

- Improvement: Added async apis for csv import.
- Improvement: Skip domain check for bots and admin
- Improvement: MYSQL lineage and usage.
- Minor: Added Lineage Field back to SearchLineage.
- Fix: Database is missing from the search dropdown
- Fix: Bad Representation of owners.
- Fix: The Daily Active Users Summary Card in Data Insights.
- Fix: The processing of URL Encoded Assets in Data Insights.
- Fix: Column Level Lineage export.
- Fix: Store procedure yielding by adding Try/Except.
- Fix: Lineage export when there is no column / pipeline edge.

**Full Changelog**: https://github.com/open-metadata/OpenMetadata/compare/1.5.11-release...1.5.12-release

# 1.5.11 Release

{% note noteType="Tip" %}
Expand Down
4 changes: 4 additions & 0 deletions openmetadata-docs/content/v1.6.x/collate-menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -851,6 +851,10 @@ site_menu:
url: /releases/supported
- category: Releases / All Releases
url: /releases/all-releases
- category: Releases / All Releases / 1.5.13 Release
url: /releases/all-releases/#1.5.13-release
- category: Releases / All Releases / 1.5.12 Release
url: /releases/all-releases/#1.5.12-release
- category: Releases / All Releases / 1.5.11 Release
url: /releases/all-releases/#1.5.11-release
- category: Releases / All Releases / 1.5.10 Release
Expand Down
4 changes: 4 additions & 0 deletions openmetadata-docs/content/v1.6.x/menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -941,6 +941,10 @@ site_menu:
url: /releases/supported
- category: Releases / All Releases
url: /releases/all-releases
- category: Releases / All Releases / 1.5.13 Release
url: /releases/all-releases/#1.5.13-release
- category: Releases / All Releases / 1.5.12 Release
url: /releases/all-releases/#1.5.12-release
- category: Releases / All Releases / 1.5.11 Release
url: /releases/all-releases/#1.5.11-release
- category: Releases / All Releases / 1.5.10 Release
Expand Down
Loading

0 comments on commit ee75252

Please sign in to comment.