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 <[email protected]> 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 <[email protected] >>> <mailto:[email protected]>> 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: [email protected] >>> <mailto:[email protected]>?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: [email protected]?subject:unsubscribe >> <mailto:[email protected]?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: [email protected]?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
