)]}'
{"nova/service.py":[{"author":{"_account_id":22586,"name":"LeonLan","email":"leon.lan@ericsson.com"},"change_message_id":"435db82caf6a74bef08b33e4549b92247b6250e3","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"class ServiceWithAdminState(Service):"},{"line_number":278,"context_line":"    \"\"\"ServiceWithAdminState is similar to the above Service class, but"},{"line_number":279,"context_line":"    it enforces the administrative state (disable/enabled) for the service"},{"line_number":280,"context_line":"    by starting/stopping the RPC server."},{"line_number":281,"context_line":"    \"\"\""},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_117a9ff1","line":279,"range":{"start_line":279,"start_character":35,"end_line":279,"end_character":58},"updated":"2016-07-05 07:11:45.000000000","message":"If the change focuses on the Status of nova service-list (enabled/disabled), suggest to use \"status\" instead of \"state\", because in nova service-list, state is to indicate the binary service is up or down","commit_id":"81814feb4ceaa80a62dc1946753d32e59f6000e9"},{"author":{"_account_id":19912,"name":"Xuanzhou Perry Dong","email":"oss_xzdong@163.com","username":"oss_xzdong"},"change_message_id":"8e5c7a9d24945ab905d215881eb6f984df5d831a","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"class ServiceWithAdminState(Service):"},{"line_number":278,"context_line":"    \"\"\"ServiceWithAdminState is similar to the above Service class, but"},{"line_number":279,"context_line":"    it enforces the administrative state (disable/enabled) for the service"},{"line_number":280,"context_line":"    by starting/stopping the RPC server."},{"line_number":281,"context_line":"    \"\"\""},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_b071ce78","line":279,"range":{"start_line":279,"start_character":35,"end_line":279,"end_character":58},"in_reply_to":"1aa78d24_117a9ff1","updated":"2016-07-06 02:31:12.000000000","message":"Good. Thanks. Done","commit_id":"81814feb4ceaa80a62dc1946753d32e59f6000e9"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4f5aff59b210e787aa057fa458d45b445814adba","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        self.manager.reset()"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"class ServiceWithAdminStatus(Service):"},{"line_number":276,"context_line":"    \"\"\"ServiceWithAdminState is similar to the above Service class, but"},{"line_number":277,"context_line":"    it enforces the administrative status (disable/enabled) for the service"},{"line_number":278,"context_line":"    by starting/stopping the RPC server."}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_0084be5b","line":275,"updated":"2016-11-28 10:50:21.000000000","message":"I think it would be better to have this class extending \u0027service.Service\u0027 then Service to extend ServiceWithAdminStatus","commit_id":"bea481214cce2d7b7c0dfef6c01ba7efd0af533b"},{"author":{"_account_id":19912,"name":"Xuanzhou Perry Dong","email":"oss_xzdong@163.com","username":"oss_xzdong"},"change_message_id":"3739e26cbf13556cc7bc0b598a9952312e1e02bf","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        self.manager.reset()"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"class ServiceWithAdminStatus(Service):"},{"line_number":276,"context_line":"    \"\"\"ServiceWithAdminState is similar to the above Service class, but"},{"line_number":277,"context_line":"    it enforces the administrative status (disable/enabled) for the service"},{"line_number":278,"context_line":"    by starting/stopping the RPC server."}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_33856d59","line":275,"in_reply_to":"5a74a57a_0084be5b","updated":"2016-11-29 03:09:05.000000000","message":"Sahid, thanks for your comments. \n\nIn theory, your suggestion would be preferred and should be done from the beginning when Service is introduced. \n\nIn practical, since a lot of service are using Service, it would have wide impacts if Service is extended from this class. The current approach is to limit the impact and try to get the correction in for Console Service only. The next step would be directly modify the Service class, make the fix available to all services using Service class and have more testing to other services using Service class.","commit_id":"bea481214cce2d7b7c0dfef6c01ba7efd0af533b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4f5aff59b210e787aa057fa458d45b445814adba","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def rpc_status_check(self):"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        if self.service_ref.disabled:"},{"line_number":296,"context_line":"            self.disable_rpc()"},{"line_number":297,"context_line":"        else:"},{"line_number":298,"context_line":"            self.enable_rpc()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_c032c6f1","line":295,"updated":"2016-11-28 10:50:21.000000000","message":"It\u0027s not clear for me when this get updated ?","commit_id":"bea481214cce2d7b7c0dfef6c01ba7efd0af533b"},{"author":{"_account_id":19912,"name":"Xuanzhou Perry Dong","email":"oss_xzdong@163.com","username":"oss_xzdong"},"change_message_id":"3739e26cbf13556cc7bc0b598a9952312e1e02bf","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def rpc_status_check(self):"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        if self.service_ref.disabled:"},{"line_number":296,"context_line":"            self.disable_rpc()"},{"line_number":297,"context_line":"        else:"},{"line_number":298,"context_line":"            self.enable_rpc()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_89cc4ebc","line":295,"in_reply_to":"5a74a57a_c032c6f1","updated":"2016-11-29 03:09:05.000000000","message":"service_ref.disabled refers to the \"disabled\" field of objects.Service. It would be updated when \"nova service-disable\" command is executed. \n\nservice_ref.disabled is updated by nova.servicegroup.drivers.db._report_state method. This method is executed periodically (as configured by report_interval) and calls objects.Service.save to save the changes. The objects.Service.save method will read back the latest data from database after saving the updates (the updated \"disabled\" field would then be available to the service_ref object). \n\nThis is existing behavior and this commit doesn\u0027t change it.","commit_id":"bea481214cce2d7b7c0dfef6c01ba7efd0af533b"}]}
