Outcomes of MidScale Milestone M4
Milestone goal: Performance Repo prototype, UI basic tests, Multinode Tasks
Status: DONE (12 Apr 2021, on time)
Activities and Outcomes
There were many parallel activities during this milestone:
Native PostgreSQL Repository Prototype implementation (a.k.a. "Performance Repo prototype"). This is a culmination in prototyping work that spanned several milestones. So far the prototyping work was very successful, validating the design choices that were made in early phases of the project. Prototype code was released as part midPoint 4.3, although it was marked as experimental functionality. At this point, the code is an evolutionary prototype, which will be extended during next thee milestones to read production-ready quality.
User interface testing using Schrödinger testing framework. Basic user interface test code is ready at this point, and running in CI/CD environment. Schrodinger framework code was separated from main midPoint code, to avoid circular dependencies. The framework was modified to adjust for various tests setup, e.g. to use already running midPoint, as prepared by testing environment.
Testing environment. Work on performance testing environment continues in M4. The focus was on "gitops", storing complete configuration in git source code repository and integration with CI/CD. As of M4, only preliminary results were available.
Multinode Tasks. There were significant improvements in user interface and visibility for multi-node tasks. There were also numerous bugfixes and minor improvements, motivated by midPoint 4.3 release. Note: some work on multi-node tasks and task management in general was done in previous milestones, ahead of the plan.
MidScale survey was closed, the results evaluated and published. The survey indicated moderate demand for project results among existing midPoint users, and there is a promissing indication for much higher demand in the future. Overall, the results are consistent with MidScale project plans and design decisions, especially the choice of PostgreSQL as a primary database for midPoint repository. Results of the survey were used to adjust the plans for midPoint 4.3 and 4.4 releases. However, the plans for midScale project does not require any significant change.
Miscellaneous stabilization and quality improvements. MidScale milestone 4 was deliberately planned to coincide with midPoint 4.3 release. Therefore there was significant code stabilization and quality improvements, motivated by midPoint 4.3 pre-release activities. There were additional thread safety improvements and testing, added XML Query to Query Language conversion capability, numerous bugfixes and minor improvements.
The activities of this milestone were mostly carried out according to original plan. Yet, there were some differences:
More people were involved in the project, outside of the NGI funding. It was decided to strengthen the architectural part of the project (Radovan Semančík) and support for testing infrastructure (Kamil Jireš).
MidScale milestone 4 was deliberately planned to coincide with midPoint 4.3 release. All results of MidScale M4 and all the previous milestones are currently available in midPoint 4.3, which was release a couple of days before midScale M4. As midScale project is not finished yet, some parts of the functionality were released in experimental quality.