Package validation
Early error detection simplifies application development, troubleshooting and support. Currently Murano does not provide mechanisms to perform validation of the Murano application package before running deployment process. Thus Murano cannot prevent uploading of invalid package and developer cannot verify that application package contains valid structure and code before deployment process. Many problems with application packages (such as invalid package structure, errors in code, typos, etc.) can be detected and solved by using static validation tool.
A new toolkit for validation MuranoPL language and Murano application packages should be introduced. Key points:
- The toolkit SHOULD be implemented as a standalone Python package (library) with CLI interface.
- Validation library will be used to validate Murano packages during loading process.
- CLI tool can be used by application developer to perform early checks before package is assembled.
- Toolkit should be extensible with custom validators. It will provide API for extension purposes.
- Toolkit should be configurable to run list of specified inspections or to ignore specified inspections.
Toolkit should implement the following validation suites:
- Manifest validation
- Classes validation
- UI definition validation
Other validators can be implemented later as part of this tool or as external packages
Blueprint information
- Status:
- Started
- Approver:
- Kirill Zaitsev
- Priority:
- Undefined
- Drafter:
- Sergey Slipushenko
- Direction:
- Approved
- Assignee:
- Sergey Slipushenko
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Good progress
- Milestone target:
- None
- Started by
- Kirill Zaitsev
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Added core and CLI
Gerrit topic: https:/
Addressed by: https:/
Code Structure checker added with tests
Addressed by: https:/
Adding MuranoPL validator
Addressed by: https:/
Adding UI Validator
Addressed by: https:/
Adding ManifestValidator
Addressed by: https:/
Bunch of fixes for code_structure, base, manifest:
Addressed by: https:/
Report yaml parsing errors instead of silent
Addressed by: https:/
Accept null description in manifest
Addressed by: https:/
Fix error report in version
Addressed by: https:/
Improve package version validation
Addressed by: https:/
Improving tests coverage
Addressed by: https:/
Improve logging system
Addressed by: https:/
Add i18n support
Addressed by: https:/
[WIP] Added errors registrraton procedure
Addressed by: https:/
Added docs autogeneration for error list
Addressed by: https:/
Added functional test base
Addressed by: https:/
Bunch of bugfixes