)]}'
{"doc/source/specs/services-status.rst":[{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":"Services Status"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"https://blueprints.launchpad.net/dragonflow/+spec/services-status"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_df142aa1","line":4,"range":{"start_line":4,"start_character":15,"end_line":4,"end_character":17},"updated":"2016-11-29 11:13:54.000000000","message":"notice the format","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"https://blueprints.launchpad.net/dragonflow/+spec/services-status"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"This specs is being introduced, to keep the status of all the services"},{"line_number":9,"context_line":"available all the time in database."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_1f8222c8","line":8,"range":{"start_line":8,"start_character":11,"end_line":8,"end_character":34},"updated":"2016-11-29 11:13:54.000000000","message":"is introduced to","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"https://blueprints.launchpad.net/dragonflow/+spec/services-status"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"This specs is being introduced, to keep the status of all the services"},{"line_number":9,"context_line":"available all the time in database."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_5f29fae4","line":8,"range":{"start_line":8,"start_character":5,"end_line":8,"end_character":10},"updated":"2016-11-29 11:13:54.000000000","message":"spec","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Problem Description"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This specs solves the following problem"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"* To view services status in cluster, administrator does not have any tool."},{"line_number":17,"context_line":"  This spec enables administrators to view status of the services in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_3f5c3e7c","line":14,"range":{"start_line":14,"start_character":32,"end_line":14,"end_character":39},"updated":"2016-11-29 11:13:54.000000000","message":"problems","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Problem Description"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This specs solves the following problem"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"* To view services status in cluster, administrator does not have any tool."},{"line_number":17,"context_line":"  This spec enables administrators to view status of the services in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_bfdf6ed4","line":14,"range":{"start_line":14,"start_character":5,"end_line":14,"end_character":10},"updated":"2016-11-29 11:13:54.000000000","message":"spec","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Make Dragonflow services report its timestamp to Dragonflow Northbound"},{"line_number":33,"context_line":"Database periodically. Add common code, which can be used by all the service"},{"line_number":34,"context_line":"to report their status."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The implementation will be under the assumption that all the nodes in OpenStack"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_df1a6a7c","line":33,"range":{"start_line":33,"start_character":69,"end_line":33,"end_character":76},"updated":"2016-11-29 11:13:54.000000000","message":"services","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Local controller status is planned to report its status in [#]_ blueprint"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"..[#] https://review.openstack.org/#/c/385719/"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"To avoid writing duplicate code, mentioned blueprint\u0027s code will be reused"},{"line_number":50,"context_line":"for status reporting."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_719d5665","line":47,"updated":"2016-12-05 17:09:42.000000000","message":"This doesn\u0027t display correctly.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"For publisher run with neutron-server process, it could also be managed by"},{"line_number":57,"context_line":"ProcessManager and takes the responsibility of reporting status."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"or"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The same generic module(used for L3 agent or metadata service) can be used"},{"line_number":62,"context_line":"for status of the service. It will resuse existing code and seems to be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_7fb8752a","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":2},"updated":"2016-11-29 11:13:54.000000000","message":"???","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"or"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The same generic module(used for L3 agent or metadata service) can be used"},{"line_number":62,"context_line":"for status of the service. It will resuse existing code and seems to be"},{"line_number":63,"context_line":"clean way of doing it."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Configuration Changes:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_5fad79e7","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":41},"updated":"2016-11-29 11:13:54.000000000","message":"reuse","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The same generic module(used for L3 agent or metadata service) can be used"},{"line_number":62,"context_line":"for status of the service. It will resuse existing code and seems to be"},{"line_number":63,"context_line":"clean way of doing it."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Configuration Changes:"},{"line_number":66,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_11aee297","line":63,"updated":"2016-12-05 17:09:42.000000000","message":"I suggest this option (reusing generic code in L3 agent and metadata service).\n1. This code is written anyway. No need to adapt ProcessManager\n2. It will allow us to run the publisher service independently. e.g. when we only need it to monitor tables and not be attached to a Neutron server.\n3. A unified mechanism will be easier to understand and debug. (tools created for this mechanism work everywhere)","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"for status of the service. It will resuse existing code and seems to be"},{"line_number":63,"context_line":"clean way of doing it."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Configuration Changes:"},{"line_number":66,"context_line":"----------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Add a new configuration option, *service_down_time* in df section, which means"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_9f8ab162","line":65,"range":{"start_line":65,"start_character":21,"end_line":65,"end_character":22},"updated":"2016-11-29 11:13:54.000000000","message":"delete :","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for such a long time. The default value of *service_down_time* will be 80s"},{"line_number":71,"context_line":"which should be at least more than three of *report_interval* described below."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add a new configuration option, *service_report_interval*. Services will"},{"line_number":74,"context_line":"report timestamp to Dragonflow Northbound Database by using this option as"},{"line_number":75,"context_line":"time interval. The default value of *service_report_interval* is 25 seconds,"},{"line_number":76,"context_line":"which should not cause big impact to the performance of Dragonflow Northbound"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_0876c105","line":73,"range":{"start_line":73,"start_character":33,"end_line":73,"end_character":56},"updated":"2016-11-26 10:02:53.000000000","message":"report_interval?","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"bb123fd8d0154e24330172519093b946ec4d4299","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for such a long time. The default value of *service_down_time* will be 80s"},{"line_number":71,"context_line":"which should be at least more than three of *report_interval* described below."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add a new configuration option, *service_report_interval*. Services will"},{"line_number":74,"context_line":"report timestamp to Dragonflow Northbound Database by using this option as"},{"line_number":75,"context_line":"time interval. The default value of *service_report_interval* is 25 seconds,"},{"line_number":76,"context_line":"which should not cause big impact to the performance of Dragonflow Northbound"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_54ccb369","line":73,"range":{"start_line":73,"start_character":33,"end_line":73,"end_character":56},"in_reply_to":"5a74a57a_0876c105","updated":"2016-11-28 13:44:40.000000000","message":"report interval is already taken by chassis live status blueprint.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"f10a99761e00722c0d07325b9cc6b843e0b40b55","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for such a long time. The default value of *service_down_time* will be 80s"},{"line_number":71,"context_line":"which should be at least more than three of *report_interval* described below."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add a new configuration option, *service_report_interval*. Services will"},{"line_number":74,"context_line":"report timestamp to Dragonflow Northbound Database by using this option as"},{"line_number":75,"context_line":"time interval. The default value of *service_report_interval* is 25 seconds,"},{"line_number":76,"context_line":"which should not cause big impact to the performance of Dragonflow Northbound"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_ee80688d","line":73,"range":{"start_line":73,"start_character":33,"end_line":73,"end_character":56},"in_reply_to":"5a74a57a_54ccb369","updated":"2016-11-29 02:54:52.000000000","message":"Yes, can they be the same value? the service_report_interval seems vague, especially when it is along with report_interval. Neutron uses report_interval for heart beat of other components. So I think it is also feasible for dragonflow to use a single parameter for health check.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add a new configuration option, *service_report_interval*. Services will"},{"line_number":74,"context_line":"report timestamp to Dragonflow Northbound Database by using this option as"},{"line_number":75,"context_line":"time interval. The default value of *service_report_interval* is 25 seconds,"},{"line_number":76,"context_line":"which should not cause big impact to the performance of Dragonflow Northbound"},{"line_number":77,"context_line":"Database."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_28737d16","line":75,"range":{"start_line":75,"start_character":37,"end_line":75,"end_character":60},"updated":"2016-11-26 10:02:53.000000000","message":"ditto","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Database."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"If code of chassis alive and ProcessManager report is used then"},{"line_number":80,"context_line":"*service_down_time* and *service_report_interval* will not be applicable for"},{"line_number":81,"context_line":"the respective services."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"NB Data Model Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_4862793f","line":80,"range":{"start_line":80,"start_character":25,"end_line":80,"end_character":48},"updated":"2016-11-26 10:02:53.000000000","message":"ditto","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":83,"context_line":"NB Data Model Impact"},{"line_number":84,"context_line":"--------------------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"A new table will be added in Dragonflow NB database, which contains following"},{"line_number":87,"context_line":"information regarding each service"},{"line_number":88,"context_line":"   -\u003e id"},{"line_number":89,"context_line":"   -\u003e host or chassis   # Can be agreed after discussion"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_c856895b","line":86,"range":{"start_line":86,"start_character":2,"end_line":86,"end_character":11},"updated":"2016-11-26 10:02:53.000000000","message":"what\u0027s the name of the table? \u0027service\u0027?","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"bb123fd8d0154e24330172519093b946ec4d4299","unresolved":false,"context_lines":[{"line_number":83,"context_line":"NB Data Model Impact"},{"line_number":84,"context_line":"--------------------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"A new table will be added in Dragonflow NB database, which contains following"},{"line_number":87,"context_line":"information regarding each service"},{"line_number":88,"context_line":"   -\u003e id"},{"line_number":89,"context_line":"   -\u003e host or chassis   # Can be agreed after discussion"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_f40a1f89","line":86,"range":{"start_line":86,"start_character":2,"end_line":86,"end_character":11},"in_reply_to":"5a74a57a_c856895b","updated":"2016-11-28 13:44:40.000000000","message":"I did not thought about it but its name can be \"service\" as you pointed out.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":84,"context_line":"--------------------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"A new table will be added in Dragonflow NB database, which contains following"},{"line_number":87,"context_line":"information regarding each service"},{"line_number":88,"context_line":"   -\u003e id"},{"line_number":89,"context_line":"   -\u003e host or chassis   # Can be agreed after discussion"},{"line_number":90,"context_line":"   -\u003e binary or name   # Can be agreed after discussion"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_7160f6cf","line":87,"updated":"2016-12-05 17:09:42.000000000","message":"Suggest displaying this as a table in the .rst.\n\nSuggest the key will be chassis_id/service_name (or, if really necessary, a hash of those). Note that chassis_id is the chassis\u0027 hostname.\n\nOtherwise, you will need to generate and keep the uuid for each service.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":86,"context_line":"A new table will be added in Dragonflow NB database, which contains following"},{"line_number":87,"context_line":"information regarding each service"},{"line_number":88,"context_line":"   -\u003e id"},{"line_number":89,"context_line":"   -\u003e host or chassis   # Can be agreed after discussion"},{"line_number":90,"context_line":"   -\u003e binary or name   # Can be agreed after discussion"},{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_d13d4a90","line":89,"updated":"2016-12-05 17:09:42.000000000","message":"chassis id is the hostname. So I think both options actually have the same value.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":87,"context_line":"information regarding each service"},{"line_number":88,"context_line":"   -\u003e id"},{"line_number":89,"context_line":"   -\u003e host or chassis   # Can be agreed after discussion"},{"line_number":90,"context_line":"   -\u003e binary or name   # Can be agreed after discussion"},{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"},{"line_number":93,"context_line":"   -\u003e last_seen_up"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_718e367a","line":90,"updated":"2016-12-05 17:09:42.000000000","message":"I suggest \u0027binary\u0027. It can be converted to a human-readable name at the frontend (e.g. CLI, horizon, dashboard) using standard translation solutions.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":90,"context_line":"   -\u003e binary or name   # Can be agreed after discussion"},{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"},{"line_number":93,"context_line":"   -\u003e last_seen_up"},{"line_number":94,"context_line":"   -\u003e forced_down"},{"line_number":95,"context_line":"   -\u003e report_count"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_8858118c","line":93,"range":{"start_line":93,"start_character":6,"end_line":93,"end_character":18},"updated":"2016-11-26 10:02:53.000000000","message":"is it the last recorded timestamp?","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"bb123fd8d0154e24330172519093b946ec4d4299","unresolved":false,"context_lines":[{"line_number":90,"context_line":"   -\u003e binary or name   # Can be agreed after discussion"},{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"},{"line_number":93,"context_line":"   -\u003e last_seen_up"},{"line_number":94,"context_line":"   -\u003e forced_down"},{"line_number":95,"context_line":"   -\u003e report_count"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_74f7ef8a","line":93,"range":{"start_line":93,"start_character":6,"end_line":93,"end_character":18},"in_reply_to":"5a74a57a_8858118c","updated":"2016-11-28 13:44:40.000000000","message":"yes","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"12e803e52a812320070cca480d7e385d5af51cae","unresolved":false,"context_lines":[{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"},{"line_number":93,"context_line":"   -\u003e last_seen_up"},{"line_number":94,"context_line":"   -\u003e forced_down"},{"line_number":95,"context_line":"   -\u003e report_count"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Publisher Subscriber Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_6867354d","line":94,"range":{"start_line":94,"start_character":6,"end_line":94,"end_character":17},"updated":"2016-11-26 10:02:53.000000000","message":"what does it do for service? is it similar to \u0027disabled\u0027?","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"bb123fd8d0154e24330172519093b946ec4d4299","unresolved":false,"context_lines":[{"line_number":91,"context_line":"   -\u003e disabled"},{"line_number":92,"context_line":"   -\u003e disabled_reason"},{"line_number":93,"context_line":"   -\u003e last_seen_up"},{"line_number":94,"context_line":"   -\u003e forced_down"},{"line_number":95,"context_line":"   -\u003e report_count"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Publisher Subscriber Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_4fb25a95","line":94,"range":{"start_line":94,"start_character":6,"end_line":94,"end_character":17},"in_reply_to":"5a74a57a_6867354d","updated":"2016-11-28 13:44:40.000000000","message":"I think, only disabled will be enough. It is redundant, thanks for pointing out.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e560239d9540fe17ea9ff7fd8ee79fdf36d4842e","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Dragonflow DB CLI Impact"},{"line_number":102,"context_line":"------------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"df-db will utility will be provide following commands to the administrator"},{"line_number":105,"context_line":"  -\u003e service list:- List all the registered services"},{"line_number":106,"context_line":"  -\u003e service show:- Show detailed information of the service to fetch"},{"line_number":107,"context_line":"  -\u003e service enable:- Enable an already disabled service"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_ffb2c504","line":104,"range":{"start_line":104,"start_character":5,"end_line":104,"end_character":26},"updated":"2016-11-29 11:13:54.000000000","message":"will","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2dfbad6f33b4c56d467305cb6525947b0dec11ac","unresolved":false,"context_lines":[{"line_number":141,"context_line":"References"},{"line_number":142,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"https://review.openstack.org/#/c/385719/8/doc/source/specs/support_check_chassis_alive.rst"},{"line_number":145,"context_line":"http://docs.openstack.org/developer/dragonflow/specs/publish_subscribe_abstraction.html"},{"line_number":146,"context_line":"https://specs.openstack.org/openstack/fuel-specs/specs/6.1/neutron-agents-local-reports.html"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a71b18c_517bfa27","line":144,"updated":"2016-12-05 17:09:42.000000000","message":"Please place newlines between the links.","commit_id":"523d1ebab9a1d44ae078924747caa5603b84e530"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"e853abff72b33f0370f7a58e0629c993da3d23e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":"Services Status"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_c63815a3","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":2},"updated":"2016-12-06 07:55:14.000000000","message":"Please add the missing license inofrmation","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ffe9e2974568737eb5c4a8ec8a969c78fef2acf5","unresolved":false,"context_lines":[{"line_number":36,"context_line":"The implementation will be under the assumption that all the nodes in OpenStack"},{"line_number":37,"context_line":"cloud have consistent time."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Controller needs to report status of following services"},{"line_number":40,"context_line":"  1. L3 agent"},{"line_number":41,"context_line":"  2. metadata proxy"},{"line_number":42,"context_line":"  3. local controller"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_b68a3219","line":39,"updated":"2016-12-08 11:36:17.000000000","message":"what do you mean by controller?","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":36,"context_line":"The implementation will be under the assumption that all the nodes in OpenStack"},{"line_number":37,"context_line":"cloud have consistent time."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Controller needs to report status of following services"},{"line_number":40,"context_line":"  1. L3 agent"},{"line_number":41,"context_line":"  2. metadata proxy"},{"line_number":42,"context_line":"  3. local controller"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_2bae5898","line":39,"in_reply_to":"3a71b18c_b68a3219","updated":"2016-12-09 02:57:51.000000000","message":"I will correct it. Each service will report its own status.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"09f80572019f7dd913fe485420367b2c5e6cf565","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"To avoid writing duplicate code, mentioned blueprint\u0027s code will be changed"},{"line_number":50,"context_line":"to reuse the code of proposed blueprint."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A generic module will be written, which takes name of the service as input"},{"line_number":54,"context_line":"and does the tasks of reporting status to DB. Therefore L3 agent, local"},{"line_number":55,"context_line":"controller, publisher and metadata proxy service can use the same module."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_77da91e9","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":0},"updated":"2016-12-06 06:23:49.000000000","message":"keep just one space line","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"c233df64646847f9ce6576e52f0dfa34e8d90c06","unresolved":false,"context_lines":[{"line_number":50,"context_line":"to reuse the code of proposed blueprint."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A generic module will be written, which takes name of the service as input"},{"line_number":54,"context_line":"and does the tasks of reporting status to DB. Therefore L3 agent, local"},{"line_number":55,"context_line":"controller, publisher and metadata proxy service can use the same module."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Configuration Changes"},{"line_number":58,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_ecc89357","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":73},"updated":"2016-12-06 08:30:36.000000000","message":"I thought we agreed on only report local controller\u0027s status. And use local controller to manage and report other service\u0027s status. For example, put metadata proxy in the metadata app, and manage/report metadata proxy from there.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c5ac15057d33ce46ca2eeedbfa52597b0769f073","unresolved":false,"context_lines":[{"line_number":50,"context_line":"to reuse the code of proposed blueprint."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A generic module will be written, which takes name of the service as input"},{"line_number":54,"context_line":"and does the tasks of reporting status to DB. Therefore L3 agent, local"},{"line_number":55,"context_line":"controller, publisher and metadata proxy service can use the same module."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Configuration Changes"},{"line_number":58,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_29fb247a","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":73},"in_reply_to":"3a71b18c_ecc89357","updated":"2016-12-07 09:17:36.000000000","message":"@xiaohhui, on further thought, this doesn\u0027t seem practical in the general case.\n* l3-agent runs in network node, with no parent controller\n* publisher service runs alongside neutron-server\n* db consistency service (when it will be written) will (probably) run alongside neutron-server\n\nThere are at least 3 different mechanisms in place (from local controller, from neutron-server, and standalone). That\u0027s why in PS1 I voted for this option.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":50,"context_line":"to reuse the code of proposed blueprint."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A generic module will be written, which takes name of the service as input"},{"line_number":54,"context_line":"and does the tasks of reporting status to DB. Therefore L3 agent, local"},{"line_number":55,"context_line":"controller, publisher and metadata proxy service can use the same module."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Configuration Changes"},{"line_number":58,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_53a59b44","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":73},"in_reply_to":"3a71b18c_ecc89357","updated":"2016-12-09 02:57:51.000000000","message":"yes, But i think, it is better design to let each service report its status and create an in-Dependant module.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"c233df64646847f9ce6576e52f0dfa34e8d90c06","unresolved":false,"context_lines":[{"line_number":71,"context_line":"NB Data Model Impact"},{"line_number":72,"context_line":"--------------------"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"A service table will be added in Dragonflow NB database, which contains following"},{"line_number":75,"context_line":"information regarding each service"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":78,"context_line":"  | S.No |   field           |  Description                                     |"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_2cd60bf1","line":75,"range":{"start_line":74,"start_character":0,"end_line":75,"end_character":34},"updated":"2016-12-06 08:30:36.000000000","message":"Based on the above comment, the change in nb db should be for chassis table.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"09f80572019f7dd913fe485420367b2c5e6cf565","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":78,"context_line":"  | S.No |   field           |  Description                                     |"},{"line_number":79,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":80,"context_line":"  | 1.   |  id               | ID of the service                                |"},{"line_number":81,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":82,"context_line":"  | 2.   |  chassis          | hostname                                         |"},{"line_number":83,"context_line":"  +------+-------------------+--------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_35b9f179","line":80,"range":{"start_line":80,"start_character":3,"end_line":80,"end_character":50},"updated":"2016-12-06 06:23:49.000000000","message":"suggest add the description that how you assign the uuid for each service on each host.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":78,"context_line":"  | S.No |   field           |  Description                                     |"},{"line_number":79,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":80,"context_line":"  | 1.   |  id               | ID of the service                                |"},{"line_number":81,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":82,"context_line":"  | 2.   |  chassis          | hostname                                         |"},{"line_number":83,"context_line":"  +------+-------------------+--------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_b33a6fe5","line":80,"range":{"start_line":80,"start_character":3,"end_line":80,"end_character":50},"in_reply_to":"3a71b18c_35b9f179","updated":"2016-12-09 02:57:51.000000000","message":"Currently, i am thinking of assigning unique ID to each service in cluster not unique id on a host. Therefore existing approach taken by other functionality will be taken.\n\nIf there is any better approach, please provide your ideas. I love to hear better ideas :D.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"eed0d1a5ba566dd68eaea8512a6941b0f9876b1f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":78,"context_line":"  | S.No |   field           |  Description                                     |"},{"line_number":79,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":80,"context_line":"  | 1.   |  id               | ID of the service                                |"},{"line_number":81,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":82,"context_line":"  | 2.   |  chassis          | hostname                                         |"},{"line_number":83,"context_line":"  +------+-------------------+--------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a6eadb0_1c9db459","line":80,"range":{"start_line":80,"start_character":3,"end_line":80,"end_character":50},"in_reply_to":"3a71b18c_b33a6fe5","updated":"2016-12-18 13:42:53.000000000","message":"Do you mean that the ID will be: \u003cchassis\u003e/\u003cbinary\u003e ? I think this information should be added here.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"09f80572019f7dd913fe485420367b2c5e6cf565","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":90,"context_line":"  | 6.   |  last_seen_up     | Last time stamp reported by the service          |"},{"line_number":91,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":92,"context_line":"  | 7.   |  report_count     | Number of times heartbeat has been recevied      |"},{"line_number":93,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Plan is to store information on following bassis, if possible"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_d5643d23","line":92,"range":{"start_line":92,"start_character":12,"end_line":92,"end_character":74},"updated":"2016-12-06 06:23:49.000000000","message":"What scenario would we use this field?","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":90,"context_line":"  | 6.   |  last_seen_up     | Last time stamp reported by the service          |"},{"line_number":91,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":92,"context_line":"  | 7.   |  report_count     | Number of times heartbeat has been recevied      |"},{"line_number":93,"context_line":"  +------+-------------------+--------------------------------------------------+"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Plan is to store information on following bassis, if possible"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_ab718846","line":92,"range":{"start_line":92,"start_character":12,"end_line":92,"end_character":74},"in_reply_to":"3a71b18c_d5643d23","updated":"2016-12-09 02:57:51.000000000","message":"I went through, i think nova, magnum code, report_count is not being used. May be we can remove this field.\n\nI used these field from other components.\n\nI will remove it.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"81cb12f51d846fae335df35ed8af3140a74038d1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        \"disabled_reason\": reason,"},{"line_number":116,"context_line":"        \"last_seen_up\": timestamp,"},{"line_number":117,"context_line":"        \"report_count\": count(int)\""},{"line_number":118,"context_line":"    },"},{"line_number":119,"context_line":"    -"},{"line_number":120,"context_line":"    -"},{"line_number":121,"context_line":"  },"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_5e8c6935","line":118,"range":{"start_line":118,"start_character":0,"end_line":118,"end_character":6},"updated":"2016-12-08 01:17:47.000000000","message":"indent?","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a2a9d05248647e040c172888e77ff15742b39eaf","unresolved":false,"context_lines":[{"line_number":147,"context_line":"  -"},{"line_number":148,"context_line":"  -"},{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":"         "},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Assumption for the above data management is, there can be only one instance of"},{"line_number":153,"context_line":"a service on a node that has to be registered."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_642741ca","line":150,"updated":"2016-12-06 04:05:06.000000000","message":"I will correct in next patch.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"e853abff72b33f0370f7a58e0629c993da3d23e3","unresolved":false,"context_lines":[{"line_number":149,"context_line":"}"},{"line_number":150,"context_line":"         "},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Assumption for the above data management is, there can be only one instance of"},{"line_number":153,"context_line":"a service on a node that has to be registered."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"It does not add any overhead during status reporting, services has to report their"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_06a92d90","line":152,"range":{"start_line":152,"start_character":0,"end_line":152,"end_character":10},"updated":"2016-12-06 07:55:14.000000000","message":"The assumption","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"e853abff72b33f0370f7a58e0629c993da3d23e3","unresolved":false,"context_lines":[{"line_number":159,"context_line":"publishers.\" or \"list all the publishers in the cluster\". These queries seems to be"},{"line_number":160,"context_line":"more frequent as load has to be balanced between services etc."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Queries like, \"list all the service running on a host\" will be expensive."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Publisher Subscriber Impact"},{"line_number":165,"context_line":"---------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_a6bf99a8","line":162,"range":{"start_line":162,"start_character":0,"end_line":162,"end_character":73},"updated":"2016-12-06 07:55:14.000000000","message":"Could you please expand on it?","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":159,"context_line":"publishers.\" or \"list all the publishers in the cluster\". These queries seems to be"},{"line_number":160,"context_line":"more frequent as load has to be balanced between services etc."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Queries like, \"list all the service running on a host\" will be expensive."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Publisher Subscriber Impact"},{"line_number":165,"context_line":"---------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_b61fbd59","line":162,"range":{"start_line":162,"start_character":0,"end_line":162,"end_character":73},"in_reply_to":"3a71b18c_a6bf99a8","updated":"2016-12-09 02:57:51.000000000","message":"It is no longer valid now, thanks for pointing out.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"81cb12f51d846fae335df35ed8af3140a74038d1","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Publisher Subscriber Impact"},{"line_number":165,"context_line":"---------------------------"},{"line_number":166,"context_line":"Dragonflow controller should silently ignore all the updates on the new table."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Dragonflow DB CLI Impact"},{"line_number":169,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_9eb441d2","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":78},"updated":"2016-12-08 01:17:47.000000000","message":"If a df-controller is enabled/disabled, will be there a chassis up/down event be published?","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"eed0d1a5ba566dd68eaea8512a6941b0f9876b1f","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Publisher Subscriber Impact"},{"line_number":165,"context_line":"---------------------------"},{"line_number":166,"context_line":"Dragonflow controller should silently ignore all the updates on the new table."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Dragonflow DB CLI Impact"},{"line_number":169,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a6eadb0_5c9f2c50","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":78},"in_reply_to":"3a71b18c_0be7dce4","updated":"2016-12-18 13:42:53.000000000","message":"In any case, the above line is accurate.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Publisher Subscriber Impact"},{"line_number":165,"context_line":"---------------------------"},{"line_number":166,"context_line":"Dragonflow controller should silently ignore all the updates on the new table."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Dragonflow DB CLI Impact"},{"line_number":169,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_0be7dce4","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":78},"in_reply_to":"3a71b18c_9eb441d2","updated":"2016-12-09 02:57:51.000000000","message":"I did not think, about it. It should be published, if required by some other services. If you can provide pointer\u0027s it will help me to update spec.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"c233df64646847f9ce6576e52f0dfa34e8d90c06","unresolved":false,"context_lines":[{"line_number":177,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":178,"context_line":"  |  2.  | service show     | Show detailed information of the service to fetch  |"},{"line_number":179,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":180,"context_line":"  |  3.  | service enable   | Enable an already disabled service                 |"},{"line_number":181,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":182,"context_line":"  |  4.  | service disable  | Disable a service                                  |"},{"line_number":183,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Based on *service_down_time* configuration and last_seen_up, disabled field"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_8cb55f7f","line":182,"range":{"start_line":180,"start_character":0,"end_line":182,"end_character":51},"updated":"2016-12-06 08:30:36.000000000","message":"Based on above comments, service disable/enable should be implemented by removing/adding specific app to the df app list.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"a5118c8261b5d55f3f0d480b57396b3a4a4e6f22","unresolved":false,"context_lines":[{"line_number":177,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":178,"context_line":"  |  2.  | service show     | Show detailed information of the service to fetch  |"},{"line_number":179,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":180,"context_line":"  |  3.  | service enable   | Enable an already disabled service                 |"},{"line_number":181,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":182,"context_line":"  |  4.  | service disable  | Disable a service                                  |"},{"line_number":183,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Based on *service_down_time* configuration and last_seen_up, disabled field"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a71b18c_56b90914","line":182,"range":{"start_line":180,"start_character":0,"end_line":182,"end_character":51},"in_reply_to":"3a71b18c_8cb55f7f","updated":"2016-12-09 02:57:51.000000000","message":"I would like to discuss more on it. Currently i am thinking following way\n\nIn NB API, i am planning to provide an api to fetch all the alive services and in that service, i will omit dead(disabled) services and return only enabled services, so that other services don\u0027t consider them, while making decision.\n\nYour idea seems to be better than mine. I would like to hear more explanation and views of other people.","commit_id":"cc7edc9a215da206314cd79b6879ac6e6b68fe1b"}],"doc/source/specs/services_status.rst":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"7a04d3828325227936b4f752b547eaae2d1a5f04","unresolved":false,"context_lines":[{"line_number":179,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":180,"context_line":"  |  2.  | service show     | Show detailed information of the service to fetch  |"},{"line_number":181,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":182,"context_line":"  |  3.  | service enable   | Enable an already disabled service                 |"},{"line_number":183,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":184,"context_line":"  |  4.  | service disable  | Disable a service                                  |"},{"line_number":185,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Based on *service_down_time* configuration and last_seen_up, disabled field"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6eadb0_44bfe15f","line":184,"range":{"start_line":182,"start_character":5,"end_line":184,"end_character":81},"updated":"2016-12-21 02:15:38.000000000","message":"when you enable/disable service, could you provide some reactions on each service process?\n\ndo they have any callbacks on these operations?","commit_id":"59f0f0b6cc82882a74676090d5a99ad63bd6f665"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"8a3117d216f9b0f5eb6cb93c87197d4427c3da5d","unresolved":false,"context_lines":[{"line_number":179,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":180,"context_line":"  |  2.  | service show     | Show detailed information of the service to fetch  |"},{"line_number":181,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":182,"context_line":"  |  3.  | service enable   | Enable an already disabled service                 |"},{"line_number":183,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":184,"context_line":"  |  4.  | service disable  | Disable a service                                  |"},{"line_number":185,"context_line":"  +------+------------------+----------------------------------------------------+"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Based on *service_down_time* configuration and last_seen_up, disabled field"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da4df55a_71868f66","line":184,"range":{"start_line":182,"start_character":5,"end_line":184,"end_character":81},"in_reply_to":"1a6eadb0_44bfe15f","updated":"2016-12-24 04:44:03.000000000","message":"It is not planned, yet. But it can be extended in future. It was discussed in meeting.","commit_id":"59f0f0b6cc82882a74676090d5a99ad63bd6f665"}]}
