8e4b2dad0b
Adds a Stevedore-based plugin loader which is capable to load custom Artifact Types implemented as classes or lists of classes. The Loader validates if entry-points' names match the type names of the ArtifactTypes, ensures that no version conflicts occur (i.e. there are no Artifact Types which have identical combination of Type Name and Type Version), maintains the mapping of Type Names to the actual classes and also keeps an index of Artifact Types by their endpoint aliases. Modifies the Serialization utility of Declarative framework to use the actual set of plugins instead of synthetic type dictionary. Adds several example plugins to glance/contrib directory. Implements-blueprint: artifact-repository Co-Authored-By: Inessa Vasilevskaya <ivasilevskaya@mirantis.com> Co-Authored-By: Alexander Tivelkov <ativelkov@mirantis.com> Change-Id: I5ff5d4c257a1c42885068f4343f52e55189265a5
0 lines
Python
0 lines
Python