2018-08-21 Meeting notes
Date
Aug 21, 2018
7am PST / 4pm CET
Meeting Link
Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/737202874
Or iPhone one-tap :
US: +16699006833,,737202874# or +14086380968,,737202874#
Or Telephone:
Dial(for higher quality, dial a number based on your current location):
US: +1 669 900 6833 or +1 408 638 0968 or +1 646 876 9923
Meeting ID: 737 202 874
International numbers available: https://zoom.us/zoomconference?m=F0kj5u6u0wFxr7Xfz5NKZxl0xyLhuTPF
Attendees
@Chongsun Ahn (Unlicensed)
@Mateusz Kwiatkowski
@Nikodem Graczewski (Unlicensed)
@Łukasz Lewczyński (Deactivated)
@Elias Muluneh
@Paulina Buzderewicz
Goals
Suggestions: @Wesley Brown
3.4.1 Patch release? https://openlmis.atlassian.net/browse/OLMIS-5235 https://openlmis.atlassian.net/browse/OLMIS-5057
Jenkins failures (https://openlmis.atlassian.net/browse/OLMIS-5105)
Feature toggles (explaining this for all teams - how to use)
Discussion items
Time | Item | Who | Notes |
|---|---|---|---|
5m | Agenda and action item review | @Chongsun Ahn (Unlicensed) |
|
| Jenkins failures during release process | @Mateusz Kwiatkowski @Klaudia Pałkowska (Deactivated) or @Nikodem Graczewski (Unlicensed)? | Would you be able to give us information about why Jenkins has been having so many failures? (had to pick people who are not on leave) |
|
|
|
|
15m | UI v7 Architecture discussion | @Nikodem Graczewski (Unlicensed) |
|
Notes
OLMIS-5100 - Shared Jenkinsfile
Problems/concerns
Cannot parameterize some service-specific stuff in Jenkinsfiles, complexity in how contract tests will run
Working with pipelines; Jenkins tries to get Jenkinsfiles from actual repository by default
Separate Jenkinsfile for services and UI is okay
Having a single file would be better, but it may not be worth the effort
Next step: #tech-debt further discussion to see if it's worth the effort, to see if problems are solvable, modify OLMIS-5100 to make it a spike ticket to answer if the change is worth doing
Nifi registry follow up
Something probably related to @Josh Zamor (Deactivated) and @Craig Appl (Unlicensed); delay to next meeting
Jenkins failures during release process
Lost nodes (they didn't come back)
Lack of disk space
Before we had pipeline jobs, we had ERD jobs which were restricted to "master" node, but pipeline jobs did not restrict ERD stage; we made the fix yesterday
Need to verify changes Josh made to ERD scripts (which were done on branch on stock management) and put them on other services
Two executors on the same node, same ports being used by jobs, or possibly other conflicts (timeouts, etc.)
Requisition build integration tests fail - possibly because of Javers AuditLogInitializer running at the same time as the integration tests
Docker-compose config error (newline unexpected?)
Contract tests failing with auth started up, but not registered with consul
Console output doesn't give any output, so we have no insight into what's happening; need to change it so that we get enough logging to know what's wrong, but not too much that we are overwhelmed with log statements
Issue with directory names?
When starting up nodes, we download docker-compose executable using curl, and sometimes we might not have downloaded it, but an HTML file instead
Requisition contract test, 504 error (gateway timeout)
Potential fixes
Change config of Jenkins nodes to have only one executor instead of two
Having more nodes, possibly 4 should be enough, but not sure about the cost
Set up alerts for low disk space for nodes?
Spike on requisition build integration tests failing because of Javers
Changing contract test output to add more from logs, but not too much
Looking into requisition contract test 504 error
UI v7 Architecture
Only have time for Nikodem to share his thoughts; will continue discussion next meeting
Good
Architecture is consistent, stack: service, repository, repository impl
Extensible because of repository implementation pattern
Somewhat independent of AngularJS (not fully, because of directives, probably couldn't because of that)
Bad
Doing a lot of requests, a lot of them are duplicated
Getting two different objects and they do the same request, then we are doing duplicate requests
No caching to share the fetched data
Whole architecture hasn't been implemented fully
Not started supporting ES6
Cutting ourselves off from AngularJS, but nothing to replace it; only doing it for new code; replacing AngularJS would still be hard
Domain object pattern seems unintuitive; "hacking around" when doing testing
POD being aware of Location object, for printing