v16.0.0 - Congo
Helm Release Notes
Date | Revision | Description |
---|---|---|
2024-02-06 | 0 | Initial draft |
2024-03-13 | 0 | Initial release |
0. Summary
Enhancements and breaking changes to the v15.2.0 Release, which includes:
- Performance improvement in Central Ledger via batching of position prepare and position filfill messages
- Performance improvement in ALS with the addition of participant requests caching, and logging fixes
- Refactoring of Quoting Service into an event-driven service to improve performance
- Helm chart: external K8s secret are now used for JWS signing key source if present
- General maintenance, bug fixes, and Nodejs upgrades
1. New Features
- mojaloop/#3426 add participant req caching, enable cache metrics, log fixes (mojaloop/#465), closes mojaloop/#3426
- mojaloop/#3427 add oracle endpoint db caching and oracle request caching (mojaloop/#467), closes mojaloop/#3427
- mojaloop/#3441 nodejs upgrade (mojaloop/#252), closes mojaloop/#3441
- mojaloop/#3636 batching implementation for position prepare messages (mojaloop/#968), closes mojaloop/#3636
- mojaloop/#3524 add position fulfil to binprocessor (mojaloop/#990), closes mojaloop/#3524
- mojaloop/#3524 add reserve action to fulfil logic (mojaloop/#992), closes mojaloop/#3524
- mojaloop/#3666 refactor quoting service into an event driven solution to improve performance (mojaloop/#321), closes mojaloop/#3666
- mojaloop/#3445 nodejs upgrade (mojaloop/#252), closes mojaloop/#3445
- mojaloop/#3666 refactor quoting service into an event driven solution to improve performance (mojaloop/#321), closes mojaloop/#3666
- mojaloop/#3760 add external k8s secret for jws signing keys (mojaloop/#600), closes mojaloop/#3760
- mojaloop/#3768 create dashboard-performance-troubleshooting.json (mojaloop/#601), closes mojaloop/#3768
- mojaloop/#3768 node list regexp shows all the nodes in dashboard-performance-troubleshooting.json (mojaloop/#604), closes mojaloop/#3768
- mojaloop/#3768 add replicaset count to performance-troubleshooting dashboard (mojaloop/#606), closes mojaloop/#3768
- iprod/#379 added integration tests; updated docker-compose (mojaloop/#324), closes iprod/#379
2. Bug Fixes
- mojaloop/#3682 fix cache implementation (mojaloop/#468), closes mojaloop/#3682
- mojaloop/#3603 fix container permission issues (mojaloop/#9), closes mojaloop/#3603
- mojaloop/3806 fix: update k8s monitoring dashboard (mojaloop/#597), closes mojaloop/#3806
- mojaloop/#3768 fix container cpu and memory utilization charts in k8s monitoring dashboard (mojaloop/#610), closes mojaloop/#3768
- mojaloop/#3768 node list regexp shows all the nodes in dashboard-performance-troubleshooting.json (mojaloop/#604), closes mojaloop/#3768
3. Application Versions
- central-event-processor: v12.0.0 -> v12.1.0 (Compare)
- ml-testing-toolkit-ui: v15.4.0 -> v15.4.2 (Compare)
- als-oracle-pathfinder: v12.0.0 -> v12.1.0 (Compare)
- ml-testing-toolkit-client-lib: v1.2.0 -> v1.2.2 (Compare)
- account-lookup-service: v15.0.0 -> v15.2.3 (Compare)
- simulator: v12.0.0 -> v12.1.0 (Compare)
- quoting-service: v15.5.0 -> v15.7.0 (Compare)
- central-ledger: v17.3.2 -> v17.6.0 (Compare)
- event-stream-processor: v12.0.0-snapshot.7 -> v12.0.0-snapshot.9 (Compare)
- sdk-scheme-adapter: v23.1.1 -> v23.4.0 (Compare)
- bulk-api-adapter: v17.0.0
- event-sidecar: v14.0.0
- auth-service: v15.0.0
- ml-testing-toolkit: v17.0.0
- transaction-requests-service: v14.1.2
- ml-api-adapter: v14.0.5
- mojaloop-simulator: v15.0.0
- thirdparty-api-svc: v14.0.0
- als-consent-oracle: v0.2.2
- thirdparty-sdk: v15.1.1
- central-settlement: v16.0.0
- email-notifier: v14.0.0
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.29 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 v16.0.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 Bulk functionality including "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. Breaking Changes
central-ledger
- config/default.json:
The Kafka configuration has been expanded to include additional topics, batch size, consume timeout andEVENT_TYPE_ACTION_TOPIC_MAP
configurations for the batching feature. See README for more details.
(https://github.com/mojaloop/central-ledger/blob/42238ff293bb27f1947831de1ef574ebd5bdb6fc/config%2Fdefault.json)
quoting-service
- config/default.json:
Quoting Service has now been split into API service and Handler service. As a result, Kafka configuration has been added to allow for publishing and consuming of messages between the API service and the Handler service. See diff for details.
(https://github.com/mojaloop/quoting-service/blob/0a68f45602d9180429537315f6c44f30b8ba99e5/config%2Fdefault.json)
account-lookup-service
- config/default.json: (https://github.com/mojaloop/account-lookup-service/blob/283ef2140c166029255a4ddc9548eb3ffb4eaf17/config%2Fdefault.json)
- docker/account-lookup-service/default.json: (https://github.com/mojaloop/account-lookup-service/blob/283ef2140c166029255a4ddc9548eb3ffb4eaf17/docker%2Faccount-lookup-service%2Fdefault.json)
TheENPOINT_CACHE_CONFIG
has been replaced with three (3) separate cache configurations (CENTRAL_SHARED_ENDPOINT_CACHE_CONFIG
,CENTRAL_SHARED_PARTICIPANT_CACHE_CONFIG
, andGENERAL_CACHE_CONFIG
) to cater for the additional caching features in the service. See diff for details.
7. 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
8. Contributors
- Organizations: BMGF, InFiTX, MLF
- Individuals: @aaronreynoza, @elnyry-sam-k, @geka-evk, @kleyow, @muzammil360, @oderayi, @vijayg10
Note: companies and individuals are in alphabetical order
Full Changelog: v15.2.0...v16.0.0