)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"11f501f0bae08edcd2d06319eb0b5f032264f265","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix backup after application removed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5cee82db_29e83d1d","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":45},"updated":"2022-01-24 19:42:37.000000000","message":"grammar nit, should be: \"that calls\"","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":33662,"name":"Daniel Stevens Torres Cardenas","email":"DanielStevens.TorresCardenas@windriver.com","username":"dcardenas"},"change_message_id":"39c2106d762f49a816dd2d5610696ef8be3ee345","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix backup after application removed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"27b594ae_0d54c71f","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":45},"in_reply_to":"5cee82db_29e83d1d","updated":"2022-02-01 12:32:36.000000000","message":"Done","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"11f501f0bae08edcd2d06319eb0b5f032264f265","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Fix backup after application removed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0808ea24_15eb76ad","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":37},"updated":"2022-01-24 19:42:37.000000000","message":"add \"helper function\"","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":33662,"name":"Daniel Stevens Torres Cardenas","email":"DanielStevens.TorresCardenas@windriver.com","username":"dcardenas"},"change_message_id":"39c2106d762f49a816dd2d5610696ef8be3ee345","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix backup after application removed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3b84fd5e_f26dcdcf","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":37},"in_reply_to":"0808ea24_15eb76ad","updated":"2022-02-01 12:32:36.000000000","message":"Done","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"11f501f0bae08edcd2d06319eb0b5f032264f265","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"},{"line_number":14,"context_line":"Closes-Bug: 1955407"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"f805c9dd_ccdfa9d8","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":39},"updated":"2022-01-24 19:42:37.000000000","message":"should be \"delete unused images in order to fit the backup in /opt/platform-backup\"","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":33662,"name":"Daniel Stevens Torres Cardenas","email":"DanielStevens.TorresCardenas@windriver.com","username":"dcardenas"},"change_message_id":"39c2106d762f49a816dd2d5610696ef8be3ee345","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"},{"line_number":14,"context_line":"Closes-Bug: 1955407"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0f03a305_81170669","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":39},"in_reply_to":"f805c9dd_ccdfa9d8","updated":"2022-02-01 12:32:36.000000000","message":"Done","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"11f501f0bae08edcd2d06319eb0b5f032264f265","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Added new function pre_delete such it\u0027ll call"},{"line_number":10,"context_line":"the remove_app_local_registry_images in order to"},{"line_number":11,"context_line":"fit the backup in /opt/platform-backup."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"},{"line_number":14,"context_line":"Closes-Bug: 1955407"},{"line_number":15,"context_line":"Signed-off-by: Daniel Stevens Torres Cardenas \u003cdanielstevens.torrescardenas@windriver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"e3877775_15c90ffd","line":12,"updated":"2022-01-24 19:42:37.000000000","message":"Need to mention what testing has been performed.","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"f22dadd2a7a7b64828bf7ba3d3968d3313b7097b","unresolved":true,"context_lines":[{"line_number":14,"context_line":"/opt/platform-backup."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TEST PLAN:"},{"line_number":17,"context_line":"PASS: Remove/Delete application with a shared image."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/config/+/821774/"},{"line_number":20,"context_line":"Closes-Bug: 1955407"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5cecbef2_fb81439e","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":52},"updated":"2022-02-11 15:34:03.000000000","message":"What about removing an application with a not-shared image?  Or removing an application where the image was already manually deleted from the registry?","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33662,"name":"Daniel Stevens Torres Cardenas","email":"DanielStevens.TorresCardenas@windriver.com","username":"dcardenas"},"change_message_id":"f68027453323319d63606ccc60aced4d5fdfef77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8e742f11_cd7b8e80","updated":"2022-01-24 16:38:29.000000000","message":"recheck","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"607128197354e693ea7356ea899c8f48f9a7651e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4ce456bd_9b962948","updated":"2023-01-17 19:58:36.000000000","message":"I wonder if it would make more sense to just always delete unused images from deleted applications rather than relying on the application to call the helper function.","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"},{"author":{"_account_id":24777,"name":"Steven Webster","email":"steven.webster@windriver.com","username":"swebster"},"change_message_id":"65b62e4de89f2f0247e78657d3d4f3e083f8791d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"17d896c3_3fd821a4","updated":"2023-05-11 18:19:25.000000000","message":"Is this review still active?","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"8232605cede724218188761b1cd075786b376702","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"612ac303_78be570f","updated":"2023-10-03 14:27:19.000000000","message":"No response on review from author for over a year.  Unless further updates, review will be abandoned to keep review queue sane.","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"f7cb18dd5b1ddc6175a90d4589ddc19cf23a864a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2c1d967c_cb75ef81","updated":"2022-02-11 15:31:33.000000000","message":"This looks okay to me, but the one it depends on still has comments that need to be resolved.","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"},{"author":{"_account_id":33594,"name":"Thales Elero Cervi","display_name":"Thales Cervi","email":"thaleselero.cervi@windriver.com","username":"tcervi"},"change_message_id":"0cad54b13740a69ded24018ce81651fb7db0d0b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0dbaa1ed_875e75c3","in_reply_to":"4ce456bd_9b962948","updated":"2023-01-17 22:28:46.000000000","message":"This is very reasonable tbh. Would be better to delegate the unused images deletion to the appfwk instead of relying on apps for it. \n\nThis is why I wondered if this was fixed somewhere else, given the inactive status of this open change.","commit_id":"a6ad383d08c62b68d745adc4c59239205cf5825e"}],"python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/lifecycle/lifecycle_openstack.py":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"11f501f0bae08edcd2d06319eb0b5f032264f265","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                    return self.pre_remove(context, conductor_obj, hook_info)"},{"line_number":50,"context_line":"                elif hook_info.relative_timing \u003d\u003d constants.APP_LIFECYCLE_TIMING_POST:"},{"line_number":51,"context_line":"                    return self.post_remove(context, conductor_obj, hook_info)"},{"line_number":52,"context_line":"            elif hook_info.operation \u003d\u003d constants.APP_DELETE_OP:"},{"line_number":53,"context_line":"                return self.pre_delete(app_op, app, hook_info)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Manifest"},{"line_number":56,"context_line":"        elif hook_info.lifecycle_type \u003d\u003d constants.APP_LIFECYCLE_TYPE_MANIFEST and \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"759c7205_19db4196","line":53,"range":{"start_line":52,"start_character":13,"end_line":53,"end_character":62},"updated":"2022-01-24 19:42:37.000000000","message":"\"pre_delete\" seems odd, wouldn\u0027t we want to remove the docker images after we\u0027ve deleted the application rather than before?   If so, post_delete would seem better.","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"798a3d9a7ece5fe157c74c11899de9f6d92d7e42","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    return self.pre_remove(context, conductor_obj, hook_info)"},{"line_number":50,"context_line":"                elif hook_info.relative_timing \u003d\u003d constants.APP_LIFECYCLE_TIMING_POST:"},{"line_number":51,"context_line":"                    return self.post_remove(context, conductor_obj, hook_info)"},{"line_number":52,"context_line":"            elif hook_info.operation \u003d\u003d constants.APP_DELETE_OP:"},{"line_number":53,"context_line":"                return self.pre_delete(app_op, app, hook_info)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Manifest"},{"line_number":56,"context_line":"        elif hook_info.lifecycle_type \u003d\u003d constants.APP_LIFECYCLE_TYPE_MANIFEST and \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"131e0c4a_10f0a697","line":53,"range":{"start_line":52,"start_character":13,"end_line":53,"end_character":62},"in_reply_to":"759c7205_19db4196","updated":"2022-01-25 16:44:34.000000000","message":"Part of sysinv app delete routine is to remove the necessary resources for plugins, thus there is no post-delete-anything.","commit_id":"f3fc7d075f3e42d90b2c98c859d634920de248a4"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"798a3d9a7ece5fe157c74c11899de9f6d92d7e42","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        :param hook_info: LifecycleHookInfo object"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        \"\"\""},{"line_number":324,"context_line":"        lifecycle_utils.remove_app_local_registry_images(app_op, app, hook_info)"}],"source_content_type":"text/x-python","patch_set":3,"id":"58a9ea73_aa2059dc","line":324,"range":{"start_line":324,"start_character":7,"end_line":324,"end_character":80},"updated":"2022-01-25 16:44:34.000000000","message":"How was this tested? Reading the code .. this shouldn\u0027t work, as AppOperator doesn\u0027t have the docker_get_apps_images field: https://review.opendev.org/c/starlingx/config/+/821774/26/sysinv/sysinv/sysinv/sysinv/helm/lifecycle_utils.py#286\n\nOr am I missing something?","commit_id":"0d8145f66544d3ab58d11a8ce0a695dab5b5b98f"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"b8d8a9c259fd24cbf04eeee5374b63a49fab5056","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        :param hook_info: LifecycleHookInfo object"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        \"\"\""},{"line_number":324,"context_line":"        lifecycle_utils.remove_app_local_registry_images(app_op, app, hook_info)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8622ee77_fa1c13b4","line":324,"range":{"start_line":324,"start_character":7,"end_line":324,"end_character":80},"in_reply_to":"58a9ea73_aa2059dc","updated":"2022-02-11 15:14:28.000000000","message":"Was this ever answered?","commit_id":"0d8145f66544d3ab58d11a8ce0a695dab5b5b98f"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"f7cb18dd5b1ddc6175a90d4589ddc19cf23a864a","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        :param hook_info: LifecycleHookInfo object"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        \"\"\""},{"line_number":324,"context_line":"        lifecycle_utils.remove_app_local_registry_images(app_op, app, hook_info)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a822ca3a_5550d1f6","line":324,"range":{"start_line":324,"start_character":7,"end_line":324,"end_character":80},"in_reply_to":"8622ee77_fa1c13b4","updated":"2022-02-11 15:31:33.000000000","message":"Never mind, I see it switched to conductor_obj","commit_id":"0d8145f66544d3ab58d11a8ce0a695dab5b5b98f"},{"author":{"_account_id":33594,"name":"Thales Elero Cervi","display_name":"Thales Cervi","email":"thaleselero.cervi@windriver.com","username":"tcervi"},"change_message_id":"5f567886ab67eb4b674d58a3632c94b664f816b9","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        :param hook_info: LifecycleHookInfo object"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        \"\"\""},{"line_number":324,"context_line":"        lifecycle_utils.remove_app_local_registry_images(app_op, app, hook_info)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cc9338b3_0ff8227c","line":324,"range":{"start_line":324,"start_character":7,"end_line":324,"end_character":80},"in_reply_to":"a822ca3a_5550d1f6","updated":"2022-12-14 19:54:57.000000000","message":"Was this fix switched to somewhere else? Can we abandon this change?","commit_id":"0d8145f66544d3ab58d11a8ce0a695dab5b5b98f"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"3a4ea21d25d35a85d0d62ccf08ba2868adbb73d3","unresolved":true,"context_lines":[{"line_number":320,"context_line":"        :param app: AppOperator.Application object"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        lifecycle_utils.remove_app_local_registry_images(conductor_obj, app)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3484de4d_e1479d07","line":323,"updated":"2022-01-27 14:20:49.000000000","message":"Based on comments from the dependency review, please pass context also.","commit_id":"ea8d9657129983e1edd1df25359d403cfb6975d3"},{"author":{"_account_id":33662,"name":"Daniel Stevens Torres Cardenas","email":"DanielStevens.TorresCardenas@windriver.com","username":"dcardenas"},"change_message_id":"39c2106d762f49a816dd2d5610696ef8be3ee345","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        :param app: AppOperator.Application object"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        lifecycle_utils.remove_app_local_registry_images(conductor_obj, app)"}],"source_content_type":"text/x-python","patch_set":4,"id":"e711e1cb_0b802d35","line":323,"in_reply_to":"3484de4d_e1479d07","updated":"2022-02-01 12:32:36.000000000","message":"Done","commit_id":"ea8d9657129983e1edd1df25359d403cfb6975d3"}]}
