[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