Webhook return internal endpoint instead of public
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat Charm |
Fix Released
|
Medium
|
Edward Hope-Morley |
Bug Description
When configuring heat with use-internal-
$ cat scaling-pol.yaml
heat_template_
description: ...
resources:
web_server_
type: OS::Heat:
properties:
adjustmen
auto_
cooldown: 60
scaling_
web_server_
type: OS::Heat:
properties:
adjustmen
auto_
cooldown: 60
scaling_
outputs:
scale_up_url:
description: ...
value: {get_attr: [web_server_
scale_dn_url:
description: ...
value: {get_attr: [web_server_
$ openstack stack create -t scaling-pol.yaml teststack
$ openstack stack output show teststack --all
...
"output_value": "http://
Workaround: reconfiguring heat with use-internal-
Versions:
Pike on Xenial; charm-heat 18.02, commit ad7c7e8529fdb83
Changed in charm-heat: | |
assignee: | nobody → Edward Hope-Morley (hopem) |
milestone: | none → 18.05 |
Changed in charm-heat: | |
importance: | Undecided → Medium |
Changed in charm-heat: | |
status: | Fix Committed → Fix Released |
Changed in charm-heat: | |
status: | Fix Committed → Fix Released |
I can easily reproduce this issue and believe it is caused by the way that we configure client endpoints in heat.conf. The problem is that when you set use_internal_ endpoints= True we set the global client endpoint_type to InternalURL which results in all client endpoint_types inheriting this value but in actual fact heat stacks will tend not to have access to the Internal network. To that end the fix is crudely to leave the global config as-is but force heat client endpoint_type to PublicURL (i.e. default if use-internal- endpoints= False).