Skip to content

Commit

Permalink
Merge pull request #576 from boozallen/aissemble-release-1.11
Browse files Browse the repository at this point in the history
aiSSEMBLE Release 1.11 - Bump dev to next version
  • Loading branch information
ewilkins-csi authored Feb 10, 2025
2 parents eb9d327 + 496c9b0 commit 9976fbe
Show file tree
Hide file tree
Showing 250 changed files with 181 additions and 4,839 deletions.
88 changes: 5 additions & 83 deletions DRAFT_RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,8 @@
# Major Additions

## Service account support for spark-infrastructure
To have a more flexible and secure way to authenticate with AWS services, the spark-infrastructure helm chart has been enhanced to support [AWS IRSA](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) (IAM Roles for Service Accounts) authentication. See the _**How to Upgrade**_ for more information.

## Path to Production Alignment
To better align development processes with processes in CI/CD and higher environments, we no longer recommend using Tilt live-reloading. As such, upgrading projects should consider narrowing the scope of their Tiltfile. These changes will also help smooth the transition as further alignment is brought to the path to production. See _**How to Upgrade**_ for more information.

## Data Access Upgrade
Data access through [GraphQL](https://graphql.org/) has been deprecated and replaced with [Trino](https://trino.io/). Trino is optimized for performing queries against large datasets by leveraging a distributed architecture that processes queries in parallel, enabling fast and scalable data retrieval.

## Spark Upgrade
Spark and PySpark have been upgraded from version 3.5.2 to 3.5.4.

## Record Relation
To enable nested data records, we have added a new relation feature to the record metamodel. This allows records to reference other records. For more details, refer to the [Record Relation Options](https://boozallen.github.io/aissemble/aissemble/current-dev/record-metamodel.html#_record_relation_options).
Several features are still a work in progress:
- PySpark and Spark schema based validation for relations will only validate the record and not its relations. Object based validation for relations is available.

## Helm Charts Resource Specification
The following Helm charts have been updated to include the configuration options for specifying container resource requests/limits:
- `aissemble-spark-history-chart`
- `aissemble-quarkus-chart`

See the[official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details.

# Breaking Changes
_Note: instructions for adapting to these changes are outlined in the upgrade instructions below._

- The following Java classes have been renamed:
| Old Java Class | New Java Class |
|-------------------------------|------------------------------------|
| `AIOpsModelInstanceRepostory` | `AissembleModelInstanceRepository` |
| `AiopsMdaJsonUtils` | `AissembleMdaJsonUtils` |
- To improve the development cycle and docker build consistency, we have deprecated the docker_build() and local_resources() functions in the Tilt and enable maven docker build for the docker modules. Follow the instruction in the `Finalizing the Upgrade` to avoid duplicated docker image build.
- In an attempt to harden the `aissemble-hive-service` image, several changes were made that may impact projects with Hive customization


# Known Issues

## Docker Module Build Failures
Expand Down Expand Up @@ -64,20 +31,11 @@ The following steps will upgrade your project to `1.11`. These instructions cons
## Automatic Upgrades
To reduce burden of upgrading aiSSEMBLE, the Baton project is used to automate the migration of some files to the new version. These migrations run automatically when you build your project, and are included by default when you update the `build-parent` version in your root POM. Below is a description of all of the Baton migrations that are included with this version of aiSSEMBLE.

| Migration Name | Description |
|----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| upgrade-tiltfile-aissemble-version-migration | Updates the aiSSEMBLE version within your project's Tiltfile |
| upgrade-v2-chart-files-aissemble-version-migration | Updates the Helm chart dependencies within your project's deployment resources (`<YOUR_PROJECT>-deploy/src/main/resources/apps/`) to use the latest version of the aiSSEMBLE |
| upgrade-v1-chart-files-aissemble-version-migration | Updates the docker image tags within your project's deployment resources (`<YOUR_PROJECT>-deploy/src/main/resources/apps/`) to use the latest version of the aiSSEMBLE |
| pipeline-invocation-service-template-migrtion | Include the helm.valueFiles param to ArgoCD pipeline-invocation-service template |
| docker-module-pom-dependency-type-migration | Updates the maven pipeline dependency type within your project's sub docker module pom file(`<YOUR_PROJECT>-docker/*-docker/pom.xml`) to fix the build cache checksum calculation issue |
| enable-maven-docker-build-migration | Remove the maven fabric8 plugin `skip` configuration within your project's docker module pom file(`<YOUR_PROJECT>-docker/pom.xml`) to enable the maven docker build |
| ml-pipeline-docker-pom-migration | Adds pipeline ML pipeline dependencies to relevant docker POMs to improve the Maven build cache functionality |
| training-api-image-tag-migration | Update training docker image tags to use project version |
| inference-docker-image-tag-migration | Update inference docker image tags to use project version |
| spark-worker-docker-image-tag-migration | Updates Spark docker image tags to use project version |
| spark-infrastructure-server-side-label-migration | Enables the Server-Side Diff Strategy within ArgoCD for the Spark Infrastructure resource so that changes made by the Universal Config Store mutating webhook are ignored |
| data-access-default-migration | Migrates Record metamodels that were relying on the default Data Access settings to preserve semantics with the updated default value |
| Migration Name | Description |
|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| upgrade-tiltfile-aissemble-version-migration | Updates the aiSSEMBLE version within your project's Tiltfile |
| upgrade-v2-chart-files-aissemble-version-migration | Updates the Helm chart dependencies within your project's deployment resources (`<YOUR_PROJECT>-deploy/src/main/resources/apps/`) to use the latest version of the aiSSEMBLE |
| upgrade-v1-chart-files-aissemble-version-migration | Updates the docker image tags within your project's deployment resources (`<YOUR_PROJECT>-deploy/src/main/resources/apps/`) to use the latest version of the aiSSEMBLE |

To deactivate any of these migrations, add the following configuration to the `baton-maven-plugin` within your root `pom.xml`:

Expand Down Expand Up @@ -113,44 +71,8 @@ To start your aiSSEMBLE upgrade, update your project's pom.xml to use the 1.11.0
</parent>
```

### Tilt Docker Builds
To avoid duplicate docker builds, remove all the related `docker_build()` and `local_resources()` functions from your Tiltfile. Also, the `spark-worker-image.yaml` is no longer used so the `-deploy/src/main/resources/apps/spark-worker-image` directory and the related `k8s_yaml()` function from your Tiltfile can be removed.

## Conditional Steps

### For projects that have customized the Hive service
Several changes were made to both the Hive service Docker image and the Hive service chart included as part of the Spark Infrastructure chart of a project. The defaults have been adjusted so that these changes should be transparent, however due to the nature of some possible customizations this may not always hold true. The following changes may impact the function of your customizations and may need to be accounted for:
- The image is now only the Hive Standalone Metastore service and cannot function as a full [Hive Server](https://hive.apache.org/development/quickstart/)
- The Java installation at `/opt/java` is no longer symlinked to `/opt/jre` -- `JAVA_HOME` has been adjusted accordingly by default
- The default working directory for the `aissemble-hive-service` image was changed from `/opt` to `/opt/hive`
- Schema initialization is no longer done as part of an `initContainer` in the `aissemble-hive-service-chart` and is instead done in a new `entrypoint` script. This is consistent with the [official `apache/hive` Docker image](https://hub.docker.com/r/apache/hive).

### AWS IRSA (IAM Roles Service Account) Authentication
This is not a required step but a recommended way to authenticate AWS service
1. [Create an IAM OIDC provider for your cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html)
2. Follow the [Assign IAM roles to Kubernetes service accounts](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html) document but **skip** the step that creates the service account
3. In the spark-infrastructure chart template, add the service account create configuration as below:

aissemble-spark-history-chart
```yaml
aissemble-spark-history-chart:
serviceAccount:
name: service-account-name
enabled: true
metadata:
annotations:
# Ref: IAM roles arn from step 2
eks.amazonaws.com/role-arn: arn:aws:iam::aws-id:role/iam-role-name
```
aissemble-thrift-server-chart:
```yaml
aissemble-thrift-server-chart:
deployment:
# service account name must match the service account name specified in the IAM roles trust relationships
serviceAccountName: service-account-name
```
## Final Steps - Required for All Projects
### Finalizing the Upgrade
1. Run `./mvnw org.technologybrewery.baton:baton-maven-plugin:baton-migrate` to apply the automatic migrations
Expand Down
2 changes: 1 addition & 1 deletion bom/aissemble-quarkus-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>bom</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>aissemble-quarkus-bom</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion bom/bom-instantiation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>bom</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>bom-instantiation</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>com.boozallen.aissemble</groupId>
<artifactId>build-parent</artifactId>
<relativePath>../build-parent/pom.xml</relativePath>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>bom</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions build-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>aissemble-root</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>build-parent</artifactId>
Expand All @@ -22,7 +22,7 @@
</distributionManagement>

<properties>
<version.aissemble>1.11.0-SNAPSHOT</version.aissemble>
<version.aissemble>1.12.0-SNAPSHOT</version.aissemble>

<!-- **************** -->
<!-- Plugins versions -->
Expand Down
2 changes: 1 addition & 1 deletion build-support/aissemble-enforcer-extension/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>build-support</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>
<artifactId>aissemble-enforcer-extension</artifactId>

Expand Down
2 changes: 1 addition & 1 deletion build-support/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>aissemble-root</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>build-support</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion cucumber-report-aggregator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>aissemble-root</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>cucumber-report-aggregator</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions docs/antora.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: aissemble
title: aiSSEMBLE
version: 1.11.0
display_version: "1.11.0-SNAPSHOT"
version: 1.12.0
display_version: "1.12.0-SNAPSHOT"
prerelease: true
nav:
- modules/ROOT/nav.adoc
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/attachments/HardwareDetailsRunFacet.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.11.0-SNAPSHOT/HardwareDetailsRunFacet.json",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.12.0-SNAPSHOT/HardwareDetailsRunFacet.json",
"$defs": {
"HardwareDetailsRunFacet": {
"allOf": [
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/attachments/HyperparameterRunFacet.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.11.0-SNAPSHOT/HyperparameterRunFacet.json",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.12.0-SNAPSHOT/HyperparameterRunFacet.json",
"$defs": {
"HyperparameterRunFacet": {
"allOf": [
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/attachments/MLflowRunFacet.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.11.0-SNAPSHOT/MLflowRunFacet.json",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.12.0-SNAPSHOT/MLflowRunFacet.json",
"$defs": {
"MLflowRunFacet": {
"allOf": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.11.0-SNAPSHOT/PerformanceMetricRunFacet.json",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.12.0-SNAPSHOT/PerformanceMetricRunFacet.json",
"$defs": {
"PerformanceMetricRunFacet": {
"allOf": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.11.0-SNAPSHOT/SourceCodeDirectoryJobFacet.json",
"$id": "https://boozallen.github.io/aissemble/openlineage/schemas/1.12.0-SNAPSHOT/SourceCodeDirectoryJobFacet.json",
"$defs": {
"SourceCodeDirectoryJobFacet": {
"allOf": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-alerting</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-alerting-slack</artifactId>
Expand All @@ -17,7 +17,7 @@
<dependency>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>foundation-alerting</artifactId>
<version>${version.aissemble}</version>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.technologybrewery.krausening</groupId>
Expand Down Expand Up @@ -87,4 +87,4 @@
</plugin>
</plugins>
</build>
</project>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-alerting</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-alerting-teams</artifactId>
Expand Down Expand Up @@ -34,12 +34,12 @@
<dependency>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>foundation-alerting</artifactId>
<version>${version.aissemble}</version>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-messaging-quarkus</artifactId>
<version>${version.aissemble}</version>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.smallrye.config</groupId>
Expand Down
2 changes: 1 addition & 1 deletion extensions/extensions-alerting/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-alerting</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-data-delivery</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>aissemble-extensions-data-delivery-spark-py</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aissemble-extensions-data-delivery-spark-py"
version = "1.11.0.dev"
version = "1.12.0.dev"
description = "Contains the core Python functionality of data delivery for Spark"
authors = ["aiSSEMBLE Baseline Community <[email protected]>"]
readme = "README.md"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-data-delivery</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-data-delivery-spark-neo4j</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-data-delivery</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-data-delivery-spark-postgres</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-data-delivery</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>

<artifactId>extensions-data-delivery-spark</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion extensions/extensions-data-delivery/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>
<packaging>pom</packaging>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions-data-lineage</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>
<artifactId>extensions-data-lineage-http-consumer-service</artifactId>
<name>aiSSEMBLE::Extensions::Data Lineage::Http Consumer Service</name>
Expand Down
2 changes: 1 addition & 1 deletion extensions/extensions-data-lineage/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.boozallen.aissemble</groupId>
<artifactId>extensions</artifactId>
<version>1.11.0-SNAPSHOT</version>
<version>1.12.0-SNAPSHOT</version>
</parent>
<packaging>pom</packaging>

Expand Down
Loading

0 comments on commit 9976fbe

Please sign in to comment.