users context fails when trying to connect to Neutron through public endpoint type even when internal was set
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Rally |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Using the following deployment configuration with Rally 0.7.0
{
"type": "ExistingCloud",
"auth_url": "http://
"region_name": "RegionOne",
"endpoint_
"https_
"https_cacert": "",
"admin": {
"username": "admin",
"password": "pass",
"
"
"
}
}
Regardless of the task, it fails with the following error message:
Task config is invalid: `Unable to establish connection to
http://
('Connection aborted.', BadStatusLine(
The endpoint URL used here is for the public endpoint url for Neutron.
This is not expected since endpoint_type: "internal" was specified in the configuration.
I narrowed it down.
It seems that Rally does indeed get the right endpoint_url from Keystone catalog.
I instrumented the code and log the endpoint_url being passed to the Neutron client:
Correct --> 2017-01-11 00:38:23.513 8727 WARNING rally.osclients [-] http:// 172.29. 236.40: 9696
2017-01-11 00:38:23.519 8727 DEBUG requests. packages. urllib3. connectionpool rally/venv/ local/lib/ python2. 7/site/ packages/ requests/ packages/ urllib3/ connectionpool. py:212
[-] Starting new HTTP connection (1): 10.17.137.64 _new_conn
/opt/
Task config is invalid: `Unable to establish connection to
Incorrect- -> http:// 10.17.137. 64:9696/ v2.0/extensions .json: ('Connection aborted.',
BadStatusLine ("''",) )`
Based on this Neutron client seems to be grabbing the endpoint_url and assuming it's a public endpoint.