[openstack-dev] [Heat] Request for python-heatclient project to adopt heat-translator
Zane Bitter
zbitter at redhat.com
Fri Sep 19 22:54:27 UTC 2014
On 09/09/14 05:52, Steven Hardy wrote:
> Hi Sahdev,
>
> On Tue, Sep 02, 2014 at 11:52:30AM -0400, Sahdev P Zala wrote:
>> Hello guys,
>>
>> As you know, the heat-translator project was started early this year with
>> an aim to create a tool to translate non-Heat templates to HOT. It is a
>> StackForge project licensed under Apache 2. We have made good progress
>> with its development and a demo was given at the OpenStack 2014 Atlanta
>> summit during a half-a-day session that was dedicated to heat-translator
>> project and related TOSCA discussion. Currently the development and
>> testing is done with the TOSCA template format but the tool is designed to
>> be generic enough to work with templates other than TOSCA. There are five
>> developers actively contributing to the development. In addition, all
>> current Heat core members are already core members of the heat-translator
>> project.
>>
>> Recently, I attended Heat Mid Cycle Meet Up for Juno in Raleigh and
>> updated the attendees on heat-translator project and ongoing progress. I
>> also requested everyone for a formal adoption of the project in the
>> python-heatclient and the consensus was that it is the right thing to do.
>> Also when the project was started, the initial plan was to make it
>> available in python-heatclient. Hereby, the heat-translator team would
>> like to make a request to have the heat-translator project to be adopted
>> by the python-heatclient/Heat program.
>
> Obviously I wasn't at the meetup, so I may be missing some context here,
> but can you answer some questions please?
>
> - Is the scope for heat-translator only tosca simple-profile, or also the
> original more heavyweight tosca too?
>
> - If it's only tosca simple-profile, has any thought been given to moving
> towards implementing support via a template parser plugin, rather than
> baking the translation into the client?
One idea we discussed at the meetup was to use the template-building
code that we now have in Heat for building the HOT output from the
translator - e.g. the translator would produce ResourceDefinition
objects and add them to a HOTemplate object.
That would actually get us a long way toward an implementation of a
template format plugin (which basically just has to spit out
ResourceDefinition objects). So maybe that approach would allow us to
start in python-heatclient and easily move it later into being a
full-fledged template format plugin in Heat itself.
> While I see this effort as valuable, integrating the translator into the
> client seems the worst of all worlds to me:
>
> - Any users/services not intefacing to heat via python-heatclient can't use it
Yep, this is a big downside (although presumably we'd want to build in a
way to just spit out the generated template that can be used by other
clients).
On the other hand, there is a big downside to having it (only) in Heat
also - you're dependent on the operator deciding to provide it.
> - You prempt the decision about integration with any higher level services,
> e.g Mistral, Murano, Solum, if you bake in the translator at the
> heat level.
Not sure I understand this one.
> The scope question is probably key here - if you think the translator can
> do (or will be able to do) a 100% non-lossy conversion to HOT using only
> Heat, maybe it's time we considered discussing integration into Heat the
> service rather than the client.
I'm open to that discussion too.
> Conversely, if you're going to need other services to fully implement the
> spec, it probably makes sense for the translator to remain layered over
> heat (or integrated with another project which is layered over heat).
>
> Thanks!
>
> Steve
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list