)]}'
{"doc/source/specs/network_as_topology_topic.rst":[{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  controller doesn\u0027t have to cache all the data, and saves the memory in the"},{"line_number":21,"context_line":"  host, which has Dragonflow controller running."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* The Dragonflow controller will only subscribe to the topic that it concerns."},{"line_number":24,"context_line":"  Comparing to subscribe all the changes, this improves the performance of"},{"line_number":25,"context_line":"  Dragonflow controller."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_ef7b5026","line":23,"range":{"start_line":23,"start_character":55,"end_line":23,"end_character":60},"updated":"2016-12-27 01:39:47.000000000","message":"topics","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  host, which has Dragonflow controller running."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* The Dragonflow controller will only subscribe to the topic that it concerns."},{"line_number":24,"context_line":"  Comparing to subscribe all the changes, this improves the performance of"},{"line_number":25,"context_line":"  Dragonflow controller."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Using topic to manage data is easier when amount of data is huge."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_6f0cc0ed","line":24,"range":{"start_line":24,"start_character":15,"end_line":24,"end_character":24},"updated":"2016-12-27 01:39:47.000000000","message":"to","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":51,"context_line":"ID as topic in multi-tenants scenarios. But things will become overwhelming"},{"line_number":52,"context_line":"complex."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"An alternative to use Dragonflow in mult-tenant scenarios, is to disable"},{"line_number":55,"context_line":"selective topology distribution. This will lose the advantages mentioned above."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_6fc12054","line":54,"range":{"start_line":54,"start_character":36,"end_line":54,"end_character":40},"updated":"2016-12-27 01:39:47.000000000","message":"typo","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"The proposed change will not change the essence of selective topology"},{"line_number":61,"context_line":"distribution. And the proposed change will still keep the possiblity to use"},{"line_number":62,"context_line":"tenant ID as topic."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"OpenStack Neutron has several basic resources. They are port, subnet and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_cf7e8c18","line":61,"range":{"start_line":61,"start_character":58,"end_line":61,"end_character":68},"updated":"2016-12-27 01:39:47.000000000","message":"possibility","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":61,"context_line":"distribution. And the proposed change will still keep the possiblity to use"},{"line_number":62,"context_line":"tenant ID as topic."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"OpenStack Neutron has several basic resources. They are port, subnet and"},{"line_number":65,"context_line":"network. All other resources are associated to basic resources. Port, subnet"},{"line_number":66,"context_line":"and network have many-to-one relationship. This spec proposes to use network"},{"line_number":67,"context_line":"ID as the topic. So, for the basic resources(ie. port and network), the topic"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_cf220c52","line":64,"range":{"start_line":64,"start_character":30,"end_line":64,"end_character":35},"updated":"2016-12-27 01:39:47.000000000","message":"nit: core ? maybe more official","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":20298,"name":"feipeng","email":"feipeng1@huawei.com","username":"feipeng"},"change_message_id":"c0792c91e3294506538dc7a495a202c5357abb5c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"network. All other resources are associated to basic resources. Port, subnet"},{"line_number":66,"context_line":"and network have many-to-one relationship. This spec proposes to use network"},{"line_number":67,"context_line":"ID as the topic. So, for the basic resources(ie. port and network), the topic"},{"line_number":68,"context_line":"will be the network ID, which can be obtained from their attributes."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"For other resources, for example QoS policy, it will be pulled when the port"},{"line_number":71,"context_line":"is online from Southbound, if it is associated to a port. And its topic will be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_4899cd1e","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":22},"updated":"2016-12-26 03:23:16.000000000","message":"how to deal with connection request between different network?","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"For other resources, for example QoS policy, it will be pulled when the port"},{"line_number":71,"context_line":"is online from Southbound, if it is associated to a port. And its topic will be"},{"line_number":72,"context_line":"updated to contain the network ID of the port. In the case of the QoS is used"},{"line_number":73,"context_line":"by ports in different networks, the topic of QoS will be plural. So, when the"},{"line_number":74,"context_line":"QoS is updated from Northbound api, the change might be published to multiple"},{"line_number":75,"context_line":"channels."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_af38683e","line":72,"range":{"start_line":72,"start_character":45,"end_line":72,"end_character":47},"updated":"2016-12-27 01:39:47.000000000","message":"And the controller will subscribe to the topic network ID?","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":68,"context_line":"will be the network ID, which can be obtained from their attributes."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"For other resources, for example QoS policy, it will be pulled when the port"},{"line_number":71,"context_line":"is online from Southbound, if it is associated to a port. And its topic will be"},{"line_number":72,"context_line":"updated to contain the network ID of the port. In the case of the QoS is used"},{"line_number":73,"context_line":"by ports in different networks, the topic of QoS will be plural. So, when the"},{"line_number":74,"context_line":"QoS is updated from Northbound api, the change might be published to multiple"},{"line_number":75,"context_line":"channels."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_6f1920d7","line":72,"range":{"start_line":71,"start_character":58,"end_line":72,"end_character":7},"updated":"2016-12-27 01:39:47.000000000","message":"The contorller will update the lport in df-db, right? If yes, we need to think about how to keep the conssitency, because neutron-server may update it at the same time","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":20405,"name":"liuhaixia","email":"liuhaixia315@huawei.com","username":"liuhaixia"},"change_message_id":"479d75688da1665a16630a4f0e05ca5844c78f4e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Configuration Impact"},{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_adf96b82","line":85,"range":{"start_line":85,"start_character":30,"end_line":85,"end_character":46},"updated":"2016-12-26 02:31:57.000000000","message":"Is this configuration option in neutron.conf?","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"a7651b517ef04a13ebe08404dec11a606f63cfba","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Configuration Impact"},{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_c8cdbd5e","line":85,"range":{"start_line":85,"start_character":30,"end_line":85,"end_character":46},"in_reply_to":"da4df55a_adf96b82","updated":"2016-12-26 03:10:54.000000000","message":"It will be in dragonflow.ini","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":20405,"name":"liuhaixia","email":"liuhaixia315@huawei.com","username":"liuhaixia"},"change_message_id":"479d75688da1665a16630a4f0e05ca5844c78f4e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_ad408ba6","line":86,"range":{"start_line":86,"start_character":3,"end_line":86,"end_character":10},"updated":"2016-12-26 02:31:57.000000000","message":"Tenant and network can coexist?","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"a7651b517ef04a13ebe08404dec11a606f63cfba","unresolved":false,"context_lines":[{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_08d8a51c","line":86,"range":{"start_line":86,"start_character":3,"end_line":86,"end_character":10},"in_reply_to":"da4df55a_ad408ba6","updated":"2016-12-26 03:10:54.000000000","message":"I think user can only select one from them.","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"560eb9add4bce71cfda548a4a87f5dbfa82692c5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Configuration Impact"},{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"NB Data Model Impact"},{"line_number":91,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_cd222f01","line":88,"range":{"start_line":85,"start_character":0,"end_line":88,"end_character":40},"updated":"2016-12-26 02:29:16.000000000","message":"if network ID method has advantages over the old one, we don\u0027t need to keep the old as it is not useful at all.","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"a7651b517ef04a13ebe08404dec11a606f63cfba","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Configuration Impact"},{"line_number":83,"context_line":"--------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":86,"context_line":"or network. When it is specified as `tenant`, Dragonflow will behave the same"},{"line_number":87,"context_line":"as current selective topology distribution. When it is specified as `network`,"},{"line_number":88,"context_line":"Dragonflow will use network ID as topic."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"NB Data Model Impact"},{"line_number":91,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_e8ae0184","line":88,"range":{"start_line":85,"start_character":0,"end_line":88,"end_character":40},"in_reply_to":"da4df55a_cd222f01","updated":"2016-12-26 03:10:54.000000000","message":"Use tenant ID as topic might still be very useful and efficient in VPC scenarios. In VPC mode, all resources in a VPC belongs to a separate tenant. I shall add comments in the configuration to explain that.","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"ed88344d1668d9e9a2755c73578863aab75ebbcb","unresolved":false,"context_lines":[{"line_number":138,"context_line":"   module."},{"line_number":139,"context_line":"#. Add the module to use network ID as topic."},{"line_number":140,"context_line":"#. Add the configure option to select the topic strategy."},{"line_number":141,"context_line":"#. Change the Publisher to accept mutiple topics."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da4df55a_efe6f013","line":141,"range":{"start_line":141,"start_character":34,"end_line":141,"end_character":41},"updated":"2016-12-27 01:39:47.000000000","message":"typo","commit_id":"d297baa6148dc5b54a858fa42ba9d5ed1400cec7"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2f7f0ea38e8e8507be153cc12fb64d7887b6d3cb","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"The proposed change will not change the essence of selective topology"},{"line_number":61,"context_line":"distribution. And the proposed change will still keep the possibility to use"},{"line_number":62,"context_line":"tenant ID as topic."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"There are a couple of options for the change:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_095e3ae9","line":62,"range":{"start_line":62,"start_character":12,"end_line":62,"end_character":18},"updated":"2017-01-02 06:50:21.000000000","message":"distribution topic","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"fcc9f682683097f048d30dc4179f10528cdbd510","unresolved":false,"context_lines":[{"line_number":102,"context_line":"* Less channels to publish when a resource updates."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Cons:"},{"line_number":105,"context_line":"* Still can\u0027t prevent sending message to irrelevant subscriber. For example, if"},{"line_number":106,"context_line":"  QoS is associated with port A, all the hosts that have port in the same"},{"line_number":107,"context_line":"  network as port A will accept the QoS message."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_ef88b0c7","line":105,"range":{"start_line":105,"start_character":52,"end_line":105,"end_character":62},"updated":"2016-12-27 09:51:05.000000000","message":"subscibers","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"0acf5af4c3e40eeaf9d5286f9dfb8fa622985cfb","unresolved":false,"context_lines":[{"line_number":102,"context_line":"* Less channels to publish when a resource updates."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Cons:"},{"line_number":105,"context_line":"* Still can\u0027t prevent sending message to irrelevant subscriber. For example, if"},{"line_number":106,"context_line":"  QoS is associated with port A, all the hosts that have port in the same"},{"line_number":107,"context_line":"  network as port A will accept the QoS message."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_e99c1410","line":105,"range":{"start_line":105,"start_character":52,"end_line":105,"end_character":62},"in_reply_to":"da4df55a_ef88b0c7","updated":"2016-12-28 01:09:28.000000000","message":"Done","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"75b6495e4c0c2cc77d332d234e74ef243466935c","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Cons:"},{"line_number":105,"context_line":"* Still can\u0027t prevent sending message to irrelevant subscriber. For example, if"},{"line_number":106,"context_line":"  QoS is associated with port A, all the hosts that have port in the same"},{"line_number":107,"context_line":"  network as port A will accept the QoS message."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Use chassis ID as topic"},{"line_number":110,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_2cdd586f","line":107,"range":{"start_line":107,"start_character":40,"end_line":107,"end_character":47},"updated":"2016-12-27 12:25:01.000000000","message":"considering a new network is created, the event will not be published, for no computer nodes subscribed this new network","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"0acf5af4c3e40eeaf9d5286f9dfb8fa622985cfb","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Cons:"},{"line_number":105,"context_line":"* Still can\u0027t prevent sending message to irrelevant subscriber. For example, if"},{"line_number":106,"context_line":"  QoS is associated with port A, all the hosts that have port in the same"},{"line_number":107,"context_line":"  network as port A will accept the QoS message."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Use chassis ID as topic"},{"line_number":110,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_89a54848","line":107,"range":{"start_line":107,"start_character":40,"end_line":107,"end_character":47},"in_reply_to":"da4df55a_2cdd586f","updated":"2016-12-28 01:09:28.000000000","message":"New network will not be accepted by DF nodes, but when the port in new network is online in DF node, the network will be pulled from NB db, and apply to local.","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"75b6495e4c0c2cc77d332d234e74ef243466935c","unresolved":false,"context_lines":[{"line_number":142,"context_line":"* When a resource updates, there will be more channels to publish the change."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"The topology module in Dragonflow will be refactor. The tenant specified code"},{"line_number":146,"context_line":"will be extracted into a separate module. A new module for selected solution"},{"line_number":147,"context_line":"will be added. The topology module will load corresponding module"},{"line_number":148,"context_line":"according to the topic strategy."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_2c20f847","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":50},"updated":"2016-12-27 12:25:01.000000000","message":"refactored?","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"0acf5af4c3e40eeaf9d5286f9dfb8fa622985cfb","unresolved":false,"context_lines":[{"line_number":142,"context_line":"* When a resource updates, there will be more channels to publish the change."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"The topology module in Dragonflow will be refactor. The tenant specified code"},{"line_number":146,"context_line":"will be extracted into a separate module. A new module for selected solution"},{"line_number":147,"context_line":"will be added. The topology module will load corresponding module"},{"line_number":148,"context_line":"according to the topic strategy."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_09a2384b","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":50},"in_reply_to":"da4df55a_2c20f847","updated":"2016-12-28 01:09:28.000000000","message":"Done","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"75b6495e4c0c2cc77d332d234e74ef243466935c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"The topology module in Dragonflow will be refactor. The tenant specified code"},{"line_number":146,"context_line":"will be extracted into a separate module. A new module for selected solution"},{"line_number":147,"context_line":"will be added. The topology module will load corresponding module"},{"line_number":148,"context_line":"according to the topic strategy."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Configuration Impact"},{"line_number":151,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_ac8f8828","line":148,"range":{"start_line":148,"start_character":23,"end_line":148,"end_character":31},"updated":"2016-12-27 12:25:01.000000000","message":"I don\u0027t think either using network or using chassis is a good enough solution. We may need more investigation and discussion.","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"fcc9f682683097f048d30dc4179f10528cdbd510","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":154,"context_line":"or network ID or chassis ID, depends on which option is selected. When it is"},{"line_number":155,"context_line":"specified as `tenant`, Dragonflow will behave the same as current selective"},{"line_number":156,"context_line":"topology distribution. "},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"NB Data Model Impact"},{"line_number":159,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_cf04cc4b","line":156,"range":{"start_line":156,"start_character":22,"end_line":156,"end_character":23},"updated":"2016-12-27 09:51:05.000000000","message":"delete","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"0acf5af4c3e40eeaf9d5286f9dfb8fa622985cfb","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Add a new configuration option, *topic_type*. Its possible value will be tenant"},{"line_number":154,"context_line":"or network ID or chassis ID, depends on which option is selected. When it is"},{"line_number":155,"context_line":"specified as `tenant`, Dragonflow will behave the same as current selective"},{"line_number":156,"context_line":"topology distribution. "},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"NB Data Model Impact"},{"line_number":159,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da4df55a_4988c0c5","line":156,"range":{"start_line":156,"start_character":22,"end_line":156,"end_character":23},"in_reply_to":"da4df55a_cf04cc4b","updated":"2016-12-28 01:09:28.000000000","message":"Done","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"2f7f0ea38e8e8507be153cc12fb64d7887b6d3cb","unresolved":false,"context_lines":[{"line_number":159,"context_line":"--------------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Change the topic field of current Northbound DB models from a string to a list"},{"line_number":162,"context_line":"of string. When use `tenant` as topic_type, the topic will always be a one"},{"line_number":163,"context_line":"element list, whose value is the tenant of current resource."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Rename the method parameter in Northbound DB drivers from topic to tenant. So"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_89206a4b","line":162,"range":{"start_line":162,"start_character":3,"end_line":162,"end_character":9},"updated":"2017-01-02 06:50:21.000000000","message":"strings","commit_id":"c1aa5b84cad27ae4fdf4c0f019f421a9966fdba0"}],"doc/source/specs/rabc_in_topology_topic.rst":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2362a43d15a01854a9e66e4ab0fbc854fb27071c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba5201f7_2f14174b","updated":"2017-01-08 16:19:57.000000000","message":"Typo in file name: rabc_... -\u003e rbac_...","commit_id":"228ee9c548a5bdc9d2947f9b657d42e15564918d"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2362a43d15a01854a9e66e4ab0fbc854fb27071c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"subscribes to tenant B, might also be interested in resource in tenant A."},{"line_number":36,"context_line":"Current implementation of selective topology distribution can\u0027t achieve that."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[#]_ https://specs.openstack.org/openstack/neutron-specs/specs/liberty/rbac-networks.html"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A feasible workaround to use Dragonflow with multi-tenants scenarios, is to"},{"line_number":41,"context_line":"disable selective topology distribution. This will lose the advantages"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba5201f7_af000703","line":38,"updated":"2017-01-08 16:19:57.000000000","message":"Missing \u0027..  \u0027 at start of line. Actually, this footnote is never referenced, so it never appears. Maybe \u0027[1]\u0027 instead of [#]_?","commit_id":"228ee9c548a5bdc9d2947f9b657d42e15564918d"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2362a43d15a01854a9e66e4ab0fbc854fb27071c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"multiple tenants. So that multiple tenants can share external network to"},{"line_number":94,"context_line":"create router gateway or floating IP."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Configuration Impact"},{"line_number":98,"context_line":"--------------------"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba5201f7_1accefb9","line":96,"updated":"2017-01-08 16:19:57.000000000","message":"If I understand this spec correctly, it only discusses the publishing of \u0027shared\u0027 resources (according to Neutron\u0027s RBAC definition).\n\nWhat happens with these objects after they reach the controller? Does the controller review each item in the topic/tenant_ids to see if one of these are its topics, and then acts upon it? Or trusts that if it received this message, it\u0027s interesting? How would it handle the case that a tenant is removed from a node?","commit_id":"228ee9c548a5bdc9d2947f9b657d42e15564918d"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d2ca8199e2b4f5138d565010dfa745f644250d00","unresolved":false,"context_lines":[{"line_number":93,"context_line":"multiple tenants. So that multiple tenants can share external network to"},{"line_number":94,"context_line":"create router gateway or floating IP."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Configuration Impact"},{"line_number":98,"context_line":"--------------------"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba5201f7_cd9ab013","line":96,"in_reply_to":"ba5201f7_1accefb9","updated":"2017-01-09 02:50:52.000000000","message":"According to neutron implementation, it will publish \n\n[1] \"shared\u003dTrue\" networks and qos\n[2] \"router:external\u003dTrue\" networks\n[3] Any other network or qos that shared among partial of tenants by RBAC rules.\n\nThe controller should be interested with whatever it receives. But I still can\u0027t figure out how to handle two scenarios:\n\n1) How to retrieve the shared resource after restart controller?\n2) Like you mentioned, how to delete the shared resource if there is no local port reference to it?\n\nI will think more about it.","commit_id":"228ee9c548a5bdc9d2947f9b657d42e15564918d"}]}
