Subscription support filtering tags

Registered by yangzhenyu

The current subscription does not support message filtering, so when a subscriber subscribes to a topic, all messages which sent to the topic will be sent to the subscriber, which will be a lot less flexible and strategic.
So I'm suggest that the 'Subscription Filtering Tags' feature is intended to solve the problem, which allows the user to specify the tags when creating a subscription and publish messages, and ultimately through the tags match to determine the message will sent to which subscribers.

It has the following features:
* This attribute is optional.
* Subscribers and messages support multiple tags at the same time.
* If the subscriber does not have any tags, all messages will be sent to the subscriber.
* If the message does not contain any tags, it can not be sent to the subscriber which has tags.
* If the message and the subscriber's tags have intersecting collections, the message is sent to the subscriber.
* If the message and the subscriber both have tags, but there is no intersection set, so no message is sent to the subscriber.

Blueprint information

Status:
Started
Approver:
Feilong Wang
Priority:
High
Drafter:
yangzhenyu
Direction:
Needs approval
Assignee:
yangzhenyu
Definition:
Drafting
Series goal:
Proposed for queens
Implementation:
Started
Milestone target:
None
Started by
yangzhenyu

Related branches

Sprints

Whiteboard

I think this is duplicated with https://blueprints.launchpad.net/zaqar/+spec/suport-filter-for-subscription but I'm happy to abandon that one in favor of this. Could you please confirm? Thanks. --flwang

yes, It is duplicated. It is really sorry, did not pay attention at that time. --yangzhenyu

No problem. I will abandon that one and please keep working on this. Thanks. --flwang

Gerrit topic: https://review.openstack.org/#q,topic:bp/subscription-filtering-tags,n,z

Addressed by: https://review.openstack.org/529942
    Spec of subscription filtering tags support

Addressed by: https://review.openstack.org/562906
    Add the missing index

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.