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

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to