[openstack-dev] [murano]How to use Murano to transmit files to Mistral and execute scripts on Mistral

WANG, Ming Hao (Tony T) tony.a.wang at alcatel-lucent.com
Tue Nov 17 10:11:54 UTC 2015


Alexander,

Thanks for your response.
During the workflow running stage, it may need to access some other artifacts.
In my case, I use Mistral workflow to call Ansible playbook, and I need Murano to put Ansible playbook into right place on Mistral server so that Mistral workflow can find it.

Thanks,
Tony

From: Alexander Tivelkov [mailto:ativelkov at mirantis.com]
Sent: Tuesday, November 17, 2015 4:19 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [murano]How to use Murano to transmit files to Mistral and execute scripts on Mistral

Hi Tony,

Probably I am missing something, but why do you need Murano Agent to interact with Mistral? You can call Mistral APIs right from MuranoPL code being executed by Murano Engine. Murano's core library contains the io.murano.system.MistralClient class ([1]) which may be used to upload and run mistral workflows.

Please let me know if you need more details on this

[1]  https://github.com/openstack/murano/blob/master/murano/engine/system/mistralclient.py

On Tue, Nov 17, 2015 at 5:07 AM WANG, Ming Hao (Tony T) <tony.a.wang at alcatel-lucent.com<mailto:tony.a.wang at alcatel-lucent.com>> wrote:
Dear Murano developers and testers,

I want to put some files that Mistral workflow needs into Murano package, and hope Murano can transmit them to Mistral before it calls Mistral workflow.
The flow should be as following:

1.                   User uploads one Murano package which includes both Murano artifacts and Mistral artifacts to Murano;

2.                   Murano transmits the Mistral artifacts to Mistral, and Mistral does its work.

After study, I thought muranoagent may be helpful and plan to install a muranoagent on the Mistral server since it can put files into nova server, and can run scripts on the nova server.
After further study, I found muranoagent solution may be not feasible:

1.                   muranoagent and murano-engine(dsl) uses rabbitMQ to communicate.

2.                   When an Agent object is created in DSL, murano-engine creates a unique message queue to communicate with the muranoagent in nova instance:
The queue name consists of current murano environment id, and the nova instance murano object id.

3.                   During murano creates the nova instance, it passes this unique queue name via nova user_data to muranoagent on guest.
In this way, muranoagents on different guests can communicate with murano-engine separately.
This doesn’t suit the muranoagent + Mistral server solution.
We only want to install one muranoagent in Mistral server, and it should only listen on one message queue.
We can’t create  new muranoagent for each murano environment.
To achieve this, one solution that I can think is to modify murano code to implement a new MistralAgent to listen on a pre-defined message queue.

Could you please share your ideas about this?
If you have other solution, please also help to share it.  ☺•

Thanks in advance,
Tony

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe<http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
--
Regards,
Alexander Tivelkov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20151117/7c5bd9c6/attachment.html>


More information about the OpenStack-dev mailing list