<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Filip,<div class=""><br class=""></div><div class="">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.)</div><div class=""><br class=""></div><div class="">Hope this helps</div><div class=""><br class=""><div class="">
<div class="">Renat Akhmerov</div><div class="">@ Mirantis Inc.</div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 18 Feb 2015, at 14:55, Filip Blaha <<a href="mailto:filip.blaha@hp.com" class="">filip.blaha@hp.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta content="text/html; charset=windows-1252" http-equiv="Content-Type" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    <div class="moz-cite-prefix">Thanks for answer!<br class="">
      <br class="">
      A custom action inherits from
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252" class="">
      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?<br class="">
      <br class="">
      Regards<br class="">
      Filip<br class="">
      <br class="">
      On 02/09/2015 04:58 PM, Renat Akhmerov wrote:<br class="">
    </div>
    <blockquote cite="mid:073F11C3-5867-4483-8D6F-B3A5E41522D1@mirantis.com" type="cite" class="">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252" class="">
      Hi,
      <div class=""><br class="">
      </div>
      <div class="">It’s pretty simple and described in <a moz-do-not-send="true" href="http://mistral.readthedocs.org/en/master/developer/writing_a_plugin_action.html" class="">http://mistral.readthedocs.org/en/master/developer/writing_a_plugin_action.html</a>.</div>
      <div class=""><br class="">
        <div class="">
          <div class="">Renat Akhmerov</div>
          <div class="">@ Mirantis Inc.</div>
          <div class=""><br class="">
          </div>
          <br class="Apple-interchange-newline">
        </div>
        <br class="">
        <div class="">
          <blockquote type="cite" class="">
            <div class="">On 09 Feb 2015, at 21:43, Filip Blaha <<a moz-do-not-send="true" href="mailto:filip.blaha@hp.com" class="">filip.blaha@hp.com</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">Hi all,<br class="">
              <br class="">
              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?<br class="">
              <br class="">
              [1] <a moz-do-not-send="true" href="https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign#Plugin_Architecture" class="">https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign#Plugin_Architecture</a>
              <br class="">
              [2] <a moz-do-not-send="true" href="https://github.com/stackforge/mistral/blob/master/mistral/actions/openstack/action_generator/base.py#L91" class="">https://github.com/stackforge/mistral/blob/master/mistral/actions/openstack/action_generator/base.py#L91</a>
              <br class="">
              [3] <a moz-do-not-send="true" href="https://github.com/stackforge/mistral/blob/master/mistral/actions/generator_factory.py" class="">https://github.com/stackforge/mistral/blob/master/mistral/actions/generator_factory.py</a>
              <br class="">
              <br class="">
              <br class="">
              Regards<br class="">
              Filip<br class="">
              <br class="">
__________________________________________________________________________<br class="">
              OpenStack Development Mailing List (not for usage
              questions)<br class="">
              Unsubscribe: <a moz-do-not-send="true" href="mailto:OpenStack-dev-request@lists.openstack.org" class="">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class="">
              <a moz-do-not-send="true" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br class="">
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br class="">
      <pre wrap="" class="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br class="">
  </div>

__________________________________________________________________________<br class="">OpenStack Development Mailing List (not for usage questions)<br class="">Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class=""><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class=""></div></blockquote></div><br class=""></div></body></html>