)]}'
{"ironic/conductor/base_manager.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"284988e09f83cf673d5f47aa27115f9cffe4c3bc","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        self._shutdown \u003d True"},{"line_number":298,"context_line":"        self._keepalive_evt.set()"},{"line_number":299,"context_line":"        # clear all locks held by this conductor before deregistering"},{"line_number":300,"context_line":"        self.dbapi.clear_node_reservations_for_conductor(self.host)"},{"line_number":301,"context_line":"        if deregister:"},{"line_number":302,"context_line":"            try:"},{"line_number":303,"context_line":"                # Inform the cluster that this conductor is shutting down."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_8cc71346","line":300,"updated":"2020-04-17 03:18:31.000000000","message":"It seems reasonable to move this logic into L306.","commit_id":"861f35b038431f64dbc29c64a230461efa41b60e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"5c2389d673eac3d204d198079038f11da0a1cbf9","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        self._shutdown \u003d True"},{"line_number":298,"context_line":"        self._keepalive_evt.set()"},{"line_number":299,"context_line":"        # clear all locks held by this conductor before deregistering"},{"line_number":300,"context_line":"        self.dbapi.clear_node_reservations_for_conductor(self.host)"},{"line_number":301,"context_line":"        if deregister:"},{"line_number":302,"context_line":"            try:"},{"line_number":303,"context_line":"                # Inform the cluster that this conductor is shutting down."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_f2030cb7","line":300,"in_reply_to":"3f4c43b2_2707f884","updated":"2020-04-17 07:43:18.000000000","message":"We have a signal path controlling this behavior, I am just not sure if this is correct to not respect that, since I am not sure the use case for that path.","commit_id":"861f35b038431f64dbc29c64a230461efa41b60e"},{"author":{"_account_id":29139,"name":"shenxindi","email":"shenxindi_yewu@cmss.chinamobile.com","username":"shenxindi"},"change_message_id":"f74864456300e70b942aca78a7d8a651eb3343b7","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        self._shutdown \u003d True"},{"line_number":298,"context_line":"        self._keepalive_evt.set()"},{"line_number":299,"context_line":"        # clear all locks held by this conductor before deregistering"},{"line_number":300,"context_line":"        self.dbapi.clear_node_reservations_for_conductor(self.host)"},{"line_number":301,"context_line":"        if deregister:"},{"line_number":302,"context_line":"            try:"},{"line_number":303,"context_line":"                # Inform the cluster that this conductor is shutting down."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_2707f884","line":300,"in_reply_to":"3f4c43b2_8cc71346","updated":"2020-04-17 05:56:19.000000000","message":"No matter deregister is True or False，node reservation should always be cleared","commit_id":"861f35b038431f64dbc29c64a230461efa41b60e"}],"ironic/tests/unit/conductor/test_base_manager.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5effbf452a279c82c2c3b8b4474481bc3ff6638a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        self.assertIsNone(node.reservation)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_stop_clears_conductor_locks(self):"},{"line_number":69,"context_line":"        node \u003d obj_utils.create_test_node(self.context,"},{"line_number":70,"context_line":"                                          reservation\u003dself.hostname)"},{"line_number":71,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_5450e95e","line":68,"updated":"2020-04-08 11:54:07.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"792419c0651506e6d806b312c00233e145a8d41c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5effbf452a279c82c2c3b8b4474481bc3ff6638a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.assertIsNone(node.reservation)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_stop_unregisters_conductor(self):"},{"line_number":81,"context_line":"        self._start_service()"},{"line_number":82,"context_line":"        res \u003d objects.Conductor.get_by_hostname(self.context, self.hostname)"},{"line_number":83,"context_line":"        self.assertEqual(self.hostname, res[\u0027hostname\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b44fb5bb","line":80,"updated":"2020-04-08 11:54:07.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"792419c0651506e6d806b312c00233e145a8d41c"}]}
