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

Package development versions #354

Merged
merged 5 commits into from
Aug 12, 2020
Merged

Package development versions #354

merged 5 commits into from
Aug 12, 2020

Conversation

partiallyordered
Copy link
Contributor

@partiallyordered partiallyordered commented Aug 12, 2020

This will publish a development version of each chart on every commit to master.

There are a couple of small quality-of-life changes in the scripts, also.

Motivation

Mowali is currently maintaining a hacky continuous build against this repo and publishing charts to our own repo. This is because a non-trivial amount of the work we do is actually against these charts, and we want to deploy that work continuously. Our hacky continuous build is fine and working well for us, but I went to update it this morning to add development versions and realised that it's quite likely that

  • other organisations working on these charts would appreciate development versions
  • development versions can be packaged and published in a way that doesn't impinge upon or confuse the release process and other current usage

Details

  • A release/tag will still package and publish as previously- no change there.
  • When a user installs the latest version of a chart by omitting the version, e.g. with helm install mojaloop --repo=$HERE they will receive the latest released version not the latest development version.
  • Users can provide the --devel argument to helm upgrade helm install or helm search to receive development versions.
  • It is possible to request development versions in requirements.yaml.
  • Development versions are identified with semver using a suffix e.g. 1.2.3-x.y.z. See for more: https://helm.sh/docs/topics/charts/#charts-and-versioning
  • Development versions will look like 1.2.3-$BUILD_NUM-$GIT_REVISION. For example, 10.6.0-113-f81530b9aed35bbbae491e659ab1b05ac4f17133. CI normally has a monotonically increasing integer build number, in this case CIRCLE_BUILD_NUM meaning that development versions will be chronologically sorted when lexicographically sorted.

vbarzokas
vbarzokas previously approved these changes Aug 12, 2020
Copy link
Contributor

@rmothilal rmothilal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy with the change awaiting approval from @mdebarros

@lewisdaly
Copy link
Contributor

This is great! Very exciting stuff

@partiallyordered
Copy link
Contributor Author

This is great! Very exciting stuff

Copy link
Member

@mdebarros mdebarros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msk- , thanks for the PR. This looks great!!!

As per our discussion, please verify that the package.sh will run locally as it did before.

package.sh Outdated Show resolved Hide resolved
@partiallyordered
Copy link
Contributor Author

here goes nothing

@partiallyordered partiallyordered merged commit e20c7c1 into mojaloop:master Aug 12, 2020
@partiallyordered partiallyordered deleted the feature/package-development-versions branch August 12, 2020 15:52
partiallyordered added a commit that referenced this pull request Aug 13, 2020
* Fixed bug with package.sh

* Merge from appropriate commit-ish

* Updating comments to better reflect action
@mdebarros mdebarros mentioned this pull request Nov 18, 2020
mdebarros added a commit that referenced this pull request Nov 25, 2020
## Helm release changes

