Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-22 Thread Kenichi Oomichi
 -Original Message-
 From: Day, Phil [mailto:philip@hp.com]
 Sent: Friday, September 19, 2014 7:08 PM
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: Re: [openstack-dev] [nova] are we going to remove the novaclient v3 
 shell or what?
 
 
  
   DevStack doesn't register v2.1 endpoint to keytone now, but we can use
   it with calling it directly.
   It is true that it is difficult to use v2.1 API now and we can check
   its behavior via v3 API instead.
 
  I posted a patch[1] for registering v2.1 endpoint to keystone, and I 
  confirmed
  --service-type option of current nova command works for it.
 
 Ah - I'd misunderstood where we'd got to with the v2.1 endpoint, thanks for 
 putting me straight.
 
 So with this in place then yes I agree we could stop fixing the v3 client.
 
 Since its actually broken for even operations like boot do we merge in the 
 changes I pushed this week so it can still
 do basic functions, or just go straight to removing v3 from the client ?

That would depend on what we will implement through v2.1+microversions.
If the interface of the microversions is almost the same as v3 API, current
v3 code of novaclient would be useful. Otherwise, it would be better to remove
the code from novaclient.
I posted a mail[1] for the direction of v2.1+microversions, I am glad if we get
some consensus/direction.

Thanks
Ken'ichi Ohmichi

---
[1]: 
http://lists.openstack.org/pipermail/openstack-dev/2014-September/046646.html


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-19 Thread Day, Phil

 
  DevStack doesn't register v2.1 endpoint to keytone now, but we can use
  it with calling it directly.
  It is true that it is difficult to use v2.1 API now and we can check
  its behavior via v3 API instead.
 
 I posted a patch[1] for registering v2.1 endpoint to keystone, and I confirmed
 --service-type option of current nova command works for it.

Ah - I'd misunderstood where we'd got to with the v2.1 endpoint, thanks for 
putting me straight.

So with this in place then yes I agree we could stop fixing the v3 client.   

Since its actually broken for even operations like boot do we merge in the 
changes I pushed this week so it can still do basic functions, or just go 
straight to removing v3 from the client ?   
 
Phil
 

 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-18 Thread Day, Phil
 -Original Message-
 From: Kenichi Oomichi [mailto:oomi...@mxs.nes.nec.co.jp]
 Sent: 18 September 2014 02:44
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: Re: [openstack-dev] [nova] are we going to remove the novaclient
 v3 shell or what?
 
 
  -Original Message-
  From: Matt Riedemann [mailto:mrie...@linux.vnet.ibm.com]
  Sent: Wednesday, September 17, 2014 11:59 PM
  To: OpenStack Development Mailing List (not for usage questions)
  Subject: [openstack-dev] [nova] are we going to remove the novaclient v3
 shell or what?
 
  This has come up a couple of times in IRC now but the people that
  probably know the answer aren't available.
 
  There are python-novaclient patches that are adding new CLIs to the v2
  (v1_1) and v3 shells, but now that we have the v2.1 API (v2 on v3) why
  do we still have a v3 shell in the client?  Are there plans to remove that?
 
  I don't really care either way, but need to know for code reviews.
 
  One example: [1]
 
  [1] https://review.openstack.org/#/c/108942/
 
 Sorry for a little late response,
 I think we don't need new features of v3 into novaclient anymore.
 For example, the v3 part of the above[1] was not necessary because a new
 feature server-group quota is provided as v2 and v2.1, not v3.

That would be true if there was a version of the client that supported v2.1 
today, but while the V2.1 API is still presented as V3 and doesn't include the 
tenant_id - making the V3 client the only simple way to test new V2.1 features 
in devstack as far as I can see.


How about this as a plan:

1) We add support to the client for --os-compute-api-version=v2.1   which 
maps into the client with the URL set to include v2.1(this won't be usable 
until we do step 2)

2) We change the Nova  to present the v2.1 API  as 
'http://X.X.X.X:8774/v2.1/tenant_id/
 - At this point we will have a working client for all of the stuff that's been 
moved back from V3 to V2.1, but will lose access to any V3 stuff not yet moved 
(which is the opposite of the current state where the v3 client can only be 
used for things that haven't been refactored to V2.1)

3) We remove V3 from the client.


Until we get 1  2 done, to me it still makes sense to allow small changes into 
the v3 client, so that we keep it usable with the V2.1 API



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-18 Thread Alex Xu

