Enable event feature on HBase

Registered by Nadya Privalova on 2014-02-20

The purpose of this bp is to implement event feature on HBase

Proposed preliminary structure of Events in HBase:

table:
- events
      - row_key: timestamp of event's generation + uuid of event
                 in format: "%s+%s" % (ts, Event.message_id)
      -Column Families:
          f: contains the following qualifiers:
              -event_type: description of event's type
              -timestamp: time stamp of event generation
              -all traits for this event in format
               "%s+%s" % (trait_name, trait_type)

Structure that is proposed will support next queries:
- event’s generation time
- event id
- event type
- trait: id, description, type

Blueprint information

Status:
Complete
Approver:
Julien Danjou
Priority:
Medium
Drafter:
Nadya Privalova
Direction:
Approved
Assignee:
Igor Degtiarov
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
Igor Degtiarov on 2014-04-30
Completed by
Thierry Carrez on 2014-06-10

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/hbase-events-feature,n,z

Addressed by: https://review.openstack.org/91408
    Implement record_events method for HBase

what's the effect of implementing this as a massively horizontal table? ie each attributed is represented as it's own qualifier -- gordc (01/05/14)

(idegtiarov): Yes, HBase maintains maps of Keys to Values, it is a row like table, where attribute or several attributes are represented as column's qualifier.

Gerrit topic: https://review.openstack.org/#q,topic:bp/is,n,z

Addressed by: https://review.openstack.org/96417
    Hbase-events-feature specs

Addressed by: https://review.openstack.org/95613
    Refactor tests to remove direct access to test DBManagers

(?)

Work Items

Work items:
Create new method for event feature implementation on HBase: DONE
Test new methods in unit tests: INPROGRESS

This blueprint contains Public information 
Everyone can see this information.