Magnum endpoint should not be versioned in service catalog

Bug #1668779 reported by Drago
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Magnum
New
Undecided
Unassigned

Bug Description

The best practice for service endpoints is for them to be unversioned. According to [1]:

> Querying type=’volume’ in any service catalog on any cloud returns an unversioned URL for that service. This is a contract we can depend on.

According to [2]:

> This should be unversioned base URL for an API. Good examples include https://identity.example.com:35357/ and https://keystone.example.com/.

> Conversely, https://identity.example.com:35357/v2.0/ is an unfortunate example because it directs all clients to connect to a versioned endpoint, regardless of which API versions they understand. This makes it hard for services to do any sort of API versioning, and for clients to dynamically discover additional available versions.

In magnum's devstack plugin, this is not the case. "v1" is appended to the endpoint [3]:

    get_or_create_endpoint $magnum_service \
        "$REGION_NAME" \
        "$MAGNUM_SERVICE_PROTOCOL://$MAGNUM_SERVICE_HOST:$MAGNUM_SERVICE_PORT/v1" \
        "$MAGNUM_SERVICE_PROTOCOL://$MAGNUM_SERVICE_HOST:$MAGNUM_SERVICE_PORT/v1" \
        "$MAGNUM_SERVICE_PROTOCOL://$MAGNUM_SERVICE_HOST:$MAGNUM_SERVICE_PORT/v1"

[1] http://specs.openstack.org/openstack/openstack-specs/specs/service-catalog.html#a-vision-of-the-ideal-service-catalog
[2] http://dolphm.com/openstack-keystone-service-catalog/
[3] https://github.com/openstack/magnum/blob/ed173776caa0a60a11e227f91d15615d4c6ec8e7/devstack/lib/magnum#L115-L117

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.