Activity log for bug #1631480

Date Who What changed Old value New value Message
2016-10-07 18:46:08 Matt Riedemann bug added bug
2017-02-08 15:15:13 Brant Knudson description We have a service catalog that looks like this: +-----------------------+-----------+--------------------------------------------------------+ | Name | Type | Endpoints | +-----------------------+-----------+--------------------------------------------------------+ | Bare Metal Service | baremetal | RegionOne | | | | publicURL: http://localhost:5000/v2/baremetal | | | | internalURL: http://localhost:5000/v2/baremetal | | | | adminURL: http://localhost:5000/v2/baremetal | | | | | | Compute Service | compute | RegionOne | | | | publicURL: http://localhost:5000/compute/v2/720429 | | | | internalURL: http://localhost:5000/compute/v2/720429 | | | | adminURL: http://localhost:5000/compute/v2/720429 | | | | | | Network Service | network | RegionOne | | | | publicURL: http://localhost:5000/network | | | | internalURL: http://localhost:5000/network | | | | adminURL: http://localhost:5000/network | | | | | | Image Service | image | RegionOne | | | | publicURL: http://localhost:5000/image | | | | internalURL: http://localhost:5000/image | | | | adminURL: http://localhost:5000/image | | | | | | Block Storage Service | volume | RegionOne | | | | publicURL: http://localhost:5000/volume/v1/720429 | | | | internalURL: http://localhost:5000/volume/v1/720429 | | | | adminURL: http://localhost:5000/volume/v1/720429 | | | | | | Identity Service | identity | RegionOne | | | | publicURL: http://localhost:5000/v2.0 | | | | internalURL: http://localhost:5000/v2.0 | | | | adminURL: http://localhost:5000/v2.0 | | | | | +-----------------------+-----------+--------------------------------------------------------+ When using openstackclient + openstacksdk>9.1.0, openstack network list fails because the SDK is not properly parsing the network endpoint. That's because of this change: https://review.openstack.org/#/c/351398/3/openstack/session.py@118 The code assumes you have an endpoint of the form: scheme://<host>:<port> But we have: scheme://<host>:<port>/<type> So when doing a network list operation from openstackclient, the sdk isn't able to figure out the version of the network API to use (v2.0), and makes the request against http://localhost:5000/ which is actually the identity service root. We have a service catalog that looks like this: +-----------------------+-----------+--------------------------------------------------------+ | Name | Type | Endpoints | +-----------------------+-----------+--------------------------------------------------------+ | Compute Service | compute | RegionOne | | | | publicURL: http://localhost:5000/compute/v2/720429 | | | | internalURL: http://localhost:5000/compute/v2/720429 | | | | adminURL: http://localhost:5000/compute/v2/720429 | | | | | | Network Service | network | RegionOne | | | | publicURL: http://localhost:5000/network | | | | internalURL: http://localhost:5000/network | | | | adminURL: http://localhost:5000/network | | | | | | Image Service | image | RegionOne | | | | publicURL: http://localhost:5000/image | | | | internalURL: http://localhost:5000/image | | | | adminURL: http://localhost:5000/image | | | | | | Block Storage Service | volume | RegionOne | | | | publicURL: http://localhost:5000/volume/v1/720429 | | | | internalURL: http://localhost:5000/volume/v1/720429 | | | | adminURL: http://localhost:5000/volume/v1/720429 | | | | | | Identity Service | identity | RegionOne | | | | publicURL: http://localhost:5000/v2.0 | | | | internalURL: http://localhost:5000/v2.0 | | | | adminURL: http://localhost:5000/v2.0 | | | | | +-----------------------+-----------+--------------------------------------------------------+ When using openstackclient + openstacksdk>9.1.0, openstack network list fails because the SDK is not properly parsing the network endpoint. That's because of this change: https://review.openstack.org/#/c/351398/3/openstack/session.py@118 The code assumes you have an endpoint of the form: scheme://<host>:<port> But we have: scheme://<host>:<port>/<type> So when doing a network list operation from openstackclient, the sdk isn't able to figure out the version of the network API to use (v2.0), and makes the request against http://localhost:5000/ which is actually the identity service root.