On 2014年09月18日 18:14, Day, Phil wrote:

-Original Message-
From: Kenichi Oomichi [mailto:oomi...@mxs.nes.nec.co.jp]
Sent: 18 September 2014 02:44
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [nova] are we going to remove the novaclient
v3 shell or what?



-Original Message-
From: Matt Riedemann [mailto:mrie...@linux.vnet.ibm.com]
Sent: Wednesday, September 17, 2014 11:59 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: [openstack-dev] [nova] are we going to remove the novaclient v3

shell or what?

This has come up a couple of times in IRC now but the people that
probably know the answer aren't available.

There are python-novaclient patches that are adding new CLIs to the v2
(v1_1) and v3 shells, but now that we have the v2.1 API (v2 on v3) why
do we still have a v3 shell in the client?  Are there plans to remove that?

I don't really care either way, but need to know for code reviews.

One example: [1]

[1] https://review.openstack.org/#/c/108942/

Sorry for a little late response,
I think we don't need new features of v3 into novaclient anymore.
For example, the v3 part of the above[1] was not necessary because a new
feature server-group quota is provided as v2 and v2.1, not v3.

That would be true if there was a version of the client that supported v2.1 
today, but while the V2.1 API is still presented as V3 and doesn't include the 
tenant_id - making the V3 client the only simple way to test new V2.1 features 
in devstack as far as I can see.


How about this as a plan:

1) We add support to the client for --os-compute-api-version=v2.1   which 
maps into the client with the URL set to include v2.1(this won't be usable until we 
do step 2)

+1


2) We change the Nova  to present the v2.1 API  as 
'http://X.X.X.X:8774/v2.1/tenant_id/
  - At this point we will have a working client for all of the stuff that's 
been moved back from V3 to V2.1, but will lose access to any V3 stuff not yet 
moved (which is the opposite of the current state where the v3 client can only 
be used for things that haven't been refactored to V2.1)


Actually we already can access v2.1 API as 
''http://X.X.X.X:8774/v2.1/tenant_id/..'

https://github.com/openstack/nova/blob/master/etc/nova/api-paste.ini#L64



3) We remove V3 from the client.


Until we get 1  2 done, to me it still makes sense to allow small changes into 
the v3 client, so that we keep it usable with the V2.1 API



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev






___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-18 Thread Ken'ichi Ohmichi
2014-09-18 21:31 GMT+09:00 Alex Xu x...@linux.vnet.ibm.com:
 On 2014年09月18日 18:14, Day, Phil wrote:

 -Original Message-
 From: Kenichi Oomichi [mailto:oomi...@mxs.nes.nec.co.jp]
 Sent: 18 September 2014 02:44
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: Re: [openstack-dev] [nova] are we going to remove the novaclient
 v3 shell or what?


 -Original Message-
 From: Matt Riedemann [mailto:mrie...@linux.vnet.ibm.com]
 Sent: Wednesday, September 17, 2014 11:59 PM
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: [openstack-dev] [nova] are we going to remove the novaclient v3

 shell or what?

 This has come up a couple of times in IRC now but the people that
 probably know the answer aren't available.

 There are python-novaclient patches that are adding new CLIs to the v2
 (v1_1) and v3 shells, but now that we have the v2.1 API (v2 on v3) why
 do we still have a v3 shell in the client?  Are there plans to remove
 that?

 I don't really care either way, but need to know for code reviews.

 One example: [1]

 [1] https://review.openstack.org/#/c/108942/

 Sorry for a little late response,
 I think we don't need new features of v3 into novaclient anymore.
 For example, the v3 part of the above[1] was not necessary because a new
 feature server-group quota is provided as v2 and v2.1, not v3.

 That would be true if there was a version of the client that supported
 v2.1 today, but while the V2.1 API is still presented as V3 and doesn't
 include the tenant_id - making the V3 client the only simple way to test new
 V2.1 features in devstack as far as I can see.

v2.1 URL contains tenant_id already, and we can use /v2.1 endpoint like:

$ curl -i 
'http://192.168.11.62:8774/v2.1/05d0f72534e449a0a3e70720c5d7c206/servers/detail'
-X GET -H Accept: applica
tion/json -H X-Auth-Project-Id: demo -H X-Auth-Token:
f41776736ef34e56a7773e2b2d18d2e3
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1749
X-Openstack-Request-Id: req-96768644-be2a-43c4-8757-ad1802736970
Date: Thu, 18 Sep 2014 13:03:54 GMT

