v15.2.0 Release - Acacia
Helm Release Notes
Date | Revision | Description |
---|---|---|
2023-10-23 | 0 | Initial draft |
2023-10-31 | 1 | RC.1 |
2023-11-03 | 2 | Release |
2023-11-07 | 3 | Release Updated |
- For KNOWN ISSUES, please review the section
#6
"Known Issues" below.
0. Summary
Enhancements and non-breaking changes to the v15.1.0 Release, which includes:
- Nodejs version of core and supporting services upgraded to v18.17.1 LTS
- Performance improvements and metrics around core services: ALS, Central Ledger, Quoting Service based on characterisation and fixes, enhancements done
- General maintenance and bug fixes
1. New Features
-
Performance fixes, enhancements and maintenance:
- mojaloop/#2880 simplify liquidity cover check and fix issue with validation (for main) (mojaloop/central-ledger#918) (825faf7) - https://github.com/mojaloop/central-ledger/releases/tag/v17.0.4
- mojaloop/#2928 Upgrade Mojaloop Simulator Logging (mojaloop-simulator/#2928), closes mojaloop/#3564
- mojaloop/#3264 SDK - Implement restart functionality for Bulk related outbound requests after PM4ML onboarding (sdk-scheme-adapter), closes mojaloop/3264
- mojaloop/#3396 Performance Maintenance characterisation for ALS - Add instrumentation (account-lookup-service/pull/457), closes mojaloop/#3396
- mojaloop/#3419 Perform benchmark tests (central-ledger/pull/961, )
- mojaloop/#3419 json stringify on every response (mojaloop/central-ledger#961) (6798bfd) - https://github.com/mojaloop/central-ledger/releases/tag/v17.0.5, closes mojaloop/#3419
- mojaloop/#3432 Adds quoting service Performance characterization upgrades and dashboards(quoting-service/pull/#311, quoting-service/pull/313, [quoting-service/pull/31]), closes mojaloop/#3432
- mojaloop/#3470 Profile ML-API-Adapter Notification Handler (ml-api-adapter/pull/510, ml-api-adapter/pull/512, ), closes mojaloop/#3470
- mojaloop/#3472 Enhance Kafka lib (vNow) to 3452 performance stream recommendations(central-services-stream/pull/129), closes mojaloop/#3472
- mojaloop/#3480 JSON.stringify degrades performance on high call count function in default LOG_LEVEL=info (central-services-shared/pull/343), closes mojaloop/#3480
- mojaloop/#3489 Implement the batching design for position prepare messages (central-ledger/pull/970, central-ledger/pull/972, central-ledger/pull/975), closes mojaloop/#3489
- mojaloop/#3498 alter message keys for prepare, fulfil and timeout (mojaloop/central-ledger#965) (db3e3b2), closes mojaloop/project#3498 - from https://github.com/mojaloop/central-ledger/releases/tag/v17.1.0
- mojaloop/#3519 add topic name override config map logic (mojaloop/central-ledger#969) (b99d091), closes mojaloop/project#3519 - https://github.com/mojaloop/central-ledger/releases/tag/v17.2.0
- mojaloop/#3537 Performance Characterise Quotes (quoting-service/pull/#313, quoting-service/pull/#315), closes mojaloop/#3537
- mojaloop/#3564 Quoting Service stalls on large concurrent requests/loads (quoting-service/319), closes mojaloop/#3564
- mojaloop/#3565 Re-enable caching on (quoting-service/#318), closes mojaloop/#3565
- mojaloop/3599 Add Support for custom annotation to helm chart deployments/statefulsets (helm), closes mojaloop/#3599
-
NodeJS upgrades:
- mojaloop/#3386 SDK-Scheme-Adapter NodeJS Upgrade (sdk-scheme-adapter/pull/453, sdk-scheme-adapter/pull/454, sdk-scheme-adapter/pull/455)
- mojaloop/#3433 Central-Ledger NodeJS Upgrade (central-ledger/pull/#964), closes mojaloop/#3433
- mojaloop/#3434 Central-Settlement NodeJS Upgrade (central-settlement/pull/394, [central-settlement/pull/395](https://github.com/mojaloop/ central-settlement/pull/395)), closes mojaloop/#3434
- mojaloop/#3435 Account Lookup Service NodeJs Upgrade (account-lookup-service/pull/462), closes [mojaloop/#3435](https://github.com/mojaloop/ project/issues/3435)
- mojaloop/#3437 ALS-Consent-Oracle NodeJS Upgrade (als-consent-oracle/pull/30), closes [mojaloop/#3437](https://github.com/mojaloop/project/ issues/3437)
- mojaloop/#3438 Quoting Service NodeJS Upgrade (quoting-service/pull/309), closes [mojaloop/#3438](https://github.com/mojaloop/project/issues/ 3438)
- mojaloop/#3439 Transaction-Request-Service NodeJS Upgrade (transaction-request-service), closes [mojaloop/#3434](https://github.com/ mojaloop/project/issues/3439)
- mojaloop/#3440 Auth-Service NodeJS Upgrade (auth-service/pull/133), closes mojaloop/#3440
- mojaloop/#3443 event-sidecar NodeJS Upgrade (event-sidecar/pull/54, event-sidecar/pull/55), closes mojaloop/#3443
- mojaloop/#3444 Mojaloop-Simulator NodeJS Upgrade (mojaloop-simulator/pull/168), closes [mojaloop/#3444](https://github.com/mojaloop/project/ issues/3444)
- mojaloop/#3446 Update Node JS version for the email-notifier (email-notifier/pull/209), closes [mojaloop/#3446](https://github.com/mojaloop/ project/issues/3446)
- mojaloop/#3447 Bulk-Api-Adapter NodeJS Upgrade (bulk-api-adapter/pull/99, [bulk-api-adapter/pull/100](https://github.com/mojaloop/ bulk-api-adapter/pull/100))
- mojaloop/#3448 Update Node JS version for the core libraries - central-services-stream (central-services-stream/pull/130), closes mojaloop/#3448
- mojaloop/#3450 Update Node JS version for the core libraries - central-services-health (central-services-metrics/pull/161), closes mojaloop/#3450
- mojaloop/#3451 Update Node JS version for the core libraries - central-services-health (central-services-health/pull/256), closes mojaloop/#3451
- mojaloop/#3453 Update Node JS version for the core libraries - central-services-error-handling ([central-services-error-handling/pull/184](https://github.com/mojaloop/central-services-error-handling/ pull/184)), closes mojaloop/#3453
- mojaloop/#3454 Update Node JS version for the core libraries - sdk-standard-components (event-sdk/pull/73), closes [mojaloop/#3454](https://github.com/ mojaloop/project/issues/3454)
- mojaloop/#3455 Update Node JS version for the core libraries - event-sdk(sdk-standard-components/pull/186), closes [mojaloop/#3455] (mojaloop/project#3455)
- mojaloop/#3455 Update Node JS version for the core-lib central-services-logger (central-services-logger/pull/44), closes [mojaloop/#3455] (mojaloop/project#3455)
- mojaloop/#3458 Update Node JS version for the ttk toolkit(thirdparty-sdk/pull/167), closes [mojaloop/#3458](https://github.com/mojaloop/project/ issues/3458)
- mojaloop/#3460 Update Node JS version for the ttk shared lib(ml-testing-toolkit-shared-lib/pull/13), closes [mojaloop/#3460] (mojaloop/project#3460)
- mojaloop/#3461 ML-API-Adapter NodeJS Upgrade (ml-testing-toolkit-client-lib/pull/8), closes [mojaloop/#3461](https://github.com/ mojaloop/project/issues/3461)
- mojaloop/#3475 Upgrade Node JS version for the core libraries - api-snippets (api-snippets/pull/164), closes [mojaloop/#3475](https://github.com/ mojaloop/project/issues/3475)
- mojaloop/#3476 Upgrade Node JS version for the core libraries - ml-number (ml-number/pull/26), closes [mojaloop/#3476](https://github.com/mojaloop/ project/issues/3476)
- mojaloop/#3518 Acentral-services-database NodeJs Upgrade (database-lib/pull/154), closes [mojaloop/#3518](https://github.com/mojaloop/project/ issues/3518)
- mojaloop/#3521 Thirdparty-API-Service NodeJS Upgrade (thirdparty-api-service/pull/91, [third-party-api-svc/pull/92](https://github.com/ mojaloop/thirdparty-api-svc/pull/92)), closes mojaloop/#3521
- mojaloop/#3425 ML-API-Adapter NodeJS Upgrade (ml-api-adapter/pull/513, [ml-api-adapter/pull/514](https://github.com/mojaloop/ml-api-adapter/pull/ 514)), closes mojaloop/#3425
2. Bug Fixes
- mojaloop/#2734 Failures in daily cronjob GP tests (mojaloop-simulator), closes mojaloop/2734
- mojaloop/#3474 CL Cache expiration values higher than default causes transfer to fail (central-ledger/pull/966), closes mojaloop/#3474
- mojaloop/#3527 CL v17.2.0 might have issues on payee notifications, Duplicate transfer ID check as well (object-store-lib), closes mojaloop/3527
- mojaloop/#3529 CL high latency in transfer processing(central=ledger), closes mojaloop/#3529
- mojaloop/#3579 Provisioning and GP test failing because of Funds In timing problems (testing-toolkit-test-cases/pull/129)
- mojaloop/#3580 fix missing toDestination on handling the fspiop source/destination (central-ledger/pull/982), closes mojaloop/3580
- mojaloop/#3589 Bulk API Adapter failing due to object-lib-store bug (bulk-api-adapter/pull/102)
- mojaloop/#4597 Setup and GP failures when upgrading Mojaloop from v15.1.0 to v15.2.0-rc (testing-toolkit-test-cases), closes mojaloop/3597
3. Application versions
- ml-api-adapter: v14.0.0 -> v14.0.5 (Compare)
- central-ledger: v17.0.3 -> v17.3.2 (Compare)
- account-lookup-service: 14.1.0 -> v15.0.0 (Compare)
- quoting-service: v15.0.2 -> v15.5.0 (Compare)
- central-settlement: v15.0.0 -> v16.0.0 (Compare)
- bulk-api-adapter: v15.0.3 -> v16.0.1 (Compare)
- central-event-processor: v12.0.0
- email-notifier: v12.0.0 -> v14.0.0 (Compare)
- als-oracle-pathfinder: v12.0.0
- transaction-requests-service: v14.1.0 -> v14.1.2 (Compare)
- event-sidecar: v12.0.0 -> v14.0.0 (Compare)
- event-stream-processor: v12.0.0-snapshot.7
- simulator: 12.0.0
- mojaloop-simulator: v14.0.1 -> v15.0.0 (Compare)
- sdk-scheme-adapter: v23.0.1 -> v23.1.1 (Compare)
- ml-testing-toolkit: v16.1.1 -> v17.0.0 (Compare)
- ml-testing-toolkit-ui: v15.4.0
- ml-testing-toolkit-client-lib: v1.2.0
- auth-service: v14.0.0 -> v15.0.0 (Compare)
- als-consent-oracle: v0.2.0 -> v0.2.2 (Compare)
- thirdparty-api-svc: v13.0.2 -> v14.0.0 (Compare)
- thirdparty-sdk: v15.1.0 -> v15.1.1 (Compare)
4. API Versions
This release supports the following versions of the Mojaloop family of APIs:
API | Supported Versions | Notes |
---|---|---|
FSPIOP | v1.1, v1.0 | |
Settlements | v2.0 | |
Admin | v1.0 | |
Oracle | v1.0 | |
Thirdparty | v1.0 |
5. Testing notes
-
This release has been validated against the following Dependency Test Matrix:
Dependency Version Notes Kubernetes v1.28 AWS EKS, AWS EKS Supported Version Notes containerd v1.6.19 Nginx Ingress Controller helm-ingress-nginx-4.7.0 / ingress-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.2.0 example-mojaloop-backend v15.0.0 README -
It is recommended that all Mojaloop deployments are verified using the Mojaloop Testing Toolkit. More information can be found in the Mojaloop Deployment Guide.
-
The testing-toolkit-test-cases (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.
-
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 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:
- Setup Mojaloop Hub: MojaloopHub_Setup
- Setup Mojaloop Simulators for testing : MojaloopSims_Onboarding
- Golden path tests: Golden_Path_Mojaloop
- 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.
-
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. It is possible to manually cleanup persistent data to re-run the test if required.
-
Bulk API Helm Tests
Refer to the Testing Deployments section in the main README for detailed information on how to enable bulk-api-adapter tests.
-
Thirdparty API Helm Tests
Refer to thirdparty/README.md#validating-and-testing-the-3p-api on how to enabled and execute Thirdparty verification tests.
-
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.
6. Known Issues
- #2119 - Idempotency for duplicate quote request
- #2322 - Helm install failing with with "medium to large" release names
- #2317 - Mojaloop Helm deployments are not compatible when deployed to ARM-arch based hosts
- #2435 - Quoting-Service is incorrectly handling failed responses to FSPs when forwarding requests
- Test issues causing instability/intermitant failures on Test Case Results
7. Contributors
- Organizations: BMGF, InFiTX
- Individuals: @chris-me-law , @dfry , @elnyry-sam-k , @PaulGregoryBaker , @mdebarros , @vijayg10 , @aaronreynoza , @oderayi, @elijah0kello
Note: companies are in alphabetical order, individuals are in no particular order.
Full Changelog: v15.1.0...v15.2.0