refact port status update

Registered by wang jian

1. When there are multiple neutron-server workers starts on a single node, RedisPortStatusNotifier is initialized repeatedly.
2. The reds port status driver starts a PortStatusMonitor to update the timestamp of table pubsub, but not one cleans the stale entries in the pubsub table.
3. The reds port status driver creates a table named portstats to store IPs of each neutron-server node and creates another table named pubsub to store the heart beat(timestamp) of the neutron-server process. These two tables can be merged to one.

When the mech_driver of Dragonflow is initialized, a green thread will be started to report heart beats to df-db on each controller node. df-publisher-service will monitor the timestamp of the heart beat in df-db and remove the staled entries, so df-controller won't send a port-status-update message to a dead neutron-server.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
wang jian
Direction:
Needs approval
Assignee:
wang jian
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/refactor-port-status-update,n,z

Addressed by: https://review.openstack.org/396915
    Refactor port-status-update NB API

Addressed by: https://review.openstack.org/396860
    Remove PortStatusTableMonitor

Gerrit topic: https://review.openstack.org/#q,topic:bug/1636714,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.