[openstack-dev] [oslo.db] [ndb] ndb namespace throughout openstack projects

Jay Pipes jaypipes at gmail.com
Wed Jul 26 21:26:28 UTC 2017


Still working through a full response but wanted to point something 
important out about something you say below....

On 07/25/2017 03:27 PM, Octave J. Orgeron wrote:
> If we really want to remove the
> complexity here, why don't we just change the sizes and types on these 
> handful of table columns so that they fit within both InnoDB and NDB?

Keep in mind that, unfortunately, the choice of string field lengths on 
the underlying database columns many times are directly exposed via 
corresponding JSONSchema objects for REST API endpoints.

Here's an example:

The POST /servers endpoint accepts a "metadata" field in the JSON 
request body. This request body is constrained using a JSONSchema 
validation system. The JSONSchema for this little field is here:

https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/schemas/servers.py#L36

which points to here:

https://github.com/openstack/nova/blob/master/nova/api/validation/parameter_types.py#L333-L341

You will note that the above schema has a maxLength attribute of 255. 
This means that metadata key/value pairs are limited by the API to a 
length of 255. If we were to, say, change that value to something 
different just for NDB, we'd need to make an adjustment to the public 
REST API validation.

This is just one concern with this approach.

Best,
-jay



More information about the OpenStack-dev mailing list