Merge lp:~reldan/nova/lp776679 into lp:~hudson-openstack/nova/trunk

Proposed by Eldar Nugaev
Status: Work in progress
Proposed branch: lp:~reldan/nova/lp776679
Merge into: lp:~hudson-openstack/nova/trunk
Diff against target: 17 lines (+3/-4)
1 file modified
nova/auth/manager.py (+3/-4)
To merge this branch: bzr merge lp:~reldan/nova/lp776679
Reviewer Review Type Date Requested Status
Brian Waldon (community) Needs Information
Trey Morris (community) Disapprove
Devin Carlen (community) Disapprove
Dan Prince (community) Needs Information
Review via email: mp+59832@code.launchpad.net

Commit message

Removed path (predefined api version) from NOVA_URL

Description of the change

Removed path (predefined api version) from NOVA_URL.

To post a comment you must log in.
Revision history for this message
Dan Prince (dan-prince) wrote :

Hi Edgar,

I'm a bit tentative about this.

Shouldn't it be up to the client (in this case nova-manage) to determine which API version it wants to communicate with?

Also how does this change effect the use of utilities like python-novaclient?

review: Needs Information
Revision history for this message
Dan Prince (dan-prince) wrote :

s/Edgar/Eldar/

Oops. I have an uncle named Edgar!

Revision history for this message
Eldar Nugaev (reldan) wrote :

Hi Dan :)

It's ok :)
At this moment in our libcloud based application for testing OS API we should cut protocol version from NOVA_URL and put needed protocol version. So we want to have such xml with information about allowed protocol versions or have a list with versions in novarc.

Eldar

Revision history for this message
Eldar Nugaev (reldan) wrote :

But I can offer other option. I may just add additional parameter - NOVA_PROTOCOLS_URL or something like that. What do you think about it?

Revision history for this message
Devin Carlen (devcamcar) wrote :

I don't see the need for this. If a client requires a specific version of an API, then it should manage that itself. I also don't see the need for an additional parameter. Can you explain your use case?

review: Disapprove
Revision history for this message
Eldar Nugaev (reldan) wrote :

Hi Devin.

I suppose we can't just drop this bug.
Nova gives response that v1.0 is DEPRECATED.
So I see inconsistency. I need link to information about versions and their status. At this time I have to get link to DEPRECATED (As we can see in nova) version, remove path from the link and change to CURRENT state.

version_objs = [
            {
                "id": "v1.1",
                "status": "CURRENT",
            },
            {
                "id": "v1.0",
                "status": "DEPRECATED",
            },
        ]

Revision history for this message
Trey Morris (tr3buchet) wrote :

Going to have to agree with Dan and Devin. The client should determine the version it uses, and further, I can't see a way to have nova determine the version instead without breaking all sorts of things each time we release a new version of the api.

review: Disapprove
Revision history for this message
Brian Waldon (bcwaldon) wrote :

Doesn't look like this is going to make it in, given there are two Disapproves.

Revision history for this message
Soren Hansen (soren) wrote :

> Shouldn't it be up to the client (in this case nova-manage) to determine which
> API version it wants to communicate with?

Isn't this exactly and argument *for* removing the version rather than keeping it?

Revision history for this message
Brian Waldon (bcwaldon) wrote :

Whew, only dead for 3 minutes!

So Eldar pointed out that v1.0 is DEPRECATED according to /versions. That isn't entirely accurate, as v1.1 is officially experimental. Should we fix this so v1.0 is labelled as our CURRENT version? We can also just bear with it knowing we are getting closer to v1.1 being complete.

So the real issue at hand: should we drop the version from the openstack api url in novarc? I would first like to ask for an explanation of what novarc is really intended to do. Is it just a catchall that has been collecting convenient information that us developers like having?

review: Needs Information
Revision history for this message
Ilya Alekseyev (ilyaalekseyev) wrote :

Gents,

I think that Soren comment is the most reasonable.

And just 2 cents about clients: if we provide to client NOVA_URL with api version, we are forcing client to use given API version. If in client will be some logic to manage API versions there should be some part of ugly code that removes api version from url.

Unmerged revisions

1053. By Eldar Nugaev

removed path from NOVA_URL

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'nova/auth/manager.py'
2--- nova/auth/manager.py 2011-04-30 02:31:29 +0000
3+++ nova/auth/manager.py 2011-05-03 21:09:09 +0000
4@@ -799,10 +799,9 @@
5 FLAGS.ec2_port,
6 FLAGS.ec2_path),
7 's3': 'http://%s:%s' % (s3_host, FLAGS.s3_port),
8- 'os': '%s://%s:%s%s' % (FLAGS.osapi_scheme,
9- ec2_host,
10- FLAGS.osapi_port,
11- FLAGS.osapi_path),
12+ 'os': '%s://%s:%s' % (FLAGS.osapi_scheme,
13+ ec2_host,
14+ FLAGS.osapi_port),
15 'user': user.name,
16 'nova': FLAGS.ca_file,
17 'cert': FLAGS.credential_cert_file,