)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"22921cf7690dbf5ae94b7b337c125a6e14b3cde6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"are removed during the image chache manager\u0027s periodic task while"},{"line_number":11,"context_line":"the ephemeral backing files are never deleted. This is a long standing"},{"line_number":12,"context_line":"bug and this patch proposes to remove the ephemeral backing files in"},{"line_number":13,"context_line":"the same way as the swap files."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ibf722265a4450fb81d40dee635667e39bc5b3edc"},{"line_number":16,"context_line":"Closes-bug: #1602193"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_7f0bc123","line":13,"range":{"start_line":13,"start_character":13,"end_line":13,"end_character":19},"updated":"2019-10-18 11:11:00.000000000","message":"nit: as for the","commit_id":"b509dcc0ae2501db18e52ac0cfa20880ff9dbc0c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8958699aac956f9d3718d5586bed5de021e5ba71","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Include removal of ephemeral backing files in the image cache manager"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If CONF.image_cache.remove_unused_base_images is True, the base and"},{"line_number":10,"context_line":"swap files are removed during the image chache manager\u0027s periodic"},{"line_number":11,"context_line":"task while the ephemeral backing files are never deleted. This is a"},{"line_number":12,"context_line":"long standing bug and this patch proposes to remove the ephemeral"},{"line_number":13,"context_line":"backing files in the same way as for the swap files."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_8ed21c5b","line":10,"range":{"start_line":10,"start_character":40,"end_line":10,"end_character":46},"updated":"2019-11-26 17:10:06.000000000","message":"cache","commit_id":"ee528bd56d3c16321d1eb1999fe8aa3c25654eb8"}],"nova/tests/unit/virt/libvirt/test_imagecache.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"108d33e3ebd414453cbf7b402cbe96ef57ef9bc3","unresolved":false,"context_lines":[{"line_number":682,"context_line":"    @mock.patch(\u0027nova.privsep.path.utime\u0027)"},{"line_number":683,"context_line":"    def test_age_and_verify_ephemeral_images(self, mock_utime, mock_remove,"},{"line_number":684,"context_line":"            mock_getmtime, mock_exist, mock_lock):"},{"line_number":685,"context_line":"        base_dir \u003d \u0027/tmp_age_test\u0027"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        image_cache_manager \u003d imagecache.ImageCacheManager()"},{"line_number":688,"context_line":"        expected_remove \u003d set()"},{"line_number":689,"context_line":"        expected_exist \u003d set([\u0027ephemeral_456_40d1d2c\u0027, \u0027ephemeral_2_41e1f2c\u0027])"},{"line_number":690,"context_line":""},{"line_number":691,"context_line":"        image_cache_manager.back_ephemeral_images.add(\u0027ephemeral_456_40d1d2c\u0027)"},{"line_number":692,"context_line":"        image_cache_manager.back_ephemeral_images.add(\u0027ephemeral_2_41e1f2c\u0027)"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        image_cache_manager.used_ephemeral_images.add(\u0027ephemeral_2_41e1f2c\u0027)"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"        mock_getmtime.side_effect \u003d lambda path: time.time() - 1000000"},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_c54f8633","line":694,"range":{"start_line":685,"start_character":0,"end_line":694,"end_character":76},"updated":"2019-11-27 10:43:46.000000000","message":"supernit - I don\u0027t think you need all of this whitespace.","commit_id":"ee528bd56d3c16321d1eb1999fe8aa3c25654eb8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"108d33e3ebd414453cbf7b402cbe96ef57ef9bc3","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        def removefile(path):"},{"line_number":703,"context_line":"            self.assertEqual(base_dir, os.path.dirname(path),"},{"line_number":704,"context_line":"                             \u0027Attempt to remove unexpected path\u0027)"},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"            fn \u003d os.path.basename(path)"},{"line_number":707,"context_line":"            expected_remove.add(fn)"},{"line_number":708,"context_line":"            expected_exist.remove(fn)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_e54c0241","line":705,"updated":"2019-11-27 10:43:46.000000000","message":"As above.","commit_id":"ee528bd56d3c16321d1eb1999fe8aa3c25654eb8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"108d33e3ebd414453cbf7b402cbe96ef57ef9bc3","unresolved":false,"context_lines":[{"line_number":706,"context_line":"            fn \u003d os.path.basename(path)"},{"line_number":707,"context_line":"            expected_remove.add(fn)"},{"line_number":708,"context_line":"            expected_exist.remove(fn)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        mock_remove.side_effect \u003d removefile"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"        image_cache_manager._age_and_verify_ephemeral_images(None, base_dir)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_4555d6c1","line":709,"updated":"2019-11-27 10:43:46.000000000","message":"As above.","commit_id":"ee528bd56d3c16321d1eb1999fe8aa3c25654eb8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3cffd278a6f26e9efbe8060fa578469f5ef9429a","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        mock_exist.side_effect \u003d \\"},{"line_number":694,"context_line":"            lambda path: os.path.dirname(path) \u003d\u003d base_dir and \\"},{"line_number":695,"context_line":"                         os.path.basename(path) in expected_exist"},{"line_number":696,"context_line":"        def removefile(path):"},{"line_number":697,"context_line":"            self.assertEqual(base_dir, os.path.dirname(path),"},{"line_number":698,"context_line":"                             \u0027Attempt to remove unexpected path\u0027)"},{"line_number":699,"context_line":"            fn \u003d os.path.basename(path)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_f0caef4c","line":696,"updated":"2020-05-27 22:40:33.000000000","message":"pep8: E306 expected 1 blank line before a nested definition, found 0","commit_id":"bab0d676df5eac73938fad0ea20c147e3166eff5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d57a504e55619d47b7e6effbb4879636eec2255e","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        mock_exist.side_effect \u003d \\"},{"line_number":694,"context_line":"            lambda path: os.path.dirname(path) \u003d\u003d base_dir and \\"},{"line_number":695,"context_line":"                         os.path.basename(path) in expected_exist"},{"line_number":696,"context_line":"        def removefile(path):"},{"line_number":697,"context_line":"            self.assertEqual(base_dir, os.path.dirname(path),"},{"line_number":698,"context_line":"                             \u0027Attempt to remove unexpected path\u0027)"},{"line_number":699,"context_line":"            fn \u003d os.path.basename(path)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_c65db57a","line":696,"updated":"2020-09-15 11:37:35.000000000","message":"pep8: E306 expected 1 blank line before a nested definition, found 0","commit_id":"7406aa5daf9cd336f5a128f16f1e110203fc0477"}]}
