2018-04-03 17:27:40 |
Erik Olof Gunnar Andersson |
description |
There are two things broken in the Senlin integration for Heat.
The main issue is this, when creating a stack using Senlin.
> Property error: resources.profile.properties.type: Error validating value 'os.nova.server-1.0': Unable to find senlin profile type 'os.nova.server-1.0', available profile types are [u'container.dockerinc.docker', u'os.nova.server', u'os.heat.stack'].
https://github.com/openstack/heat/blob/stable/pike/heat/engine/clients/os/senlin.py#L129
I was also unable to get it working without this patch.
https://github.com/openstack/heat/commit/ac3670eaf856120be7eb9993b1603125abe633ae#diff-b6958df5fc7e9ee167b5858c45ff11e4 |
There are two things broken in the Senlin integration for Heat.
The first issue I encountered was this.
> Error: ERROR: Property error: : resources.profile.properties.type: : Could not find requested endpoint in Service Catalog.
It was solved by cherry-picking the following patch from Queens.
https://github.com/openstack/heat/commit/ac3670eaf856120be7eb9993b1603125abe633ae#diff-b6958df5fc7e9ee167b5858c45ff11e4
The second issue is this, when creating a stack using Senlin.
> Property error: resources.profile.properties.type: Error validating value 'os.nova.server-1.0': Unable to find senlin profile type 'os.nova.server-1.0', available profile types are [u'container.dockerinc.docker', u'os.nova.server', u'os.heat.stack'].
https://github.com/openstack/heat/blob/stable/pike/heat/engine/clients/os/senlin.py#L129
The valid values should be followed by a version (e.g. -1.0), but for some reason the values returned by the Senlin client does not have these appended.
As a work-around, I was able to get it working by manually appending the version.
https://github.com/openstack/heat/blob/7fd82e1b7811038b2792124e9cfdf41b5657ded1/heat/engine/clients/os/senlin.py#L130
e.g.
> -names = [pt.name for pt in type_list]
> +names = ['%s-%s' % (pt.name, pt.support_status.keys()[0]) for pt in type_list] |
|