Re: [openstack-dev] [api][ironic] some questions about tags

2015-10-22 Thread Ryan Brown

On 10/21/2015 11:14 PM, Tan, Lin wrote:

Hi guys,

Ironic is implementing the tags stuff:
https://review.openstack.org/#/q/status:open+project:openstack/ironic+branch:master+topic:bp/nodes-tagging,n,z

And this work is follow the guidelines of API Workgroup:
http://specs.openstack.org/openstack/api-wg/guidelines/tags.html

But I have two doubts about the guideline:
1. Can we support partial update the Tag List using PATCH. I see there is an 
option to add/delete individual tag, but it is still using PUT. What's the 
disadvantage here for PATCH?


The major disadvantage of PATCH is that there isn't an official standard 
for partial representation of things like lists. There are things like 
JSONPatch[1] that provide guidance, but since OpenStack hasn't really 
made a choice, we haven't put up a guideline.


For information on what we *have* done regarding PATCH, see the HTTP 
Methods guide[2].



2. Can we update the tag as well? For example, in Gmail we can rename the label 
if necessary, which is much more friendly to me. But currently, this is not 
support from the guide. The only way to support this is cached the tags's 
entities and retag them in python client, I don't think it's a good way.


The idea behind our guideline is to specify the way the API should allow 
users to access the tags on their resources. You can (of course!) extend 
functionality and add the ability to rename tags if you'd like.


If you were to use PATCH, then renaming a tag could look like:

step 1: get servers with tag X
step 2: PATCH
  [
{"op": "replace", "path": "/tags/1", "value": "Y"}
  ]

That would replace the existing tag with the new one, if you were using 
JSONPatch.



Best Regards,

Tan


1: http://jsonpatch.com/
2: 
http://specs.openstack.org/openstack/api-wg/guidelines/http.html#http-methods

--
Ryan Brown / Senior Software Engineer, Openstack / Red Hat, Inc.

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [api][ironic] some questions about tags

2015-10-21 Thread Tan, Lin
Hi guys,

Ironic is implementing the tags stuff:
https://review.openstack.org/#/q/status:open+project:openstack/ironic+branch:master+topic:bp/nodes-tagging,n,z

And this work is follow the guidelines of API Workgroup:
http://specs.openstack.org/openstack/api-wg/guidelines/tags.html

But I have two doubts about the guideline:
1. Can we support partial update the Tag List using PATCH. I see there is an 
option to add/delete individual tag, but it is still using PUT. What's the 
disadvantage here for PATCH?

2. Can we update the tag as well? For example, in Gmail we can rename the label 
if necessary, which is much more friendly to me. But currently, this is not 
support from the guide. The only way to support this is cached the tags's 
entities and retag them in python client, I don't think it's a good way.
  
Best Regards,

Tan


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev