Hi all, In api.v2.images.ImagesController._get_locations_op_pos there is a comment that location indices start from one from the client's perspective and the code subtracts one from the incoming 'index position' parameter before proceeding with the subsequent operations.
But I see that json-patch RFCs[1][2] say patch indices for lists must be zero-based and not one-based. [1] (which is referred to in the "image service dev guide") says: If the currently referenced value is a JSON array, the token MUST contain an unsigned base-10 integer value, and the new referenced value is the array element with the zero-based index identified by the token. And [2] (which I got from Googling and seems newer than [1]) says: o If the currently referenced value is a JSON array, the reference token MUST contain either: * characters comprised of digits (see ABNF below; note that leading zeros are not allowed) that represent an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index identified by the token, or * exactly the single character "-", making the new referenced value the (nonexistent) member after the last array element. Indeed, warlock (which glanceclient uses to generate json patches) generates patches with a zero based index, not one. So why is the location indexing one-based, have I missed something? Thanks. -- Koo [1] http://tools.ietf.org/html/draft-pbryan-zyp-json-pointer-02 [2] http://tools.ietf.org/html/rfc6901 _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev