df-controller does not create tunnel to newer controllers

Bug #1655935 reported by Dima Kuznetsov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DragonFlow
Fix Released
High
Dima Kuznetsov

Bug Description

In a multinode environment, when a new chassis registers itself, it pulls all the already-registered chassis and creates a tunnel port for them. From that point, update on chassis table is not acted upon, so tunnels to newer chassis are not set up.

[dimak@dimatron: ~/projects/dragonflow/dragonflow ((0c1ce21...))]$ git grep update_chassis
controller/df_local_controller.py: def update_chassis(self, chassis):
controller/df_local_controller.py: self.db_store.update_chassis(chassis.get_id(), chassis)
controller/df_local_controller.py: self.db_store.update_chassis(c.get_id(), c)
controller/df_local_controller.py: self.nb_api.update_chassis(self.chassis_name, **kwargs)
db/api_nb.py: def update_chassis(self, id, **columns):
db/db_store.py: def update_chassis(self, chassis_id, chassis):
tests/unit/test_app_base.py: self.controller.db_store.update_chassis('fake_host', fake_chassis1)
tests/unit/test_app_base.py: self.controller.db_store.update_chassis('fake_host2', fake_chassis2)
tests/unit/test_db_store.py: self.db_store.update_chassis('chassis1', chassis1)
tests/unit/test_db_store.py: self.db_store.update_chassis('chassis2', chassis2)

It seems that all the update_chassis calls go to either db-store or nb-api, but no one calls update_chassis code defined in df local controller.

Omer Anson (omer-anson)
Changed in dragonflow:
importance: Undecided → High
Omer Anson (omer-anson)
Changed in dragonflow:
assignee: nobody → Dima Kuznetsov (dimakuz)
Revision history for this message
Dima Kuznetsov (dimakuz) wrote :

Using virtual tunnel ports solves the issue:
https://review.openstack.org/#/c/387017/

Changed in dragonflow:
status: New → Fix Released
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.