[openstack-dev] MuranoPL questions?

Stan Lagun slagun at mirantis.com
Sun Mar 9 06:39:04 UTC 2014


First of all MuranoPL is not a host but hosted language. It never intended
to replace Python and if Python can do the job it is probably better than
MuranoPL for that job.
The problem with Python is that you cannot have Python code as a part of
your DSL if you need to evaluate that DSL on server-side. Using Python's
eval() is not secure. And you don't have enough control on what evaled code
is allowed to do. MuranoPL on the contrary are fully sandboxed. You have
absolute control over what functions/methods/APIs are exposed to DSL and
DSL code can do nothing except for what it allowed to do. Besides you
typically do want your DSL to be domain-specific so general-purpose
language like Python can be suboptimal.

I don't say MuranoPL is good for all projects. It has many Murano-specific
things after all. In most cases you don't need all those OOP features that
MuranoPL has. But the code organization, how it uses YAML, block structures
and especially YAQL expressions can be of a great value to many projects

For examples of MuranoPL classes you can browse
https://github.com/istalker2/MuranoDsl/tree/master/meta folder. This is my
private repository that I was using to develop PoC for MuranoPL engine. We
are on the way to create production-quality implementation with unit-tests
etc. in regular Murano repositories on stackforge


On Sun, Mar 9, 2014 at 7:33 AM, Joshua Harlow <harlowja at yahoo-inc.com>wrote:

> To continue from other thread....
>
> """
> Personally I believe that YAQL-based DSLs similar (but probably simlet
> than) MuranoPL can be of a great value for many OpenStack projects that
> have DSLs of different kind. Murano for App Catatalog, Mistral for
> workflows, Heat for HOT templates, Ceilometer for alarms & counter
> aggregation rules, Nova for customizable resource scheduling and probably
> many more.
> """
>
> Isn't python a better host language for said DSLs than muranoPL? I am
> still pretty weary of a DSL that starts to grow so many features to
> encompass other DSLs since then it's not really a DSL but a non-DSL, and we
> already have one that everyone is familiar with (python).
>
> Are there any good examples if muranoPL that I can look at that take
> advantage of muranoPL classes, functions, namespaces which can be compared
> to there python equivalents. Has such an analysis/evaluation been done?
>
> Sent from my really tiny device...
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Sincerely yours
Stanislav (Stan) Lagun
Senior Developer
Mirantis
35b/3, Vorontsovskaya St.
Moscow, Russia
Skype: stanlagun
www.mirantis.com
slagun at mirantis.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140309/c04ea17c/attachment.html>


More information about the OpenStack-dev mailing list