TL,DR version: 
Murano team is using io.murano namespace for murano Core Library, it should not 
be used for apps; We’ve updated our murano apps to use org.openstack and/or 
com.mirantis where applicable [1]. If you’re developing a murano app — please 
pick a relevant namespace.

Long Version:
In MuranoPL packages and classes have FQNs, Fully Qualified Names. This is done 
to allow developers of apps distinguish between different implementations of 
the same thing. For example we might have a VM-based MySQL [2] and a 
docker-based MySQL classes [3]. The idea of FQNs is quite similar to the idea 
of namespaces from Java, for example.

Until very recently we(murano-team) have been using ‘io.murano’ prefix for all 
of our apps. Originally this namespace was designed to contain only ‘core’ 
murano classes, but then we’ve added a couple of apps, and a couple more and 
eventually we’ve been using the namespace all over. This lead to app developers 
from outside the core murano team to copy this practice and use ‘io.murano’ 
prefix in their own apps (Since all the apps start with ‘io.murano’ one would 
make a logical solution, that he should also start his/her app with 
‘io.murano’). This defeats the idea of having multiple independent 
implementations with different FQN, so we’re updating our apps to remove this 
prefix. It will probably take some time to update apps on app.openstack.org, 
but apps in murano-apps have already been updated accordingly.

The same idea applies to murano plugins, that extend core library with new 
functionality. This work is described in corresponding spec [4] (it’s quite 
short, so if you’re writing a murano-plugin, please give it a read) and will be 
implemented by this commit [5]. The goal here is also to remove 
‘io.murano.extensions’ from the class names of the plugins. Old names are 
deprecated, but would be supported.

So, if you’re developing a murano app, please don’t use 'io.murano' as the 
prefix for your app’s FQN, but rather choose a more appropriate one. 
'org.openstack' might be a good choice. And if your company plans to invest 
into supporting the app — it might be a good idea to put it’s name there.


[1] 
https://review.openstack.org/#/q/status:merged+project:openstack/murano-apps+branch:master+topic:bp/fix-fqn-usage
 
[2] 
https://git.openstack.org/cgit/openstack/murano-apps/tree/MySQL/package/manifest.yaml#n15
[3] 
https://git.openstack.org/cgit/openstack/murano-apps/tree/Docker/Applications/MySQL/package/manifest.yaml#n15
[4] 
https://specs.openstack.org/openstack/murano-specs/specs/newton/approved/plugin-fqn-rename.html
[5] https://review.openstack.org/#/c/332875/

-- 
Kirill Zaitsev
Murano Project Tech Lead
Software Engineer at
Mirantis, Inc

Attachment: signature.asc
Description: Message signed with OpenPGP using AMPGpg

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to