csv-parser merge requestshttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests2023-08-18T10:54:23Zhttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/173DAGs Bootstrap [GONRG-3678]2023-08-18T10:54:23ZMikhail Piatliou (EPAM)DAGs Bootstrap [GONRG-3678]GONRG-3678:
- job to push images for csv-parser to GitLab registry
- job for building DAGs bootstrap Deployment Framework image
- Dockerfile and script to bootstrap DAGsGONRG-3678:
- job to push images for csv-parser to GitLab registry
- job for building DAGs bootstrap Deployment Framework image
- Dockerfile and script to bootstrap DAGsM10 - Release 0.13Mikhail Piatliou (EPAM)Mikhail Piatliou (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/180GONRG-3993 Migrate csv-parser to anthos (new approach)2021-12-28T07:38:33ZAnastasiia GelmutGONRG-3993 Migrate csv-parser to anthos (new approach)## Type of change
- [ ] Bug Fix
- [x] Feature
**Please provide link to gitlab issue or ADR(Architecture Decision Record)**
---
## Does this introduce a change in the core logic?
- [NO]
## Does this introduce a change in the cloud p...## Type of change
- [ ] Bug Fix
- [x] Feature
**Please provide link to gitlab issue or ADR(Architecture Decision Record)**
---
## Does this introduce a change in the core logic?
- [NO]
## Does this introduce a change in the cloud provider implementation, if so which cloud?
- [ ] AWS
- [ ] Azure
- [x] GCP
- [ ] IBM
## Does this introduce a breaking change?
- [NO]
## What is the current behavior?
Csv-parser works with Blobs and messaging directly.
## What is the new/expected behavior?
Csv-parser service will use EPAM OBM, OQM mappers for data management flexibility
## Have you added/updated Unit Tests and Integration Tests?
yes
## Any other useful information
### Features of implementation
This is a universal solution created using EPAM OBM and OQM mappers technology. It allows you to work with various implementations of data stores and message brokers.
#### Limitations of the current version
In the current version, the mappers are equipped with several drivers to the stores and the message broker:
* OBM (mapper to Blob stores): Google Cloud Storage (GCS); MinIO
* OQM (mapper to message brokers): Google PubSub; RabbitMQ
#### Extensibility
To use any other store or message broker, implement a driver for it. With an extensible set of drivers, the solution is unrestrictedly universal and portable without modification to the main code.
#### Mapper tuning mechanisms
This service uses specific implementations of DestinationResolvers based on the tenant information provided by the OSDU Partition service. A total of 6 resolvers are implemented, which are divided into two groups:
##### for universal technologies:
* for MinIO: mappers/oqm/MioTenantOqmDestinationResolver.java
* for RabbitMQ: mappers/oqm/MqTenantOqmDestinationResolver.java
###### Their algorithms are as follows:
* incoming Destination carries data-partition-id
* resolver accesses the Partition service and gets PartitionInfo
* from PartitionInfo resolver retrieves properties for the connection: URL, username, password etc.
* resolver creates a data source, connects to the resource, remembers the datasource
* resolver gives the datasource to the mapper in the Resolution object
##### for native Google Cloud technologies:
* for GCS: mappers/oqm/CsTenantOqmDestinationResolver.java
* for PubSub: mappers/oqm/PsTenantOqmDestinationResolver.java
###### Their algorithms are similar,
Except that they do not receive special properties from the Partition service for connection, because the location of the resources is unambiguously known - they are in the GCP project. And credentials are also not needed - access to data is made on behalf of the Google Identity SA under which the service itself is launched. Therefore, resolver takes only the value of the **projectId** property from PartitionInfo and uses it to connect to a resource in the corresponding GCP project.M10 - Release 0.13Riabokon Stanislav(EPAM)[GCP]Riabokon Stanislav(EPAM)[GCP]https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/137Dag cleanup2021-09-08T13:08:07Zharshit aggarwalDag cleanup**Please refer to the following Issues to understand the change**
https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/issues/39
https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv...**Please refer to the following Issues to understand the change**
https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/issues/39
https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/issues/38
MR is cleaning up the files & folders which are adhering to the older repo structureM9 - Release 0.12harshit aggarwalharshit aggarwalhttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/340Gonrg 6369 gc rename2023-02-02T12:26:22ZAliaksandr Ramanovich (EPAM)Gonrg 6369 gc renameRename OSDU_GCP to GCRename OSDU_GCP to GCM16 - Release 0.19Aliaksandr Ramanovich (EPAM)Aliaksandr Ramanovich (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/324Merge branch 'GONRG-6156-Fix-Image-Pipeline' into 'master'2022-12-15T16:26:10ZDanylo Vanin (EPAM)Merge branch 'GONRG-6156-Fix-Image-Pipeline' into 'master'[GONRG-6156] Fix .set_image_name
See merge request osdu/platform/data-flow/ingestion/csv-parser/csv-parser!323
(cherry picked from commit 433219853eca555b220ba098c08b259cc2b45683)
b6a4b0c2 [GONRG-6156] Fix .set_image_name
9c2819d0 [GO...[GONRG-6156] Fix .set_image_name
See merge request osdu/platform/data-flow/ingestion/csv-parser/csv-parser!323
(cherry picked from commit 433219853eca555b220ba098c08b259cc2b45683)
b6a4b0c2 [GONRG-6156] Fix .set_image_name
9c2819d0 [GONRG-6156] Fix .set_image_name
a81cffdc [GONRG-6156] Fix .set_image_nameM15 - Release 0.18Mikhail Piatliou (EPAM)Mikhail Piatliou (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/221Gonrg 4833 refactor pipeline2023-08-18T10:53:47ZDanylo Vanin (EPAM)Gonrg 4833 refactor pipelineM12 - Release 0.15Danylo Vanin (EPAM)Danylo Vanin (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/174GONRG-3886-Reconfigure-pipeline2023-08-18T10:54:21ZIryna Kurhuzenkava (EPAM)GONRG-3886-Reconfigure-pipelineJobs for Preship reconfiguring to use images from Gitlab registry.Jobs for Preship reconfiguring to use images from Gitlab registry.M10 - Release 0.13Oleksandr Kosse (EPAM)Oleksandr Kosse (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/139GONRG-2972: Added support Airflow 2.0 with backward compatibility2021-09-03T04:31:45ZSiarhei Khaletski (EPAM)GONRG-2972: Added support Airflow 2.0 with backward compatibilityM8 - Release 0.11Siarhei Khaletski (EPAM)Shrikant GargSiarhei Khaletski (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/132Add GSM integration & IT's tweaks2021-11-11T13:19:30ZMaksim MalkovAdd GSM integration & IT's tweaks[issue#46 link](https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/issues/46)
## Contents
* bugfixes
* GSM integration
### GSM implementation details
The [ADR](https://community.opengroup.org/osdu...[issue#46 link](https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/issues/46)
## Contents
* bugfixes
* GSM integration
### GSM implementation details
The [ADR](https://community.opengroup.org/osdu/platform/system/home/-/issues/80).
You can check out this [MR](https://community.opengroup.org/osdu/platform/system/file/-/merge_requests/124) with the similar implementation approach.
## Review hint
It's more than 100 files changed, but only 10+ of them contain changes for GSM.
The rest of the files contain changes for IT's mostly so I think you can rely on passing pipeline and not look at these precisely.
You can find GSM-specific changes [here](https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/130) as well - only 12 files Draft MR.
## About GSM
### Introduction <a name="introduction"></a>
Global Status monitoring is a mechanism to track the status of data journey/dataflows on the data platform.
The infrastructure would help in tracking the status of file/data/record ingested through File Service/ Storage API/ Specific DOMS until it is consumed by dependent services.
### Status Data Model <a name="dataModel"></a>
Data Model properties help any user to search for status with multiple or specific properties. Every request will be tracked through specific `dataSetId` & its associated `correlationId`.
Status Data Model is being distributed across multiple tables for tracking whether dataflow has finished or not and if it is Successful or Failed.
One table holds DataSet Details and another table holds the overall Status of that dataflow journey.
* **DataSet Details** - Dataset can be anything that contains data, for e.g., File is one of the types of datasets which contains data inside, File Collection could be another dataset that would contain a set of files.
* **Status** - hold the overall status of that data flow. `correlationId` is used as a unique id to capture a single request going through different stages of our Data Platform.
### How to publish status and dataset details events <a name="howToPublishStatusEvents"></a>
Any service which wants to publish status and dataset details have to follow the below steps:
1. **Add `core common lib` as dependency** - There are models, classes, and interface defined in `core common lib` from Azure.
We have to make sure we have selected the right version of the library which includes these classes.
2. **All possible scenarios to publish Status/Dataset Details** - It is advised to find out all possible scenarios in which either Status or Dataset Details can be published.
A service can publish multiple sets of both Status and Dataset Details.
3. **Cloud Implementation to publish Status/Dataset Details** - You need to provide an implementation of `IEventPublisher` interface from core common lib.
Publish method in this interface accepts an array of Messages and Maps of string attributes. The message is an interface implemented by both Status and Dataset Details.
So this method expects an array of either Status or Dataset Details. This method of `IEventPublisher` has to be implemented with cloud-specific codes to publish events in `statuschangedtopic`.
#### Sample of status and dataset details message <a name="sample"></a>
The status messages are one of two kinds - DataSet Details and Status, but they are published into the same `statuschangedtopic`.
* **DataSet Details**
```json
[
{
"kind": "datasetDetails",
"properties": {
"correlationId": "12345",
"datasetId": "12345",
"datasetVersionId": "1",
"datasetType": "FILE",
"recordCount": 10,
"timestamp": 1625221800
}
}
]
```
* **Status**
```json
[
{
"kind": "status",
"properties": {
"correlationId": "12345",
"recordId": "12334",
"recordIdVersion": "123ff",
"stage": "STORAGE_SYNC",
"status": "FAILED",
"message": "acl is not valid",
"errorCode": 400,
"userEmail": "test@email.com",
"timestamp": 1625221800
}
}
]
```
#### Core Common Library contents for GSM <a name="coreCommonLibContents"></a>
1. **Models** - `StatusDetails` and `DatasetDetails` - These 2 models should be used to publish status and dataset details.
2. **Utility** - `AttributesBuilder` - This will help to create an attributes map which is required in publishing method of `IEventPublisher` to publish status or dataset details. Attributes map will consist of `data partition id` and `correlation id`.
3. **Publisher Interface** - `IEventPublisher` - This is the interface that a cloud provider has to implement to produce status and dataset details. It contains a method that accepts the Message array and Attributes maps. The message is an interface implemented by both Status and Dataset Details.
### Supported Stages and Statuses <a name="stagesAndStatuses"></a>
#### Stages and Services Mapping
| Stage | Service |
|-------|---------|
| DATASET_SYNC | File Service, Dataset |
| INGESTOR | All Ingestors for e.g., CSV, LAS/DLIS/Document |
| INGESTOR_SYNC | All Ingestors for e.g., CSV, LAS/DLIS/Document |
| STORAGE_SYNC | Storage Service |
| ES_SYNC | Indexer Service |
#### Supported Statuses
| Status |
|--------|
| SUBMITTED |
| SUCCESS |
| FAILED |
| IN_PROGRESS |
| SKIPPED |
| PARTIAL_SUCCESS |M8 - Release 0.11https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/84Resolve "Azure Variable Defines in the GitLab CI"2023-08-18T10:55:34ZDavid Diederichd.diederich@opengroup.orgResolve "Azure Variable Defines in the GitLab CI"Closes #11 #13
Some Azure pipeline variables were misconfigured in the `.gitlab-ci.yml` file, and that led to the inability of a non-protected pipeline to execute. The obvious issue was a recursively defined AZURE_TENANT_ID. A second i...Closes #11 #13
Some Azure pipeline variables were misconfigured in the `.gitlab-ci.yml` file, and that led to the inability of a non-protected pipeline to execute. The obvious issue was a recursively defined AZURE_TENANT_ID. A second issue was the definition of AZURE='true', which would try to invoke the deployment and integration tests despite the lack of protected variables to enable it.M4 - Release 0.7David Diederichd.diederich@opengroup.orgDavid Diederichd.diederich@opengroup.orghttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/440standardize azure related dag implementation2024-01-19T11:41:01Zsaketh somarajustandardize azure related dag implementation## Type of change
- [x] Bug Fix
- [ ] Feature
## Does this introduce a change in the core logic?
- [No]
## Does this introduce a change in the cloud provider implementation, if so which cloud?
- [ ] AWS
- [x] Azure
- [ ] GCP
- [ ] ...## Type of change
- [x] Bug Fix
- [ ] Feature
## Does this introduce a change in the core logic?
- [No]
## Does this introduce a change in the cloud provider implementation, if so which cloud?
- [ ] AWS
- [x] Azure
- [ ] GCP
- [ ] IBM
## Current Configuration.
- No Azure publish job
- GIT SHA is appended to csv parser dag name, which in turn creates a new dag for each commit
- Dag task image naming convention is not uniform with other repositories.
- Docker image is hardcoded in dag zip artifact.
## Updates description?
- Add Azure publish job to publish dag task image to msosdu ACR.
- GIT SHA appending is removed from to csv parser dag name.
- Update dag task image naming convention to make sure it is uniform with other dag repositories.
- Variabilize docker image in azure dag zip artifact, such that image tag is taken from airflow variables.
Related to https://community.opengroup.org/osdu/platform/ci-cd-pipelines/-/merge_requests/1044M23 - Release 0.26saketh somarajusaketh somarajuhttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/439[MSCOSDU-1894] fix logback, reactor-netty-http and json-smart vulnerabilities2024-01-02T08:16:40ZVidyaDharani Lokam[MSCOSDU-1894] fix logback, reactor-netty-http and json-smart vulnerabilities* excluded `logback` dependencies and upgraded `log4j` version for Azure
* upgraded `json-smart` version to `2.5.0` to remediate vulnerability
* upgraded `reactor-netty-http` to `1.1.14` to remediate vulnerability* excluded `logback` dependencies and upgraded `log4j` version for Azure
* upgraded `json-smart` version to `2.5.0` to remediate vulnerability
* upgraded `reactor-netty-http` to `1.1.14` to remediate vulnerabilityM23 - Release 0.26VidyaDharani LokamVidyaDharani Lokamhttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/438[ MSCOSDU-1955] remove git sha from dag name2024-01-22T04:33:46Zsaketh somaraju[ MSCOSDU-1955] remove git sha from dag name**Current behavior**
- CSV parser dag name is appended with Git sha of commit which lead to lot of duplicate dags in GLAB env.
**Expected behavior**
- This MR removes appended git sha from dag name, dag file name and in the docker image...**Current behavior**
- CSV parser dag name is appended with Git sha of commit which lead to lot of duplicate dags in GLAB env.
**Expected behavior**
- This MR removes appended git sha from dag name, dag file name and in the docker image.
- This would help in standardizing dags workflows
Changes are tested with https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/jobs/2485855#L293M23 - Release 0.26saketh somarajusaketh somarajuhttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/437[MSCOSDU-1944] upgrade core-lib-azure and clean up pom2024-01-02T11:34:29ZDeepa Kumari[MSCOSDU-1944] upgrade core-lib-azure and clean up pomDue to a change made in core-lib-azure in release 0.19, we need to disable the mdc context logging in order to use the 0.25 release of core-lib-azure.
The change is here:
https://community.opengroup.org/osdu/platform/system/lib/cloud/azu...Due to a change made in core-lib-azure in release 0.19, we need to disable the mdc context logging in order to use the 0.25 release of core-lib-azure.
The change is here:
https://community.opengroup.org/osdu/platform/system/lib/cloud/azure/os-core-lib-azure/-/merge_requests/281#note_274329
So, this is the workaround in CSV parser, that lets us consume the 0.25 version with disabling the Slf4jMDCFilter class.M23 - Release 0.26Deepa KumariDeepa Kumarihttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/436[MSCOSDU-1894] upgrade: json, netty versions2023-12-20T15:10:47ZDeepa Kumari[MSCOSDU-1894] upgrade: json, netty versionsM23 - Release 0.26Deepa KumariDeepa Kumarihttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/435Cherry-pick 'Full Upgrade of First Party Library Dependencies for Release 0.2...2023-12-16T09:50:34ZDavid Diederichd.diederich@opengroup.orgCherry-pick 'Full Upgrade of First Party Library Dependencies for Release 0.25' into release/0.25**Original MR**: !431
### This MR is a Cherry Pick into a Release Branch.
After the release branch is first created, any subsequent changes use this process to update the release (often resulting in a new patch tag) without incorporati...**Original MR**: !431
### This MR is a Cherry Pick into a Release Branch.
After the release branch is first created, any subsequent changes use this process to update the release (often resulting in a new patch tag) without incorporating all changes in the default branch.
These MRs must be approved by the PMC before they are merged, since they alter the scope of the release.
To see more details about the change itself, look at the Original MR listed above.
#### Skipped Pipeline
Normally, pipelines are not executed on the cherry pick branch/MR prior to merging.
This optimization is accepted because the code was tested when it merged into the default branch, and will be tested again in the release branch prior to tagging.
However, if anybody feels that the MR requires further scrutiny -- whether because it had conflicts in the cherry-picking, it interfaces with some drastically altered logic between the branches, or any other reason -- we can run the pipeline here prior to merging.
#### If There's Reason to Run a Pipeline
If you want to see a pipeline result before this merges, first add a comment explaining why you'd like to see the pipeline results so the PMC and others know your thinking.
Then, mark the MR as a Draft MR (using the vertical ellipsis above, choose 'Mark as Draft').
This prevents the MR from being approved & merged accidentally by a busy release coordinator who didn't see your comment.
Finally, if you are a maintainer on the project, launch a pipeline on this branch.
Since this branch is a protected branch and the MR has ~no-detached-pipeline set, all integration tests will run and there's no need for any `trusted-*` branches.
[Launch a Pipeline for this Branch](https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/pipelines/new?ref=cherry-pick-for-431)M22 - Release 0.25David Diederichd.diederich@opengroup.orgChad LeongSrinivasan NarayananDavid Diederichd.diederich@opengroup.orghttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/434Merge branch 'gc-hotfix-image-path' into 'master'2023-12-15T10:53:10ZMikhail Piatliou (EPAM)Merge branch 'gc-hotfix-image-path' into 'master'GONRG-9006: refactored conditions for images paths
See merge request osdu/platform/data-flow/ingestion/csv-parser/csv-parser!433
(cherry picked from commit 14545355923ae83e76aaa4356c8d218db15ed552)
d3f0a5e1 GONRG-9006: refactored cond...GONRG-9006: refactored conditions for images paths
See merge request osdu/platform/data-flow/ingestion/csv-parser/csv-parser!433
(cherry picked from commit 14545355923ae83e76aaa4356c8d218db15ed552)
d3f0a5e1 GONRG-9006: refactored conditions for images pathsM22 - Release 0.25David Diederichd.diederich@opengroup.orgChad LeongDavid Diederichd.diederich@opengroup.orghttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/433GONRG-9006: refactored conditions for images paths2023-12-15T10:39:12ZMikhail Piatliou (EPAM)GONRG-9006: refactored conditions for images pathsM22 - Release 0.25Mikhail Piatliou (EPAM)Mikhail Piatliou (EPAM)https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/432AWS: Cherry pick to release 0.25 - Set the correct user in tests for for user...2023-12-15T10:25:02ZGuillaume CailletAWS: Cherry pick to release 0.25 - Set the correct user in tests for for user context ingestionOriginal MR: https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/430Original MR: https://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/430M22 - Release 0.25Guillaume CailletGuillaume Caillethttps://community.opengroup.org/osdu/platform/data-flow/ingestion/csv-parser/csv-parser/-/merge_requests/431Full Upgrade of First Party Library Dependencies for Release 0.252023-12-15T20:09:17ZDavid Diederichd.diederich@opengroup.orgFull Upgrade of First Party Library Dependencies for Release 0.25This generated MR upgrades the first party libraries (other OSDU libraries) to utilize the latest release.
The intent is to try to fully upgrade all dependent libraries to see if the latest code will work.
It is expected that these will ...This generated MR upgrades the first party libraries (other OSDU libraries) to utilize the latest release.
The intent is to try to fully upgrade all dependent libraries to see if the latest code will work.
It is expected that these will often fail, since the upgrades were previously rejected for failing pipelines and have not been directly addressed yet.
This upgrade should only be merged in the CI pipeline reports success.
If this MR has failed, we can spend a little time investigating to see if a trivial upgrade could achieve compatiblity to the new library.
But significant upgrade efforts should not occur on this MR, as part of the release tagging process.
Instead, significant work should be scheduled for a subsequent milestone.
This MR may co-exist with a separate, smaller upgrade MR.
If both pass, this one should be used instead.
### Dependency Information Before the Upgrade
```
Branch: master
SHA: f1fdd409814f5752195a5a00ecee0b553fc017a4
Maven: 0.26.0-SNAPSHOT
```
| Maven Dependencies | _Root_ | testing/ |
| ------------------ | ------------------ | -------------------------- |
| core-lib-azure | 0.15.0-rc4 | 0.15.0-rc4 |
| core-lib-gc | 0.24.0 | 0.24.0 |
| os-core-lib-aws | 0.21.0 | 0.21.0 |
| obm | 0.21.0 | 0.21.0 |
| oqm | 0.21.0 | 0.21.0 |
| os-core-common | 0.16.0-rc2, 0.24.0 | 0.13.0, 0.16.0-rc2, 0.24.0 |
| os-core-lib-ibm | 0.15.2 | 0.13.0 |
### Dependency Information After the Upgrade
```
Branch: dependency-upgrade
SHA: ca68455bc21535c056607fadba2014f7b0cdc14d
Maven: 0.26.0-SNAPSHOT
```
| Maven Dependencies | _Root_ | testing/ |
| ------------------ | ------------------ | -------------------------- |
| core-lib-azure | 0.15.0-rc4 | 0.15.0-rc4 |
| core-lib-gc | 0.25.0 | 0.25.0 |
| os-core-lib-aws | 0.21.0 | 0.21.0 |
| obm | 0.21.0 | 0.21.0 |
| oqm | 0.21.0 | 0.21.0 |
| os-core-common | 0.16.0-rc2, 0.25.0 | 0.13.0, 0.16.0-rc2, 0.25.0 |
| os-core-lib-ibm | 0.15.2 | 0.13.0 |M22 - Release 0.25