)]}'
{"ironic/conductor/manager.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"bda51de2aa89e3ae18207b290d11a03152dc8d4c","unresolved":false,"context_lines":[{"line_number":2044,"context_line":"                                          shared\u003dTrue,"},{"line_number":2045,"context_line":"                                          purpose\u003dlock_purpose) as task:"},{"line_number":2046,"context_line":"                    if (not getattr(task.driver, \u0027management\u0027, None) or"},{"line_number":2047,"context_line":"                        task.node.maintenance):"},{"line_number":2048,"context_line":"                        continue"},{"line_number":2049,"context_line":"                    task.driver.management.validate(task)"},{"line_number":2050,"context_line":"                    sensors_data \u003d task.driver.management.get_sensors_data("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_3c72767d","line":2047,"updated":"2016-12-29 17:39:24.000000000","message":"What\u0027s the reason of making it here instead of filtering such nodes from \u0027nodes\u0027 queue on a higher level?","commit_id":"a4c36bc25ab2f40e78ff67c32b6aa346947ff062"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a259c94f4afd09099ae0d9615f634c14b70c75cf","unresolved":false,"context_lines":[{"line_number":2044,"context_line":"                                          shared\u003dTrue,"},{"line_number":2045,"context_line":"                                          purpose\u003dlock_purpose) as task:"},{"line_number":2046,"context_line":"                    if (not getattr(task.driver, \u0027management\u0027, None) or"},{"line_number":2047,"context_line":"                        task.node.maintenance):"},{"line_number":2048,"context_line":"                        continue"},{"line_number":2049,"context_line":"                    task.driver.management.validate(task)"},{"line_number":2050,"context_line":"                    sensors_data \u003d task.driver.management.get_sensors_data("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_5ccad350","line":2047,"in_reply_to":"ba5201f7_3c72767d","updated":"2016-12-30 07:43:23.000000000","message":"OK, I see now, so that while the periodic task is executed noone sets the maintenance and get_sensors_data should not be executed in this case.","commit_id":"a4c36bc25ab2f40e78ff67c32b6aa346947ff062"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"68c3ac95f0352044900082e3088031f22da6cecf","unresolved":false,"context_lines":[{"line_number":2045,"context_line":"                                          shared\u003dTrue,"},{"line_number":2046,"context_line":"                                          purpose\u003dlock_purpose) as task:"},{"line_number":2047,"context_line":"                    if (not getattr(task.driver, \u0027management\u0027, None) or"},{"line_number":2048,"context_line":"                        task.node.maintenance):"},{"line_number":2049,"context_line":"                        continue"},{"line_number":2050,"context_line":"                    task.driver.management.validate(task)"},{"line_number":2051,"context_line":"                    sensors_data \u003d task.driver.management.get_sensors_data("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a3905b3_70f8ae4a","line":2048,"updated":"2017-01-24 17:57:10.000000000","message":"we need a note here why not send sensors data in maintenance.","commit_id":"48aa89e02274862c21b1043de921b2144ca1b03a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"15630e9b9dc1430f5519b925dce56efef9b54a39","unresolved":false,"context_lines":[{"line_number":2190,"context_line":"                        continue"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"                    if task.node.maintenance:"},{"line_number":2193,"context_line":"                        LOG.debug(\u0027Skipping sending sensors data for node \u0027"},{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_c467ebe8","line":2193,"updated":"2018-02-12 20:25:19.000000000","message":"I just want to check that we\u0027re ok with this. This call is done in a periodic task (every 600 sec/10 min by default), so for every node that is in maintenance, we\u0027re going to be logging this in debug.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"1957e7484e3b774c1706faa99a1fcc3e2a36f5bb","unresolved":false,"context_lines":[{"line_number":2190,"context_line":"                        continue"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"                    if task.node.maintenance:"},{"line_number":2193,"context_line":"                        LOG.debug(\u0027Skipping sending sensors data for node \u0027"},{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_2b80c9f4","line":2193,"in_reply_to":"3fa0c359_c07ca973","updated":"2018-02-13 14:37:22.000000000","message":"Ok. Thank you.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e9d6b778971e7e019f127695c4ef7015c49dc4ff","unresolved":false,"context_lines":[{"line_number":2190,"context_line":"                        continue"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"                    if task.node.maintenance:"},{"line_number":2193,"context_line":"                        LOG.debug(\u0027Skipping sending sensors data for node \u0027"},{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_82a0e191","line":2193,"in_reply_to":"3fa0c359_c07ca973","updated":"2018-02-13 13:35:26.000000000","message":"okey dokey","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d947ea1a4cf04c3257989c3346b875ca6bd9b3ca","unresolved":false,"context_lines":[{"line_number":2190,"context_line":"                        continue"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"                    if task.node.maintenance:"},{"line_number":2193,"context_line":"                        LOG.debug(\u0027Skipping sending sensors data for node \u0027"},{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_df4ecd95","line":2193,"in_reply_to":"3fa0c359_c467ebe8","updated":"2018-02-13 03:50:35.000000000","message":"I also had a similar feeling, but given that its a debug level, I felt it would be ok. But would like to wait for others opinion.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b890d1e59dfeaa30454afcfa07fafd50604b84de","unresolved":false,"context_lines":[{"line_number":2190,"context_line":"                        continue"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"                    if task.node.maintenance:"},{"line_number":2193,"context_line":"                        LOG.debug(\u0027Skipping sending sensors data for node \u0027"},{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_c07ca973","line":2193,"in_reply_to":"3fa0c359_df4ecd95","updated":"2018-02-13 09:14:14.000000000","message":"I think it\u0027s okay, given that it\u0027s DEBUG and the maintenance mode is somewhat exceptional.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"67f6941897302ef50c25b655b16aae47d6077b5e","unresolved":false,"context_lines":[{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"},{"line_number":2197,"context_line":""},{"line_number":2198,"context_line":"                    task.driver.management.validate(task)"},{"line_number":2199,"context_line":"                    sensors_data \u003d task.driver.management.get_sensors_data("},{"line_number":2200,"context_line":"                        task)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_6142cc40","line":2197,"updated":"2018-02-09 01:35:16.000000000","message":"I\u0027m kinda feel the code is better if the maintenance check is placed before driver.management check, not a big deal though.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"15630e9b9dc1430f5519b925dce56efef9b54a39","unresolved":false,"context_lines":[{"line_number":2194,"context_line":"                                  \u0027%s as it is in maintenance mode\u0027,"},{"line_number":2195,"context_line":"                                  task.node.uuid)"},{"line_number":2196,"context_line":"                        continue"},{"line_number":2197,"context_line":""},{"line_number":2198,"context_line":"                    task.driver.management.validate(task)"},{"line_number":2199,"context_line":"                    sensors_data \u003d task.driver.management.get_sensors_data("},{"line_number":2200,"context_line":"                        task)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_646297da","line":2197,"in_reply_to":"3fa0c359_6142cc40","updated":"2018-02-12 20:25:19.000000000","message":"Given the logging being done, I like the ordering of code as-is.","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"}],"ironic/tests/unit/conductor/test_manager.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"15630e9b9dc1430f5519b925dce56efef9b54a39","unresolved":false,"context_lines":[{"line_number":3660,"context_line":"        task.driver \u003d self.driver"},{"line_number":3661,"context_line":"        task.node.maintenance \u003d True"},{"line_number":3662,"context_line":"        with mock.patch.object(self.driver.management,"},{"line_number":3663,"context_line":"                               \u0027get_sensors_data\u0027) as get_sensors_data_mock:"},{"line_number":3664,"context_line":"            with mock.patch.object(self.driver.management,"},{"line_number":3665,"context_line":"                                   \u0027validate\u0027) as validate_mock:"},{"line_number":3666,"context_line":"                self.service._sensors_nodes_task(self.context, nodes)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_243a4f98","line":3663,"updated":"2018-02-12 20:25:19.000000000","message":"nit, I think we prefer specifying autospec\u003dTrue","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"15630e9b9dc1430f5519b925dce56efef9b54a39","unresolved":false,"context_lines":[{"line_number":3662,"context_line":"        with mock.patch.object(self.driver.management,"},{"line_number":3663,"context_line":"                               \u0027get_sensors_data\u0027) as get_sensors_data_mock:"},{"line_number":3664,"context_line":"            with mock.patch.object(self.driver.management,"},{"line_number":3665,"context_line":"                                   \u0027validate\u0027) as validate_mock:"},{"line_number":3666,"context_line":"                self.service._sensors_nodes_task(self.context, nodes)"},{"line_number":3667,"context_line":"                self.assertTrue(acquire_mock.called)"},{"line_number":3668,"context_line":"                self.assertFalse(validate_mock.called)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_443d1b8d","line":3665,"updated":"2018-02-12 20:25:19.000000000","message":"ditto","commit_id":"21ef50e898dfbcccf77c1024a810ac7ecade9f72"}],"releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"68c3ac95f0352044900082e3088031f22da6cecf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - For nodes in maintenance mode ironic does not send sensors data."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a3905b3_f0d49ebe","line":3,"updated":"2017-01-24 17:57:10.000000000","message":"Not sure that fixes section is correct. This change fixes unpredictable results in getting sensors data if want to put this in fixes.\notherwise it looks like we will send sensors data even for maintenance mode.","commit_id":"48aa89e02274862c21b1043de921b2144ca1b03a"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"0d1cbb1e09eef8f2f7ac4e4e3def844112daaeea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - For nodes in maintenance mode ironic does not send sensors data."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3a461143_0fbf2cd1","line":3,"in_reply_to":"5a3905b3_f0d49ebe","updated":"2017-01-25 23:23:25.000000000","message":"maybe\n\n\"Ironic will no longer send sensor data for nodes in maintenance mode.\"\n\nis clearer?","commit_id":"48aa89e02274862c21b1043de921b2144ca1b03a"}]}
