Package validation

Registered by Steve McLellan

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

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:358582,n,z

Addressed by: https://review.openstack.org/358582
    Added core and CLI

Gerrit topic: https://review.openstack.org/#q,topic:bp/package-validation,n,z

Addressed by: https://review.openstack.org/358613
    Code Structure checker added with tests

Addressed by: https://review.openstack.org/358617
    Adding MuranoPL validator

Addressed by: https://review.openstack.org/358653
    Adding UI Validator

Addressed by: https://review.openstack.org/358600
    Adding ManifestValidator

Addressed by: https://review.openstack.org/360972
    Bunch of fixes for code_structure, base, manifest:

Addressed by: https://review.openstack.org/361035
    Report yaml parsing errors instead of silent

Addressed by: https://review.openstack.org/361067
    Accept null description in manifest

Addressed by: https://review.openstack.org/362078
    Fix error report in version

Addressed by: https://review.openstack.org/362147
    Improve package version validation

Addressed by: https://review.openstack.org/361989
    Improving tests coverage

Addressed by: https://review.openstack.org/362276
    Improve logging system

Addressed by: https://review.openstack.org/365612
    Add i18n support

Addressed by: https://review.openstack.org/365710
    [WIP] Added errors registrraton procedure

Addressed by: https://review.openstack.org/366736
    Added docs autogeneration for error list

Addressed by: https://review.openstack.org/367534
    Added functional test base

Addressed by: https://review.openstack.org/368939
    Bunch of bugfixes

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.