)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"f946f90b0d76ea324f1997d124fee5d8da382cec","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce lifecycle operator to openstack app"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A big chunk of logic is moved from sysinv conductor to aplication"},{"line_number":10,"context_line":"itself."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Following hooks were necessary:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"2db5f5c8_76b2e528","line":9,"updated":"2021-01-13 19:42:52.000000000","message":"sp: application","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"23f7bdcda6fd7b080b0f74068d4b669f2791df19","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce lifecycle operator to openstack app"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A big chunk of logic is moved from sysinv conductor to aplication"},{"line_number":10,"context_line":"itself."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Following hooks were necessary:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"d34ac27e_3d0cc6d8","line":9,"in_reply_to":"2db5f5c8_76b2e528","updated":"2021-01-13 21:34:46.000000000","message":"Done","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"}],"python-k8sapp-openstack/k8sapp_openstack/k8sapp_openstack/lifecycle/lifecycle_openstack.py":[{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"f946f90b0d76ea324f1997d124fee5d8da382cec","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                    return self.post_remove(context, conductor_obj, hook_info)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Pre apply manifest"},{"line_number":52,"context_line":"        if hook_info.lifecycle_type \u003d\u003d constants.APP_LIFECYCLE_TYPE_MANIFEST and \\"},{"line_number":53,"context_line":"                hook_info.operation \u003d\u003d constants.APP_APPLY_OP and \\"},{"line_number":54,"context_line":"                hook_info.relative_timing \u003d\u003d constants.APP_LIFECYCLE_TIMING_PRE:"},{"line_number":55,"context_line":"            return self.pre_manifest_apply(app, app_op, hook_info)"}],"source_content_type":"text/x-python","patch_set":4,"id":"381f0e11_7f613e1e","line":52,"updated":"2021-01-13 19:42:52.000000000","message":"Consider making these top level lifecycle_type checks if-elif as opposed to a set of ifs since each call will only have a single type.","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"23f7bdcda6fd7b080b0f74068d4b669f2791df19","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    return self.post_remove(context, conductor_obj, hook_info)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Pre apply manifest"},{"line_number":52,"context_line":"        if hook_info.lifecycle_type \u003d\u003d constants.APP_LIFECYCLE_TYPE_MANIFEST and \\"},{"line_number":53,"context_line":"                hook_info.operation \u003d\u003d constants.APP_APPLY_OP and \\"},{"line_number":54,"context_line":"                hook_info.relative_timing \u003d\u003d constants.APP_LIFECYCLE_TIMING_PRE:"},{"line_number":55,"context_line":"            return self.pre_manifest_apply(app, app_op, hook_info)"}],"source_content_type":"text/x-python","patch_set":4,"id":"cf6707f3_4a6f2e7a","line":52,"in_reply_to":"381f0e11_7f613e1e","updated":"2021-01-13 21:34:46.000000000","message":"Done","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"f946f90b0d76ea324f1997d124fee5d8da382cec","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        if LifecycleConstants.APP_APPLIED not in hook_info[LifecycleConstants.EXTRA]:"},{"line_number":103,"context_line":"            raise exception.LifecycleMissingInfo("},{"line_number":104,"context_line":"                \"Missing {} {}\".format(LifecycleConstants.EXTRA, LifecycleConstants.APP_APPLIED))"},{"line_number":105,"context_line":"        if \u0027was_applied\u0027 not in hook_info[LifecycleConstants.EXTRA]:"},{"line_number":106,"context_line":"            raise exception.LifecycleMissingInfo(\"Missing {} {}\".format(LifecycleConstants.EXTRA, \u0027was_applied\u0027))"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if hook_info[LifecycleConstants.EXTRA][LifecycleConstants.APP_APPLIED] and \\"}],"source_content_type":"text/x-python","patch_set":4,"id":"de3e4439_c1f189e8","line":105,"updated":"2021-01-13 19:42:52.000000000","message":"\u0027was_applied\u0027 is used in multiple places. General rule is to turn multi-use strings into a constant. A single use string is fine without a constant. As this is specific to this plugin, can just add it to the class above.","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"},{"author":{"_account_id":30852,"name":"Dan Voiculeasa","email":"Dan.Voiculeasa@windriver.com","username":"dvoicule"},"change_message_id":"23f7bdcda6fd7b080b0f74068d4b669f2791df19","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        if LifecycleConstants.APP_APPLIED not in hook_info[LifecycleConstants.EXTRA]:"},{"line_number":103,"context_line":"            raise exception.LifecycleMissingInfo("},{"line_number":104,"context_line":"                \"Missing {} {}\".format(LifecycleConstants.EXTRA, LifecycleConstants.APP_APPLIED))"},{"line_number":105,"context_line":"        if \u0027was_applied\u0027 not in hook_info[LifecycleConstants.EXTRA]:"},{"line_number":106,"context_line":"            raise exception.LifecycleMissingInfo(\"Missing {} {}\".format(LifecycleConstants.EXTRA, \u0027was_applied\u0027))"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if hook_info[LifecycleConstants.EXTRA][LifecycleConstants.APP_APPLIED] and \\"}],"source_content_type":"text/x-python","patch_set":4,"id":"53574ee3_77760d3f","line":105,"in_reply_to":"de3e4439_c1f189e8","updated":"2021-01-13 21:34:46.000000000","message":"Done","commit_id":"5b1391e21a83ae599ede189cf9a84708e71150c0"}]}
