If you want to demonstrate that this fix works in this scenario, this is the file that needs to be changed:
/usr/lib/python2.7/site-packages/heat/engine/resources/signal_responder.py
find these lines (around line 155)
signal_url = "%s://%s:%s%s%s" % ("http", host_addr, cfg.CONF.heat_api_cfn.bind_port, "/v1", signal_type)
and add the following one line right below it (which basically sets the variable to what upstream is doing)
signal_url = config_url.replace('/waitcondition', signal_type)
Note: This will not work with IPv6 and https
This will however work for the tests highlighted here
After you make this change (and make sure you backup the original file), you can restart heat engine:
sudo sm-restart service heat-engine
then you should be able to create their stack.
Note: the stack uses a keypair, which may or may not need to be manually cleaned up
From Al Bailey: 128.224. 151.57: 8000/v1/ waitcondition
---------------
The config url is set to: (public endpoint in my lab)
config_url http://
This is translated by the heat code to the internal url: 127.168. 204.2:8000/ v1/signal
http://
The WRS code that does that is here: /github. com/starlingx- staging/ stx-heat/ blob/master/ heat/engine/ resources/ signal_ responder. py#L150
https:/
This was done to fix CGTS-3907
If change that method to be similar to what upstream does, it should work for this customer as long as they are not using https or IPv6
This is the standard upstream code which does our alterations. /github. com/openstack/ heat/blob/ stable/ pike/heat/ engine/ resources/ signal_ responder. py#L144
https:/
If you want to demonstrate that this fix works in this scenario, this is the file that needs to be changed: python2. 7/site- packages/ heat/engine/ resources/ signal_ responder. py
/usr/lib/
find these lines (around line 155)
host_ addr,
cfg. CONF.heat_ api_cfn. bind_port,
"/v1" ,
signal_ type)
signal_url = "%s://%s:%s%s%s" % ("http",
and add the following one line right below it (which basically sets the variable to what upstream is doing) url.replace( '/waitcondition ', signal_type)
signal_url = config_
Note: This will not work with IPv6 and https
This will however work for the tests highlighted here
After you make this change (and make sure you backup the original file), you can restart heat engine:
sudo sm-restart service heat-engine
then you should be able to create their stack.
Note: the stack uses a keypair, which may or may not need to be manually cleaned up