### 1. Maintenance updates
1. GitHub issue: mojaloop/project#1617
2. FSP Interoperability API v1.1 Swagger file used from here: https://github.com/mojaloop/mojaloop-specification/tree/master/documents/v1.1-document-set
3. For breaking changes, please review the "Breaking Changes" section below for for Mojaloop Helm v11.0.0
4. Notes on simulators 
	- [Mojaloop-Simulator](https://github.com/mojaloop/mojaloop-simulator) is enabled by default (six instances used). 
	- Ensure that correct Postman Scripts are used if you wish to test against the Mojaloop-Simulators:
        	-  A single MojaSim collection is now available after reconciliation between two collections that existed previously.
        	- Setup Mojaloop Hub : [MojaloopHub_Setup](https://github.com/mojaloop/postman/blob/master/MojaloopHub_Setup.postman_collection.json)
        	- Setup Mojaloop Simulators for testing : [MojaloopSims_Onboarding](https://github.com/mojaloop/postman/blob/master/MojaloopSims_Onboarding.postman_collection.json)
        	- Golden path tests: [Golden_Path_Mojaloop](https://github.com/mojaloop/postman/blob/master/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. To run Golden path tests using the Legacy simulator:
                - Setup Mojaloop Hub, test FSPs : [ML_OSS_Setup_LegacySim](https://github.com/mojaloop/postman/blob/master/ML_OSS_Setup_LegacySim.postman_collection.json)
        	- Golden path tests: [ML_OSS_Golden_Path_LegacySim](https://github.com/mojaloop/postman/blob/master/ML_OSS_Golden_Path_LegacySim.postman_collection.json)
	- In order to run the Legacy Simulator postman collection or the Mojaloop-Simulator collection, their corresponding setup collection needs to be run first; this can be done without redeployment.
5. Upgrades to all core and supporting services to support 11.0.0 release _(see Application versions and release notes below)_
6. The current Golden Path collection expects
 `quoting-service.config.simple_routing_mode_enabled` to be set to `false` to get 100% pass-rate, if this flag is disabled, there will be failures in several quoting-service tests (7 expected failures). This command can be used to override the default config: `helm install moja ./mojaloop/ -n demo --set quoting-service.config.simple_routing_mode_enabled=false`
7. Along with this configuration for on-us transfers is disabled on both default deployments and postman (ON_US_TRANSFERS_ENABLED on postman) collections.
8. Moving to SemVer as the standard is now adopted. This will start with v11.0.0 and follow the general semantic versioning guidance after that.
9. Updated Promfana chart with "Prometheus: v2.20.1; Grafana: v7.1.1"
10. Updated EFK chart with “appVersion: "elasticsearch: 7.7.1; kibana: 7.7.1; apm-server: 7.7.1; fluentd-elasticsearch: 3.0.4"
11. Charts now support deployments on Kubernetes v1.16.x onwards - Fix for issue #219
12. Removed deprecated ingress-nginx chart (#350). Please use [Nginx official chart](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/).
13. Updated official Helm repo URIs for stable & incubator dependencies and documentation: 
	- Stable: https://kubernetes-charts.storage.googleapis.com/ --> https://charts.helm.sh/stable
	- Incubator: http://storage.googleapis.com/kubernetes-charts-incubator --> https://charts.helm.sh/incubator
13. Updated `innodb_flush_log_at_trx_commit` to the value of `1` for MySQL servers to ensure ACID compliance (ref: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit)
14. Renamed Central-Event-Processor's (CEP) MongoDB instance dependency to: `nameOverride: cep-mongodb`. This will ensure that the CEP has its own MongoDB instance.
15. Renamed Mojaloop-Self-Testing-Toolkit's (TTK) MongoDB instance dependency to: `nameOverride: ttk-mongodb`. This will ensure that the TTK has its own MongoDB instance.


### 2. New Features
1. Along with changes from v10.4.0 related to the version v1.1 of the Mojaloop FSP Interoperability API, additional follow-up changes are implemented and a few fixes made. The changes are listed in the [tracking issue](mojaloop/mojaloop-specification#52) of the specification and there is additional context offered [here](https://mojaloop.io/mojaloop-fsp-interoperability-api-version-1-1/). Epic: mojaloop/project#1333
2. Added TTK CLI chart to ml-testing-toolkit (#380).
3. Added the option to pass a template as the rules.json (#353) in quoting service
4. Updates for bulk transfers support in MojaSims/Scheme-Adapter (mojaloop/project/issues/1386)
5. Added charts for bulk-get-handler: mojaloop/project/issues/1496
6. Package development versions (#354)
7. Update helm charts to support kubernetes deployments1.15 and later versions: mojaloop/project/issues/1463 (PR#349)
8. Added TTK CLI chart to ml-testing-toolkit (#380)
9. Modified the testing toolkit CLI chart to enabled scheduling (#381) 


### 3. Bug Fixes
1. Incorrect error behaviour on transfer fulfilment with future timestamp [1708](mojaloop/project#1708)
2. ACCEPT header returned in the PUT from switch for the timeout scenario [1710](mojaloop/project#1710) 
3. Date header missing from the Switch signature in timeout scenario [1709](mojaloop/project#1709)  
4. Valid transactionRequests callback in SDK responding with error response [1647](mojaloop/project#1647)  
5. Support test currencies XXX, XTS in ml-api-adapter [1652](mojaloop/project#1652)

## 4. Application versions
Application versions that are supported for this update:
1. ml-api-adapter: v10.5.0 -> **v11.1.2**
2. central-ledger: v10.5.1 -> **v11.3.1**
3. account-lookup-service: v10.4.2 -> **v11.1.2**
4. quoting-service: v10.5.5 -> **v11.1.4**
5. central-settlement: **v10.5.0** (no change)
6. central-event-processor: **v10.5.0** (no change)
7. bulk-api-adapter: v10.5.0 -> **v11.0.2**
8. email-notifier: **v9.5.0** (no change)
9. als-oracle-pathfinder: v9.4.0 --> **v10.2.0**
10. transaction-requests-service: v10.4.0 -> **v11.1.2**
11. finance-portal-ui: **v10.4.0** (no change)
12. finance-portal-backend-service: **v10.4.0** (no change)
13. settlement-management: **v8.8.2** (no change)
14. operator-settlement: **v9.2.1**  (no change)
15. event-sidecar: **v9.5.1**  (no change)
16. event-stream-processor: **v9.5.0-snapshot**
17. simulator: v10.5.3 -> **v11.0.2**
18. mojaloop-simulator: v10.4.1 -> **v11.2.1**
19. sdk-scheme-adapter: v10.5.0 -> **v11.8.0**
20. ml-testing-toolkit: v10.4.1 -> **v11.5.0**
21. ml-testing-toolkit-ui: v10.4.1 -> **v11.5.0**
22. ml-testing-toolkit-cli: **v11.3.0** (new)
 
## 5. Application release notes
1. ml-api-adapter - https://github.com/mojaloop/ml-api-adapter/releases/tag/v11.1.2
2. central-ledger - https://github.com/mojaloop/central-ledger/releases/tag/v11.3.1
3. account-lookup-service - https://github.com/mojaloop/account-lookup-service/releases/tag/v11.1.2
4. quoting-service - https://github.com/mojaloop/quoting-service/releases/tag/v11.1.4
5. central-settlement- https://github.com/mojaloop/central-settlement/releases/tag/v10.5.0
6. central-event-processor - https://github.com/mojaloop/central-event-processor/releases/tag/v10.5.0
7. bulk-api-adapter - https://github.com/mojaloop/bulk-api-adapter/releases/tag/v11.0.2
8. email-notifier - https://github.com/mojaloop/email-notifier/releases/tag/v9.5.0
9. als-oracle-pathfinder - https://github.com/mojaloop/als-oracle-pathfinder/releases/tag/v10.2.0
10. transaction-requests-service - https://github.com/mojaloop/transaction-requests-service/releases/tag/v11.1.2
11. finance-portal-ui - https://github.com/mojaloop/finance-portal-ui/releases/tag/v10.4.0
12. finance-portal-backend-service - https://github.com/mojaloop/finance-portal-backend-service/releases/tag/v10.4.0
13. settlement-management - https://github.com/mojaloop/settlement-management/releases/tag/v8.8.2
14. operator-settlement - https://github.com/mojaloop/operator-settlement/releases/tag/v9.2.1
15. event-sidecar - https://github.com/mojaloop/event-sidecar/releases/tag/v9.5.1
16. event-stream-processor - https://github.com/mojaloop/event-stream-processor/releases/v9.5.0-snapshot
17. simulator - https://github.com/mojaloop/simulator/releases/tag/v11.0.2
18. mojaloop-simulator - https://github.com/mojaloop/mojaloop-simulator/releases/tag/v11.2.1
19. sdk-scheme-adapter - https://github.com/mojaloop/sdk-scheme-adapter/releases/tag/v11.8.0
20. ml-testing-toolkit - https://github.com/mojaloop/ml-testing-toolkit/releases/tag/v11.5.0
21. ml-testing-toolkit-ui - https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v11.5.0
22. ml-testing-toolkit-cli - https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v11.3.0
 
## 6. Operational Chart versions
- EFK: **v7.1.0**  -> **v11.0.0**
- Promfana: **v8.4.0** -> **v11.0.0**

## 7. Breaking changes
- Helm release v10.4.0 is not upgradable to v11.0.0 - mojaloop/project#1759

## 8. Known Issues
- Proposal to remove external dependencies from Mojaloop Helm Charts - mojaloop/design-authority-project#69 **(_Note: this will be a breaking change in the next major release_)**
- ~Testing Toolkit Post-Hook Install tests are not compatible with Postman (_Note: this will not impact default installations_) - mojaloop/project#1864


## 9. Contributors:

- Contributing organizations: BMGF, CrossLake, MBX 
- Crosslake: @lewisdaly
- ModusBox: @amarmodus, @elnyry-sam-k , @mdebarros, @oderayi, @rmothilal , @vgenev , @vijayg10, @msk-, @vbarzokas, @aaronreynoza, @KamuelaFranco
- Individuals:  @vorburger
_Note: companies in alphabetical order_

---
## PR Dependencies
- mojaloop/project#1866
- mojaloop/postman#188
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants