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

feat(mojaloop/#3636): v15.3.0 Helm release candidate #587

Closed
wants to merge 13 commits into from
5 changes: 2 additions & 3 deletions .changelog/release-v15.2.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ Date | Revision | Description
2023-10-31 | 1 | RC.1
2023-11-03 | 2 | Release

- For *BREAKING CHANGES*, please review the section `#5` "Breaking Changes" below.
- For *KNOWN ISSUES*, please review the section `#8` "Known Issues" below.

## 0. Summary
Expand Down Expand Up @@ -96,8 +95,8 @@ Enhancements and non-breaking changes to the [v15.1.0 Release](https://github.co
14. mojaloop-simulator: v14.0.1 -> [v15.0.0](https://github.com/mojaloop/mojaloop-simulator/releases/tag/v15.0.0) ([Compare](https://github.com/mojaloop/event-sidecar/compare/v14.0.1...v15.0.0))
15. sdk-scheme-adapter: v23.0.1 -> [v23.1.1](https://github.com/mojaloop/sdk-scheme-adapter/releases/tag/v23.1.1) ([Compare](https://github.com/mojaloop/sdk-scheme-adapter/compare/v23.0.1...v23.1.1))
16. ml-testing-toolkit: v16.1.1 -> [v17.0.0](https://github.com/mojaloop/ml-testing-toolkit/releases/tag/v17.0.0) ([Compare](https://github.com/mojaloop/sml-testing-toolkit/compare/v16.1.1...v17.0.0))
17. ml-testing-toolkit-ui: [v15.4.0](https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v15.3.0)22. ml-testing-toolkit-client-lib: [v1.2.0](https://github.com/mojaloop/ml-testing-toolkit-client-lib/releases/tag/v1.2.0)
18. ml-testing-toolkit-client-lib: v1.2.0 -> [v1.2.1](https://github.com/mojaloop/ml-testing-toolkit-client-lib/releases/tag/v1.2.1) ([Compare](https://github.com/mojaloop/ml-testing-toolkit-ui/compare/v1.2.0...v1.2.1))
17. ml-testing-toolkit-ui: [v15.4.0](https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v15.3.0)
18. ml-testing-toolkit-client-lib: [v1.2.0](https://github.com/mojaloop/ml-testing-toolkit-client-lib/releases/tag/v1.2.0)
19. auth-service: v14.0.0 -> [v15.0.0](https://github.com/mojaloop/auth-service/releases/tag/v15.0.0) ([Compare](https://github.com/mojaloop/auth-service/compare/v14.0.0...v15.0.0))
20. als-consent-oracle: v0.2.0 -> [v0.2.2](https://github.com/mojaloop/als-consent-oracle/releases/tag/v0.2.2) ([Compare](https://github.com/mojaloop/als-consent-oracle/compare/v0.2.0...v0.2.2))
21. thirdparty-api-svc: v13.0.2 -> [v14.0.0](https://github.com/mojaloop/thirdparty-api-svc/releases/tag/v14.0.0) ([Compare](https://github.com/mojaloop/thirdparty-api-svc/compare/v13.0.2...v14.0.0))
Expand Down
127 changes: 127 additions & 0 deletions .changelog/release-v15.3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Helm Release Notes

Date | Revision | Description
---------|----------|---------
2023-11-22 | 0 | Initial draft

- For *KNOWN ISSUES*, please review the section [#6](#6-known-issues) "Known Issues" below.

## 0. Summary

Enhancements and non-breaking changes to the [v15.2.0 Release](https://github.com/mojaloop/helm/blob/master/.changelog/release-v15.2.0.md), which includes:

Performance improvement with the inclusion of _Batch Prepare Handler_ for _Position Prepare_ messages in Central Ledger based on performance characterisation done

## 1. New Features

1. **Performance improvement with batching (position prepare):**
* **mojaloop/#3488** Fix the transfer batching design for the position handler [documentation](https://github.com/mojaloop/documentation/pull/415)
* **mojaloop/#3489** Implement the batching design for position prepare messages [central-ledger](https://github.com/mojaloop/central-ledger/pull/454), closes [mojaloop/3489](https://github.com/mojaloop/project/issues/3489)
* **mojaloop/#3577** Add batch handler [helm](https://github.com/mojaloop/helm/pull/582), closes [mojaloop/3577](https://github.com/mojaloop/project/issues/3577)

## 2. Bug Fixes
1. * **mojaloop/#3581** The notification message published by batch handler is not forwarding the headers properly [central-ledger](https://github.com/mojaloop/central-ledger/pull/968), closes [mojaloop/3581](https://github.com/mojaloop/project/issues/3581)
2. * **mojaloop/#3582** Batch Implementation - Improper error callbacks generated by switch [central-ledger](https://github.com/mojaloop/central-ledger/pull/968), closes [mojaloop/3581](https://github.com/mojaloop/project/issues/3582)
3. * **mojaloop/#3660** Investigate and fix flaky tests in Helm v15.3.0 RC [testing-toolkit-test-cases](https://github.com/mojaloop/testing-toolkit-test-cases/pull/133), closes [mojaloop/3660](https://github.com/mojaloop/project/issues/3660)

## 3. Application versions

1. central-ledger: v17.3.2 -> [v17.4.0]((https://github.com/mojaloop/central-ledger/releases/tag/v17.4.0)) ([Compare](https://github.com/mojaloop/central-ledger/compare/v17.3.2...v17.4.0))
2. ml-api-adapter: [v14.0.5](https://github.com/mojaloop/ml-api-adapter/releases/tag/v14.0.5)
3. account-lookup-service: [v15.0.0](https://github.com/mojaloop/account-lookup-service/releases/tag/v15.0.0)
4. quoting-service: [v15.5.0](https://github.com/mojaloop/quoting-service/releases/tag/v15.5.0)
5. central-settlement: [v16.0.0](https://github.com/mojaloop/central-settlement/releases/tag/v16.0.0)
6. bulk-api-adapter: [v17.0.0](https://github.com/mojaloop/bulk-api-adapter/releases/tag/v17.0.0)
7. central-event-processor: [v12.0.0](https://github.com/mojaloop/central-event-processor/releases/tag/v12.0.0)
8. email-notifier: [v14.0.0](https://github.com/mojaloop/email-notifier/releases/tag/v14.0.0)
9. als-oracle-pathfinder: [v12.0.0](https://github.com/mojaloop/als-oracle-pathfinder/releases/tag/v12.0.0)
10. transaction-requests-service: [v14.1.2](https://github.com/mojaloop/transaction-requests-service/releases/tag/v14.1.2)
11. event-sidecar: [v14.0.0](https://github.com/mojaloop/event-sidecar/releases/tag/v14.0.0)
12. event-stream-processor: [v12.0.0-snapshot.7](https://github.com/mojaloop/event-stream-processor/releases/v12.0.0-snapshot.7)
13. simulator: [12.0.0](https://github.com/mojaloop/simulator/releases/tag/v12.0.0)
14. mojaloop-simulator: [v15.0.0](https://github.com/mojaloop/mojaloop-simulator/releases/tag/v15.0.0)
15. sdk-scheme-adapter: [v23.1.1](https://github.com/mojaloop/sdk-scheme-adapter/releases/tag/v23.1.1)
16. ml-testing-toolkit: [v17.0.0](https://github.com/mojaloop/ml-testing-toolkit/releases/tag/v17.0.0)
17. ml-testing-toolkit-ui: [v15.4.0](https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v15.3.0)
18. ml-testing-toolkit-client-lib: [v1.2.0](https://github.com/mojaloop/ml-testing-toolkit-client-lib/releases/tag/v1.2.0)
19. auth-service: [v15.0.0](https://github.com/mojaloop/auth-service/releases/tag/v15.0.0)
20. als-consent-oracle: [v0.2.2](https://github.com/mojaloop/als-consent-oracle/releases/tag/v0.2.2)
21. thirdparty-api-svc: [v14.0.0](https://github.com/mojaloop/thirdparty-api-svc/releases/tag/v14.0.0)
22. thirdparty-sdk: v15.1.0 -> [v15.1.1](https://github.com/mojaloop/thirdparty-sdk/releases/tag/v15.1.1)

## 4. API Versions

This release supports the following versions of the [Mojaloop family of APIs](https://docs.mojaloop.io/api):

| API | Supported Versions | Notes |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ----- |
| FSPIOP | [v1.1](https://docs.mojaloop.io/api/fspiop/v1.1/api-definition.html), [v1.0](https://docs.mojaloop.io/api/fspiop/v1.0/api-definition.html) | |
| Settlements | [v2.0](https://docs.mojaloop.io/api/settlement) | |
| Admin | [v1.0](https://docs.mojaloop.io/api/administration/central-ledger-api.html) | |
| Oracle | [v1.0](https://docs.mojaloop.io/legacy/api/als-oracle-api-specification.html) | |
| Thirdparty | [v1.0](https://docs.mojaloop.io/api/thirdparty) | |

## 5. Testing notes

1. This release has been validated against the following Dependency Test Matrix:

| Dependency | Version | Notes |
| ---------- | ------- | --- |
| Kubernetes | v1.28 | [AWS EKS](https://aws.amazon.com/eks/), [AWS EKS Supported Version Notes](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) |
| containerd | v1.6.19 | |
| Nginx Ingress Controller | [helm-ingress-nginx-4.7.0](https://github.com/kubernetes/ingress-nginx/releases/tag/helm-chart-4.7.0) / [ingress-controller-v1.8.0](https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.8.0) | |
| Amazon Linux | v2 | |
| MySQL | bitnami/mysql:8.0.32-debian-11-r0 | |
| Kafka | bitnami/kafka:3.3.1-debian-11-r1 | |
| Redis | bitnami/redis:7.0.5-debian-11-r7 | |
| MongoDB | bitnami/mongodb:6.0.2-debian-11-r11 | |
| Testing Toolkit Test Cases | [v15.3.0](https://github.com/mojaloop/testing-toolkit-test-cases/releases/tag/v15.3.0) | |
| example-mojaloop-backend | v15.0.0 | [README](https://github.com/mojaloop/helm/blob/master/example-mojaloop-backend/README.md) |

2. It is recommended that all Mojaloop deployments are verified using the [Mojaloop Testing Toolkit](https://docs.mojaloop.io/documentation/mojaloop-technical-overview/ml-testing-toolkit/). More information can be found in the [Mojaloop Deployment Guide](https://docs.mojaloop.io/documentation/deployment-guide).

3. The [testing-toolkit-test-cases](https://github.com/mojaloop/testing-toolkit-test-cases/releases) (See above Dependency Test Matrix for exact version required for this release) Golden Path collections expects:
- the Quoting service operating mode to be set quoting-service.config.simple_routing_mode_enabled=true (in helm mojaloop/values.yaml under quoting-service config). If this is incorrectly configured, it will result in several failures in the quoting-service tests (7 expected failures). If this is disabled, ensure that you update the corresponding test-case environment variable parameter **SIMPLE_ROUTING_MODE_ENABLED** ( in helm mojaloop/values.yaml ml-testing-toolkit -> extraEnvironments.hub-k8s-default-environment.json.inputValues) to match.
- the **on-us transfers** (in mojaloop/values.yaml "enable_on_us_transfers: false" under centralledger-handler-transfer-prepare -> config and cl-handler-bulk-transfer-prepare -> config) configuration to be disabled. The test-case environment variable parameter (**ON_US_TRANSFERS_ENABLED** (in helm mojaloop/values.yaml ml-testing-toolkit -> extraEnvironments.hub-k8s-default-environment.json.inputValues), the same name used on postman collections) must similarly match this value.

4. Simulators
- We recommend using Testing Toolkit instead of Postman which is better suited for the async nature of the Mojaloop API specification (see above)
- [Mojaloop-Simulator](https://github.com/mojaloop/mojaloop-simulator) is enabled by default (six instances used for single transfers usually and three more specific to bulk).
- Ensure that correct Postman Scripts are used if you wish to test against the Mojaloop-Simulators using Postman:
- Setup Mojaloop Hub: [MojaloopHub_Setup](https://github.com/mojaloop/postman/blob/v12.0.0/MojaloopHub_Setup.postman_collection.json)
- Setup Mojaloop Simulators for testing : [MojaloopSims_Onboarding](https://github.com/mojaloop/postman/blob/v12.0.0/MojaloopSims_Onboarding.postman_collection.json)
- Golden path tests: [Golden_Path_Mojaloop](https://github.com/mojaloop/postman/blob/v12.0.0/Golden_Path_Mojaloop.postman_collection.json)
- Legacy Simulators are still required and deployed by default; disabling this will cause issues since there is Account Lookup directory mocking functionality in this service.

5. Thirdparty Testing Toolkit Test Collections are not repeatable. Please refer to the following issue for more information [#2717 - Thirdparty TTK Test-Collection is not repeatable](https://github.com/mojaloop/project/issues/2717). It is possible to manually cleanup persistent data to re-run the test if required.

6. Bulk API Helm Tests

Refer to the [Testing Deployments](https://github.com/mojaloop/helm/blob/master/README.md#testing-deployments) section in the main README for detailed information on how to enable bulk-api-adapter tests.

7. Thirdparty API Helm Tests

Refer to [thirdparty/README.md#validating-and-testing-the-3p-api](https://github.com/mojaloop/helm/blob/master/thirdparty/README.md#validating-and-testing-the-3p-api) on how to enabled and execute Thirdparty verification tests.

8. Testing the new Bulk functionality (sdk-scheme-adapter)

For details regarding deployment and validation of simulators needed for bulk (for adoption provided in sdk-scheme-adapter) refer to [deploying Mojaloop TTK simulators](https://github.com/mojaloop/helm/blob/master/mojaloop-ttk-simulators/README.md).

## 6. Known Issues

1. [#2119 - Idempotency for duplicate quote request](https://github.com/mojaloop/project/issues/2119)
2. [#2322 - Helm install failing with with "medium to large" release names](https://github.com/mojaloop/project/issues/2322)
3. [#2317 - Mojaloop Helm deployments are not compatible when deployed to ARM-arch based hosts](https://github.com/mojaloop/project/issues/2317)
4. [#2435 - Quoting-Service is incorrectly handling failed responses to FSPs when forwarding requests](https://github.com/mojaloop/project/issues/2435)
5. Test issues causing instability/intermitant failures on Test Case Results
1. [#2717 - Thirdparty TTK Test-Collection is not repeatable](https://github.com/mojaloop/project/issues/2717)
2. [#2925 - Helm Test Intermittent failure with 'Generic ID not found](https://github.com/mojaloop/project/issues/2925)

## 7. Contributors

- Organizations: BMGF, InFiTX
- Individuals: @vijayg10, @oderayi, @elnyry-sam-k

*Note: companies are in alphabetical order, individuals are in no particular order.*

**Full Changelog**: https://github.com/mojaloop/helm/compare/v15.2.0...v15.3.0
2 changes: 1 addition & 1 deletion ml-testing-toolkit-cli/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
description: ml-testing-toolkit-cli Helm chart for Kubernetes
name: ml-testing-toolkit-cli
version: 15.3.2
appVersion: "v1.2.1"
appVersion: "v1.2.0"
home: http://mojaloop.io
icon: http://mojaloop.io/images/logo.png
sources:
Expand Down
3 changes: 1 addition & 2 deletions ml-testing-toolkit-cli/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
replicaCount: 1
image:
repository: mojaloop/ml-testing-toolkit-client-lib
# Upgrading ml-testing-toolkit-client-lib to a version above 1.2.0 causes failure in helm setup test (#3603)
tag: v1.2.0
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
Expand All @@ -19,8 +20,6 @@ image:
backoffLimit: 0
restartPolicy: Never



## Bash script for TTK CLI
script: |
echo "Downloading the test collection...";
Expand Down
18 changes: 9 additions & 9 deletions mojaloop/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13511,7 +13511,7 @@ ml-ttk-posthook-setup:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: &ttkGitUrl https://github.com/mojaloop/testing-toolkit-test-cases/archive/v15.3.0-snapshot.zip
testCasesPathInZip: &ttkGitPathSetup testing-toolkit-test-cases-15.2.0/collections/hub/provisioning
testCasesPathInZip: &ttkGitPathSetup testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/provisioning
ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050
parameters:
<<: *simNames
Expand All @@ -13524,7 +13524,7 @@ ml-ttk-posthook-tests:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: &ttkGitPathGP testing-toolkit-test-cases-15.2.0/collections/hub/golden_path
testCasesPathInZip: &ttkGitPathGP testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/golden_path
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050
Expand Down Expand Up @@ -13625,7 +13625,7 @@ ml-ttk-cronjob-cleanup:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: &ttkGitPathCleanup testing-toolkit-test-cases-15.2.0/collections/hub/cleanup
testCasesPathInZip: &ttkGitPathCleanup testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/cleanup
# testCasesPathInZip: *ttkGitPathGP
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down Expand Up @@ -13734,7 +13734,7 @@ ml-ttk-test-val-bulk:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/other_tests/bulk_transfers
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/other_tests/bulk_transfers
## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required.
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down Expand Up @@ -13779,7 +13779,7 @@ ml-ttk-test-setup-tp:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/provisioning_thirdparty
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/provisioning_thirdparty
## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required.
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down Expand Up @@ -13824,7 +13824,7 @@ ml-ttk-test-val-tp:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/thirdparty
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/thirdparty
# awsS3FilePath: ttk-tests/reports
testSuiteName: Thirdparty Tests
environmentName: Development
Expand Down Expand Up @@ -13866,7 +13866,7 @@ ml-ttk-test-setup-sdk-bulk:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/provisioning_sdkbulk
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/provisioning_sdkbulk
## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required.
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down Expand Up @@ -13911,7 +13911,7 @@ ml-ttk-test-val-sdk-bulk:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/sdk_scheme_adapter/bulk/basic
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/sdk_scheme_adapter/bulk/basic
## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required.
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down Expand Up @@ -13956,7 +13956,7 @@ ml-ttk-test-val-sdk-r2p:
config:
## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases
testCasesZipUrl: *ttkGitUrl
testCasesPathInZip: testing-toolkit-test-cases-15.2.0/collections/hub/sdk_scheme_adapter/request-to-pay/basic
testCasesPathInZip: testing-toolkit-test-cases-15.3.0-snapshot/collections/hub/sdk_scheme_adapter/request-to-pay/basic
## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required.
# awsS3BucketName: aws-s3-bucket-name
# awsS3FilePath: ttk-tests/reports
Expand Down