{servers: [{status: ACTIVE, updated: 2014-09-18T11:57:12Z,
hostId: 8c63113abf9b1e13f1b11dd6a2dbdf511f7aa2199cff31e847582414,
OS-EXT-SRV-ATTR:host: oomichi-trusty, addresses: {private:
[{version: 4, type: fixed, addr: 10.0.0.14, mac_addr:
fa:16:3e:65:7e:ab}]}, links: [{href:
http://192.168.11.62:8774/v2.1/05d0f72534e449a0a3e70720c5d7c206/servers/bca4e77b-9763-4cf4-8a84-193df620eeb7;,
rel: self}, {href:
http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/servers/bca4e77b-9763-4cf4-8a84-193df620eeb7;,
rel: bookmark}], key_name: key-temporary, image: {id:
2ac73d2e-f0d8-4576-a62c-3b53f70d071b, links: [{href:
http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/images/2ac73d2e-f0d8-4576-a62c-3b53f70d071b;,
rel: bookmark}]}, os-security-groups:security_groups: [{name:
sg-temporary}], os-pci:pci_devices: [], OS-EXT-STS:task_state:
null, os-extended-availability-zone:availability_zone: nova,
OS-EXT-STS:vm_state: active, OS-EXT-SRV-ATTR:instance_name:
instance-000e, OS-SRV-USG:launched_at:
2014-09-18T11:57:12.00, OS-EXT-SRV-ATTR:hypervisor_hostname:
oomichi-trusty, flavor: {id: 84, links: [{href:
http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/flavors/84;,
rel: bookmark}]}, id: bca4e77b-9763-4cf4-8a84-193df620eeb7,
OS-SRV-USG:terminated_at: null, user_id:
30bd25b4555d4664b1069d8d7e682eef, name: vm01, created:
2014-09-18T11:57:03Z, tenant_id:
05d0f72534e449a0a3e70720c5d7c206,
os-extended-volumes:volumes_attached: [], accessIPv4: ,
accessIPv6: , OS-EXT-STS:locked_by: null, progress: 0,
OS-EXT-STS:power_state: 1, config_drive: , metadata: {}}]}
$

DevStack doesn't register v2.1 endpoint to keytone now, but we can use
it with calling it directly.
It is true that it is difficult to use v2.1 API now and we can check
its behavior via v3 API instead.

 How about this as a plan:

 1) We add support to the client for --os-compute-api-version=v2.1
 which maps into the client with the URL set to include v2.1(this won't
 be usable until we do step 2)

