All notable changes to this project will be documented in this file.
-
[WIT-1293] Publish commons lib to Maven Central
- Includes publishing information and step on CI to publish to Sonatype Central on tags
- Organization is now
com.witboost.provisioning
. All projects including this library must now migrate to the new correct organization
-
Projects adding scala-mesh-commons modules as dependencies must migrate to pull from
com.witboost.provisioning
organization rather thanit.agilelab.provisioning
. The change might look something like:- sbt
libraryDependencies ++= "it.agilelab.provisioning" %% "scala-mesh-aws-s3" % "1.0.0"
to
libraryDependencies ++= "com.witboost.provisioning" %% "scala-mesh-aws-s3" % "1.0.0"
- Maven
<dependency> <groupId>it.agilelab.provisioning</groupId> <artifactId>scala-mesh-aws-s3_2.13</artifactId> <version>1.0.0</version> </dependency>
to
<dependency> <groupId>com.witboost.provisioning</groupId> <artifactId>scala-mesh-aws-s3_2.13</artifactId> <version>1.0.0</version> </dependency>
Closes WIT-1293
-
[WIT-2166] Clean documentation
- Prepares the library documentation for release
- Introduces debug and trace to the Audit interface
Closes WIT-2166
-
[WIT-2146] Parsing column tags fails as schema is incorrect
- Added data contract schema column tag parsing according to the OpenMetadata specification.
- Provisioners expecting tags on columns to be a list of strings now will receive a parsing error
- Descriptors must have the correct schema as per the Data Product specification based on OpenMetadata
- Fixes a bug where correctly formatted descriptors containing OpenMetadata tags on columns would fail provisioning or validation because of a parsing error.
Closes WIT-2146
-
[WIT-1545] Scala provisioners Ranger locks on concurrent calls to its DB
- Makes the call to Apache Ranger on create/update tasks synchronized to avoid concurrency issues.
Closes WIT-1545
-
[WIT-1487] scala-mesh commons decodes storage areas as workloads
- Improved component decoding to discriminate between component types via the
kind
field rather than structurally as done before
- Fixed a bug where some storage areas component descriptors which defined a
version
field and noowners
field would be interpreted as Workloads even if having the correct fieldkind: storage
.
Closes WIT-1487
- Improved component decoding to discriminate between component types via the
-
[WIT-1430] scala-mesh commons throws NPE on Ranger connection errors
- Added new error to handle decode configuration errors
- Added Ranger authentication type enumeration
RangerClient.SIMPLE_AUTH
andRangerClient.KERBEROS_AUTH
are replaced with the new enumerationRangerAuthType
Replace your usages of
RangerClient.SIMPLE_AUTH
andRangerClient.KERBEROS_AUTH
withRangerAuthType.Simple
andRangerAuthType.Kerberos
respectively.- Fixed the occasions where connections errors on Ranger Client requests will throw an unhandled NullPointerException which in turn would return an empty error as a response to the user.
Closes WIT-1430
-
[WIT-1173] CDE services and clusters are not filtered by status in CDP Spark SP
The findAllServices function of CdpCdeClient returns only services that have not been deleted.
Removed passcode field in BearerToken class for hhtp/Auth (not used and cause of bug WIT-994).
Fixed the "how to use it" section in README.md.
Closes WIT-1173 Closes WIT-994
-
[WIT-1224] Test the ranger intg package which includes kerberos auth
- Adds support to use kerberos authentication by replacing the custom client with the ranger-intg Ranger Client
- The host received by the RangerClient.default methods now requires protocol and trailing slash. (Before:
my-ranger-endpoint.cloudera.com/service/ranger
, Now:https://my-ranger-endpoint.cloudera.com/service/ranger/
)
Closes WIT-1224
-
[WIT-1081] Commons library several fixes
- Modified return type of the ComponentGateway.updateAcl method to return information related to the Update ACL operation rather than the same information of the provision/unprovision operations which is not meaningful to retrieve when performing ACL. On the current implementation, the provisioner will not return any information to the API layer, as this is still not supported by the current Specific Provisioner interface-specification (see WIT-1092).
- Added removeData flag support, making it available for ComponentGateway implementations through the ProvisionRequest class.
- Added the support to retrieve a Config object based on a key on Conf traits.
- Added support for
write
access on Ranger Policy
- ComponentGateway trait has changed, modifying the return type of the updateAcl method.
- ComponentGateway implementations now must migrate to the new signature, returning the set of granted principals.
- Conf implementations now must implement the getConfig method.
- Fixes the PrincipalsMapper SPI to adequately expose the services for a ServiceLoader.
Closes WIT-1081
-
[WIT-969] Implement Update ACL support in commons
- Added support for the updateAcl task on the Provisioner class chain, giving support for provisioners that don't need to implement the task.
- Added support for CRUD operations on Ranger roles and for access policy items to include roles.
- Added support for user query by id and by name on CdpIam client.
- Added PrincipalsMapper SPI for mapping between different authentication providers, used by the ProvisionerController on the updateAcl task to map received refs.
- Added support devGroup and ownerGroup fields to DataProduct class
- The ComponentGateway and ProvisionerController traits have changed so projects using these interface should migrate.
- Migrating ComponetGateway children:
- ComponentGateway now requires to implement the
updateAcl
method. If this is not needed, the PermissionlessComponentGateway trait has been defined
- ComponentGateway now requires to implement the
- Migrating ProvisionerController:
- ProvisionerController.default has been replaced by ProvisionerController.defaultWithAcl and ProvisionerController.defaultNoAcl. The first one requires an instance of PrincipalsMapper. The second is the legacy ProvisionerController.default method.
Closes WIT-969
-
[WIT-967] Update CDP SDK in scala mesh commons
Closes WIT-967
-
[WIT-555] Test coverage not shown in MR page
Percentage of coverage is now shown on the MR page
Closes WIT-555
-
[WIT-365] CDP common library cleanup and refactoring