Unnest nova server flavor and image mapping properties

Bug #1619047 reported by Steve McLellan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Searchlight
Fix Released
High
Steve McLellan

Bug Description

The nova server plugin has some inappropriate 'nested' fields. 'image' and 'flavor' originally were candidates for denormalization, which we never did, and so got mapped as objects. Unfortunately we used 'nested' as the type when in fact 'object' would be more appropriate. 'nested' fields create issues in aggregations and queries and since server->image and server->flavor are many->one mappings (there will never be multiple flavors for a server) there's never a need for the capabilities that 'nested' gives. Changing 'type' to 'object' should cause no negative side effects.

Other possible candidates:

designate:recordsets:records (single field "data") BUT BUT BUT be careful there aren't dynamic fields that are added

glance:metadef:resource_types (single inner field)

nova:flavor:extra_specs (I *think* this is a single object mapping, not an array of them)

nova:hypervisors:cpu_info (I think this is single object)
nova:hypervisors:service (I think this is single object)

Steve McLellan (sjmc7)
Changed in searchlight:
assignee: nobody → Steve McLellan (sjmc7)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to searchlight (master)

Fix proposed to branch: master
Review: https://review.openstack.org/364533

Changed in searchlight:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to searchlight (master)

Reviewed: https://review.openstack.org/364533
Committed: https://git.openstack.org/cgit/openstack/searchlight/commit/?id=ed1bfac55175f2f2f20a232e398af36cdae7fa19
Submitter: Jenkins
Branch: master

commit ed1bfac55175f2f2f20a232e398af36cdae7fa19
Author: Steve McLellan <email address hidden>
Date: Thu Sep 1 14:53:27 2016 -0500

    Replace some 'nested' mapping types with 'object'

    A number of fields (on nova servers, hypervisors, flavors, metadefs,
    recordsets) were marked with 'type': 'nested'. 'nested' is only required
    where there will be arrays of complex objects which was not the case in
    many of these instances. Nested fields are harder to run queries again,
    and more difficult to aggregate. This patch re-types those fields to
    'object' but leaves inner mappings untouched.

    'object' type fields can now be listed as facets and queried
    with e.g. "image.id:abc123".

    Some additional changes were required in the facet term aggregation code
    because previously any inner fields were considered part of a nested
    mapping.

    This patch requires reindexing of all data in affected types.

    Change-Id: I35cb9b43d4281c2cabdb602bf64af096ca4b9955
    Closes-Bug: #1619047

Changed in searchlight:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/searchlight 1.0.0.0rc1

This issue was fixed in the openstack/searchlight 1.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.