[openstack-dev] [nova] solving API case sensitivity issues

Sean Dague sean at dague.net
Wed Feb 24 20:34:15 UTC 2016


On 02/24/2016 03:13 PM, Mooney, Sean K wrote:
> 
> 
>> -----Original Message-----
>> From: James Bottomley [mailto:James.Bottomley at HansenPartnership.com]
>> Sent: Wednesday, February 24, 2016 5:46 PM
>> To: Sean Dague <sean at dague.net>; openstack-dev at lists.openstack.org
>> Subject: Re: [openstack-dev] [nova] solving API case sensitivity issues
>>
>> On Wed, 2016-02-24 at 11:40 -0500, Sean Dague wrote:
>>> On 02/24/2016 11:28 AM, James Bottomley wrote:
>>>> On Wed, 2016-02-24 at 07:48 -0500, Sean Dague wrote:
>>>>> We have a specific bug around aggregrate metadata setting in Nova
>>>>> which exposes a larger issue with our mysql schema.
>>>>> https://bugs.launchpad.net/nova/+bug/1538011
>>>>>
>>>>> On mysql the following will explode with a 500:
>>>>>
>>>>>> nova aggregate-create agg1
>>>>>> nova aggregate-set-metadata agg1 abc=1 nova
>>>>>> aggregate-set-metadata agg1 ABC=2
>>>>>
>>>>> mysql (by default) treats abc == ABC. However the python code does
>>>>> not.
> Personally I would argue that the python code is correct
> and they should not be considered the same. ABC and abc are two different keys
> in the aggregate metadata and I do not think it is correct to treat them the same.
> Assuming the above commands I would expect the metadata to contain  two key pairs [abc=1,ABC=2]
> 
>>>>>
>>>>> We have a couple of options:
>>>>>
>>>>> 1) make the API explicitly case fold
>>>>>
>>>>> 2) update the mysql DB to use latin_bin collation for these
>>>>> columns
> This should not be latin_bin as Unicode is allowed in URLs this should really be utf8_bin

There are no urls stored here. This is content coming through the body.
While I do appreciate many folks weighing in that haven't read the bug
yet, I would be even better if people did read the bug first.

We have the ability to decide at the API level what the behavior is of
payloads in POST / GET. Given the majority of our users are on mysql,
they've never had access to case sensitive overlapping metadata on
aggregates before. Doing so seems odd and potentially confusing.

	-Sean

-- 
Sean Dague
http://dague.net



More information about the OpenStack-dev mailing list