[openstack-dev] [nova] Expand resource name allowed characters

Jay Pipes jaypipes at gmail.com
Fri Sep 12 18:36:36 UTC 2014

Had to laugh about the PILE OF POO character :) Comments inline...

On 09/12/2014 01:52 PM, Chris St. Pierre wrote:
> We have proposed that the allowed characters for all resource names in
> Nova (flavors, aggregates, etc.) be expanded to all printable unicode
> characters and horizontal spaces: https://review.openstack.org/#/c/119741
> Currently, the only allowed characters in most resource names are
> alphanumeric, space, and [.-_].
> We have proposed this change for two principal reasons:
> 1. We have customers who have migrated data forward since Essex, when no
> restrictions were in place, and thus have characters in resource names
> that are disallowed in the current version of OpenStack. This is only
> likely to be useful to people migrating from Essex or earlier, since the
> current restrictions were added in Folsom.

As this will affect the public REST APIs, the change should have a 
blueprint spec at the very least written for it. I don't remember why 
precisely the restrictions were put in place to begin with, but I'd 
imagine it probably had to do with early database schemas that may not 
have supported UTF-8 on the name columns by default.

Unfortunately, to my dismay, we "addressed" this in a number of projects 
(like Nova) by just changing ALL string columns to UTF-8, which, as I've 
stated a few times on the ML and in meetings, blows up index and 
temporary table sizes dramatically in MySQL. We should really be using 
UTF-8 on demand for columns like names. Having UTF-8 character set and 
collations on string fields for, say, UUID fields, is a giant waste of 

Anyway, all this to say, "yeah, there really shouldn't be restrictions 
like this on the name columns, but we need to be careful about changes 
to public APIs and it would be good to have the API microversioning in 
place before we accept such a change."

> 2. It's pretty much always a bad idea to add unnecessary restrictions
> without a good reason. While we don't have an immediate need to use, for
> example, the ever-useful http://codepoints.net/U+1F4A9 in a flavor name,
> it's hard to come up with a reason people *shouldn't* be allowed to use it.

LOL. Love it. Somebody at a public cloud should trademark the first 
public PILE OF POO flavor name.


> That said, apparently people have had a need to not be allowed to use
> some characters, but it's not clear why:
> https://bugs.launchpad.net/nova/+bug/977187
> So I guess if anyone knows any reason why these printable characters
> should not be joined in holy resource naming, speak now or forever hold
> your peace.
> Thanks!
> --
> Chris St. Pierre
> Senior Software Engineer
> metacloud.com <http://metacloud.com>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

More information about the OpenStack-dev mailing list