)]}'
{"ironic/drivers/modules/pxe.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"715c8020034a7a4e765383fe1b3826bcff1f84de","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        _destroy_token_file(node)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        if \u0027pxe_deploy_key\u0027 in node.driver_info:"},{"line_number":570,"context_line":"            del node.driver_info[\u0027pxe_deploy_key\u0027]"},{"line_number":571,"context_line":"            node.save(task.context)"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    def take_over(self, task, node):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F9XXQ%3D","line":570,"updated":"2014-02-07 12:36:41.000000000","message":"This not touch _changed_fields in object, and save() do nothing IMO.","commit_id":"0334d209c7053c2e0c192703946ad48706f92840"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"7d1331a9c222ec52a3ecd31547ede5dde5a64f4e","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        _destroy_token_file(node)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        driver_info \u003d node.driver_info"},{"line_number":570,"context_line":"        if \u0027pxe_deploy_key\u0027 in driver_info:"},{"line_number":571,"context_line":"            del driver_info[\u0027pxe_deploy_key\u0027]"},{"line_number":572,"context_line":"            node.driver_info \u003d driver_info"},{"line_number":573,"context_line":"            node.save(task.context)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F9WwY%3D","line":570,"updated":"2014-02-07 14:12:43.000000000","message":"driver_info.pop(\u0027pxe_deploy_key\u0027, None) ?","commit_id":"40bccfacac48ba5079bf2e2a727e6d3cb32a2394"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"a60b5d2fe08eef48c2ba7a1e2d679f0f9b919809","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        _destroy_token_file(node)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        driver_info \u003d node.driver_info"},{"line_number":570,"context_line":"        if \u0027pxe_deploy_key\u0027 in driver_info:"},{"line_number":571,"context_line":"            del driver_info[\u0027pxe_deploy_key\u0027]"},{"line_number":572,"context_line":"            node.driver_info \u003d driver_info"},{"line_number":573,"context_line":"            node.save(task.context)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F9WuQ%3D","line":570,"in_reply_to":"AAAAUH%2F9WwY%3D","updated":"2014-02-07 14:17:19.000000000","message":"hah +1! fixing!","commit_id":"40bccfacac48ba5079bf2e2a727e6d3cb32a2394"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"e73ee0a939bc14d7a6bcaeee61364acab475e7c4","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        _destroy_token_file(node)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        driver_info \u003d node.driver_info"},{"line_number":570,"context_line":"        if driver_info.pop(\u0027pxe_deploy_key\u0027, None):"},{"line_number":571,"context_line":"            node.driver_info \u003d driver_info"},{"line_number":572,"context_line":"            node.save(task.context)"},{"line_number":573,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAU3%2F%2Fu5o%3D","line":570,"updated":"2014-02-25 02:11:13.000000000","message":"this should be moved to tear_down, because clean_up may be called on a conductor that is evacuating [*] a node, even when that node is still active (and managed by another conductor)\\\n\n\n[*] I haven\u0027t implemented evacuate yet ...","commit_id":"24fbb98a49de0da37969409da9e9b21a1da67d79"}],"ironic/tests/drivers/test_pxe.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"715c8020034a7a4e765383fe1b3826bcff1f84de","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                                 pxe_mac_path, image_dir, instance_dir]"},{"line_number":735,"context_line":"            for path in assert_false_path:"},{"line_number":736,"context_line":"                self.assertFalse(os.path.exists(path))"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"            assert \u0027pxe_deploy_key\u0027 not in self.node.driver_info"},{"line_number":739,"context_line":""},{"line_number":740,"context_line":"    def test_clean_up_removes_token_file(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F9XYs%3D","line":737,"updated":"2014-02-07 12:36:41.000000000","message":"Please add self.node.refresh(self.context) and you will see that deploy key not dropped.","commit_id":"0334d209c7053c2e0c192703946ad48706f92840"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"715c8020034a7a4e765383fe1b3826bcff1f84de","unresolved":false,"context_lines":[{"line_number":735,"context_line":"            for path in assert_false_path:"},{"line_number":736,"context_line":"                self.assertFalse(os.path.exists(path))"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"            assert \u0027pxe_deploy_key\u0027 not in self.node.driver_info"},{"line_number":739,"context_line":""},{"line_number":740,"context_line":"    def test_clean_up_removes_token_file(self):"},{"line_number":741,"context_line":"        token_path \u003d self._create_token_file()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F9Xeg%3D","line":738,"updated":"2014-02-07 12:36:41.000000000","message":"self.assertNotIn(\u0027pxe_deploy_key\u0027, self.node.driver_info)","commit_id":"0334d209c7053c2e0c192703946ad48706f92840"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"42d14fa6615222fb622f941cde61fd06b23039be","unresolved":false,"context_lines":[{"line_number":736,"context_line":"                self.assertFalse(os.path.exists(path))"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"            self.node.refresh(self.context)"},{"line_number":739,"context_line":"            self.assertNotIn(\u0027pxe_deploy_key\u0027, self.node.driver_info)"},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def test_clean_up_removes_token_file(self):"},{"line_number":742,"context_line":"        token_path \u003d self._create_token_file()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FAtU%3D","line":739,"updated":"2014-02-17 16:55:22.000000000","message":"This assert is meaningless -- pxe_deploy_key wasn\u0027t in driver_info to begin with.","commit_id":"d8958d00b7bfa41cac6da1bc9bc9f510042c2b6a"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"13ad814918873d880852d537a2a1f09fd2f72291","unresolved":false,"context_lines":[{"line_number":736,"context_line":"                self.assertFalse(os.path.exists(path))"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"            self.node.refresh(self.context)"},{"line_number":739,"context_line":"            self.assertNotIn(\u0027pxe_deploy_key\u0027, self.node.driver_info)"},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def test_clean_up_removes_token_file(self):"},{"line_number":742,"context_line":"        token_path \u003d self._create_token_file()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FArE%3D","line":739,"in_reply_to":"AAAAUX%2F%2FAtU%3D","updated":"2014-02-17 17:00:32.000000000","message":"^D^D\n\nIt was there, just not within this method, so asserting *here* isn\u0027t a meaningful test.\n\nI think this should be a separate test.","commit_id":"d8958d00b7bfa41cac6da1bc9bc9f510042c2b6a"}]}