v2.1 behavior(API URLs except the endpoint, request/response bodies,
status codes) should
be the same as v2. So if devstack registers v2.1 endpoint as the type
computev21, we can
use it by specifying computev21 as --service-type of current nova command.


 2) We change the Nova  to present the v2.1 API  as
 'http://X.X.X.X:8774/v2.1/tenant_id/
   - At this point we will have a working client for all of the stuff
 that's been moved back from V3 to V2.1, but will lose access to any V3 stuff
 not yet moved (which is the opposite of the current state where the v3
 client can only be used for things that haven't been refactored to V2.1)


 Actually we already can access v2.1 API as
 ''http://X.X.X.X:8774/v2.1/tenant_id/..'
 https://github.com/openstack/nova/blob/master/etc/nova/api-paste.ini#L64

Yes, right as I mentioned at the above.

Thanks
Ken'ichi Ohmichi


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-18 Thread Kenichi Oomichi
 -Original Message-
 From: Ken'ichi Ohmichi [mailto:ken1ohmi...@gmail.com]
 Sent: Thursday, September 18, 2014 10:16 PM
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: Re: [openstack-dev] [nova] are we going to remove the novaclient v3 
 shell or what?
 
  shell or what?
 
  This has come up a couple of times in IRC now but the people that
  probably know the answer aren't available.
 
  There are python-novaclient patches that are adding new CLIs to the v2
  (v1_1) and v3 shells, but now that we have the v2.1 API (v2 on v3) why
  do we still have a v3 shell in the client?  Are there plans to remove
  that?
 
  I don't really care either way, but need to know for code reviews.
 
  One example: [1]
 
  [1] https://review.openstack.org/#/c/108942/
 
  Sorry for a little late response,
  I think we don't need new features of v3 into novaclient anymore.
  For example, the v3 part of the above[1] was not necessary because a new
  feature server-group quota is provided as v2 and v2.1, not v3.
 
  That would be true if there was a version of the client that supported
  v2.1 today, but while the V2.1 API is still presented as V3 and doesn't
  include the tenant_id - making the V3 client the only simple way to test 
  new
  V2.1 features in devstack as far as I can see.
 
 v2.1 URL contains tenant_id already, and we can use /v2.1 endpoint like:
 
 $ curl -i 
 'http://192.168.11.62:8774/v2.1/05d0f72534e449a0a3e70720c5d7c206/servers/detail'
 -X GET -H Accept: applica
 tion/json -H X-Auth-Project-Id: demo -H X-Auth-Token:
 f41776736ef34e56a7773e2b2d18d2e3
 HTTP/1.1 200 OK
 Content-Type: application/json
 Content-Length: 1749
 X-Openstack-Request-Id: req-96768644-be2a-43c4-8757-ad1802736970
 Date: Thu, 18 Sep 2014 13:03:54 GMT
 
 {servers: [{status: ACTIVE, updated: 2014-09-18T11:57:12Z,
 hostId: 8c63113abf9b1e13f1b11dd6a2dbdf511f7aa2199cff31e847582414,
 OS-EXT-SRV-ATTR:host: oomichi-trusty, addresses: {private:
 [{version: 4, type: fixed, addr: 10.0.0.14, mac_addr:
 fa:16:3e:65:7e:ab}]}, links: [{href:
 http://192.168.11.62:8774/v2.1/05d0f72534e449a0a3e70720c5d7c206/servers/bca4e77b-9763-4cf4-8a84-193df620eeb7;,
 rel: self}, {href:
 http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/servers/bca4e77b-9763-4cf4-8a84-193df620eeb7;,
 rel: bookmark}], key_name: key-temporary, image: {id:
 2ac73d2e-f0d8-4576-a62c-3b53f70d071b, links: [{href:
 http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/images/2ac73d2e-f0d8-4576-a62c-3b53f70d071b;,
 rel: bookmark}]}, os-security-groups:security_groups: [{name:
 sg-temporary}], os-pci:pci_devices: [], OS-EXT-STS:task_state:
 null, os-extended-availability-zone:availability_zone: nova,
 OS-EXT-STS:vm_state: active, OS-EXT-SRV-ATTR:instance_name:
 instance-000e, OS-SRV-USG:launched_at:
 2014-09-18T11:57:12.00, OS-EXT-SRV-ATTR:hypervisor_hostname:
 oomichi-trusty, flavor: {id: 84, links: [{href:
 http://192.168.11.62:8774/05d0f72534e449a0a3e70720c5d7c206/flavors/84;,
 rel: bookmark}]}, id: bca4e77b-9763-4cf4-8a84-193df620eeb7,
 OS-SRV-USG:terminated_at: null, user_id:
 30bd25b4555d4664b1069d8d7e682eef, name: vm01, created:
 2014-09-18T11:57:03Z, tenant_id:
 05d0f72534e449a0a3e70720c5d7c206,
 os-extended-volumes:volumes_attached: [], accessIPv4: ,
 accessIPv6: , OS-EXT-STS:locked_by: null, progress: 0,
 OS-EXT-STS:power_state: 1, config_drive: , metadata: {}}]}
 $
 
 DevStack doesn't register v2.1 endpoint to keytone now, but we can use
 it with calling it directly.
 It is true that it is difficult to use v2.1 API now and we can check
 its behavior via v3 API instead.

I posted a patch[1] for registering v2.1 endpoint to keystone, and I confirmed
--service-type option of current nova command works for it.

$ nova --debug --service-type computev21 list
[..]
REQ: curl -i 
'http://192.168.11.62:8774/v2.1/82e5da1a875a4f26a3767fbdf63c0acc/servers/detail'
 -X GET -H Accept: application/json -H User-Agent: python-novaclient -H 
X-Auth-Project-Id: demo -H X-Auth-Token: 
{SHA1}1fc6d248a5e7646a2e72dd89c1dfead0403c9178
INFO (connectionpool:258) Starting new HTTP connection (1): 192.168.11.62
DEBUG (connectionpool:375) Setting read timeout to 600.0
DEBUG (connectionpool:415) GET 
/v2.1/82e5da1a875a4f26a3767fbdf63c0acc/servers/detail HTTP/1.1 200 1693
RESP: [200] CaseInsensitiveDict({'date': 'Fri, 19 Sep 2014 02:12:06 GMT', 
'content-length': '1693', 'content-type': 'application/json', 
'x-openstack-request-id': 'req-7de9edfd-8884-42e5-9a81-2f79f01b59ad'})
RESP BODY: {servers: [{OS-EXT-STS:task_state: null, addresses: 
{private: [{version: 4, type: fixed, addr: 10.0.0.2, mac_addr: 
fa:16:3e:25:70:9a}]}, links: [{href: 
http://192.168.11.62:8774/v2.1/82e5da1a875a4f26a3767fbdf63c0acc/servers/55ee8d4c-bdbe-4fe7-a759-dff7b9184626;,
 rel: self}, {href: 
http://192.168.11.62:8774/82e5da1a875a4f26a3767fbdf63c0acc/servers/55ee8d4c-bdbe-4fe7-a759-dff7b9184626;,
 rel: bookmark}], image: {id: e5468cc9-3e91-4449-8c4f-e4203c71e365, 
links: [{href: 

Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-17 Thread Christopher Yeoh
On Wed, 17 Sep 2014 17:42:30 +
Day, Phil philip@hp.com wrote:

 I think in the hopefully not too distant future we'll be able to make
 the v1_1 client handle both V2 and V2.1 (who knows. Maybe we can even
 rename it v2) - and that's what we should do because it will prove if
 we have full compatibility or not.

We should definitely do that cleanup in kilo. Though with microversions
hard coding a version number into the directory structure might not
make sense.

 Right now the two things holding that back are the V3 - V2.1 API
 migration hasn't yet got to the point where the URLs include the
 tenant ID, and the URL still includes the v3 tag - so the v3 client
 it the only easy way to exercise the v2.1 API in devstack.   For
 example I needed to do this to test the server group quota changes
 worked in devstack via V2.1 (I don't trust just getting the unit
 tests to pass).To do that I had to get boot working and accepting
 hints, and add support for the limits API.   So in the short term it
 seemed worth pushing those kinds of things back in for now in case
 they are useful to others.   Its not a big overhead to fix the v3 API
 at the same time (its mostly copied or sub-classed code) until we can
 add v2.1 support via the v2 client.

So the only reason I can think for keeping the v2.1/v3 version of
novaclient is if we want to break the python novaclient backwards
compatibility to do some cleanups. AFAIK we don't have a policy around
python novaclient backwards compatibility and if its ever ok to break
it.

Chris

 
 Phil
 
  -Original Message-
  From: Matt Riedemann [mailto:mrie...@linux.vnet.ibm.com]
  Sent: 17 September 2014 15:59
  To: OpenStack Development Mailing List (not for usage questions)
  Subject: [openstack-dev] [nova] are we going to remove the
  novaclient v3 shell or what?
  
  This has come up a couple of times in IRC now but the people that
  probably know the answer aren't available.
  
  There are python-novaclient patches that are adding new CLIs to the
  v2 (v1_1) and v3 shells, but now that we have the v2.1 API (v2 on
  v3) why do we still have a v3 shell in the client?  Are there plans
  to remove that?
  
  I don't really care either way, but need to know for code reviews.
  
  One example: [1]
  
  [1] https://review.openstack.org/#/c/108942/
  
  --
  
  Thanks,
  
  Matt Riedemann
  
  
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] are we going to remove the novaclient v3 shell or what?

2014-09-17 Thread Kenichi Oomichi

 -Original Message-
 From: Matt Riedemann [mailto:mrie...@linux.vnet.ibm.com]
 Sent: Wednesday, September 17, 2014 11:59 PM
 To: OpenStack Development Mailing List (not for usage questions)
 Subject: [openstack-dev] [nova] are we going to remove the novaclient v3 
 shell or what?
 
 This has come up a couple of times in IRC now but the people that
 probably know the answer aren't available.
 
 There are python-novaclient patches that are adding new CLIs to the v2
 (v1_1) and v3 shells, but now that we have the v2.1 API (v2 on v3) why
 do we still have a v3 shell in the client?  Are there plans to remove that?
 
 I don't really care either way, but need to know for code reviews.
 
 One example: [1]
 
 [1] https://review.openstack.org/#/c/108942/

Sorry for a little late response,
I think we don't need new features of v3 into novaclient anymore.
For example, the v3 part of the above[1] was not necessary because
a new feature server-group quota is provided as v2 and v2.1, not v3.
Tempest also should be considered about this topic, and I think the
same thing about Tempest also.

Thanks
Ken'ichi Ohmichi


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev