[openstack-dev] [mistral] mistral actions plugin architecture

Renat Akhmerov rakhmerov at mirantis.com
Wed Feb 18 11:26:11 UTC 2015


Hi Filip,

Well, it’s not necessary to keep custom action sources as part of Mistral sources. You can keep them anywhere else but the only requirement is that they must be registered globally in python packages so that  when Mistral parses entry points in setup.cfg it could find needed classes using their fully qualified names. To do that you can use regular well known python procedures (setuptools etc.)

Hope this helps

Renat Akhmerov
@ Mirantis Inc.



> On 18 Feb 2015, at 14:55, Filip Blaha <filip.blaha at hp.com> wrote:
> 
> Thanks for answer!
> 
> A custom action inherits from base.Action. So if I need to write custom action in different project and register it via entry points then I need dependency on mistral sources. Is that correct? Or is there way how to create custom action without that dependency?
> 
> Regards
> Filip
> 
> On 02/09/2015 04:58 PM, Renat Akhmerov wrote:
>> Hi,
>> 
>> It’s pretty simple and described in http://mistral.readthedocs.org/en/master/developer/writing_a_plugin_action.html <http://mistral.readthedocs.org/en/master/developer/writing_a_plugin_action.html>.
>> 
>> Renat Akhmerov
>> @ Mirantis Inc.
>> 
>> 
>> 
>>> On 09 Feb 2015, at 21:43, Filip Blaha <filip.blaha at hp.com <mailto:filip.blaha at hp.com>> wrote:
>>> 
>>> Hi all,
>>> 
>>> regarding to [1] there should be some plugin mechanism for custom actions in Mistral. I went through code and I found some introspection mechanism [2] generating mistral actions from methods on client classes for openstack core projects. E.g. it takes nova client class (python-novaclient) and introspects its methods and theirs parameters and creates corresponding actions with corresponding parameters. The same for other core projects like neutron, cinder, ... However the list of  these client classes seems to be hardcoded [3].  So I am not sure whether this mechanism can be used for other projects like murano client to create murano related actions in mistral? Or is there any other pluggable mechanism to get murano actions into mistral without hardcoding in mistral project?
>>> 
>>> [1] https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign#Plugin_Architecture <https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign#Plugin_Architecture> 
>>> [2] https://github.com/stackforge/mistral/blob/master/mistral/actions/openstack/action_generator/base.py#L91 <https://github.com/stackforge/mistral/blob/master/mistral/actions/openstack/action_generator/base.py#L91> 
>>> [3] https://github.com/stackforge/mistral/blob/master/mistral/actions/generator_factory.py <https://github.com/stackforge/mistral/blob/master/mistral/actions/generator_factory.py> 
>>> 
>>> 
>>> Regards
>>> Filip
>>> 
>>> __________________________________________________________________________
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe: OpenStack-dev-request at lists.openstack.org <mailto:OpenStack-dev-request at lists.openstack.org>?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>> 
>> 
>> 
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe <mailto:OpenStack-dev-request at lists.openstack.org?subject:unsubscribe>
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150218/c7b1f93a/attachment.html>


More information about the OpenStack-dev mailing list