)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"fc569fe3a87ec7c90e8c556b9d1b62a007dad783","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This will add the source and destination firewall group id to"},{"line_number":10,"context_line":"firewall rules."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If69b87fc58d36aa7d879ace8e73bc0f7534a1ef4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_fbca2344","line":11,"updated":"2018-06-07 14:33:16.000000000","message":"Please add \u0027Depends-On: I63cfddbb1fdadb41451088d640a4d2363dc420b0\u0027.","commit_id":"d4ba05e0024e76535b432d3fe47aab59a0318ef0"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"37464f0b565bafa7bb0280c4b07640badc678850","unresolved":false,"context_lines":[{"line_number":10,"context_line":"firewall rules."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I05ea09217e4ce019cba5f357f35e17cc8d2e59d9"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If69b87fc58d36aa7d879ace8e73bc0f7534a1ef4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5f7c97a3_f90e1d31","line":13,"updated":"2018-08-02 05:01:50.000000000","message":"Sorry German.  This bug caused by osc-lib.  Therefore, please spceify \".Ie10063197f02679e987e87cb4852f5230a02f76d\" as \"Depends-On\"","commit_id":"b578e0a66f4331a31a55b954ad4d3c030a585770"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"15fabb0193434ea33c90f0d5ad0317c7c312a7f4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"firewall rules."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I05ea09217e4ce019cba5f357f35e17cc8d2e59d9"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If69b87fc58d36aa7d879ace8e73bc0f7534a1ef4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3f79a3b5_64a17a94","line":13,"in_reply_to":"5f7c97a3_f90e1d31","updated":"2018-08-10 02:57:15.000000000","message":"This patch has already merged.  So, not necessary at present.","commit_id":"b578e0a66f4331a31a55b954ad4d3c030a585770"}],"neutronclient/osc/v2/fwaas/firewallrule.py":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"ddfcf05485760b5657c8b997036c7c15c25f9437","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    dst_fwg_group.add_argument("},{"line_number":167,"context_line":"        \u0027--no-destination-firewall-group\u0027,"},{"line_number":168,"context_line":"        action\u003d\u0027store_true\u0027,"},{"line_number":169,"context_line":"        help\u003d_(\u0027Detach source firewall group\u0027))"},{"line_number":170,"context_line":"    return parser"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_eb4d233c","line":169,"range":{"start_line":169,"start_character":16,"end_line":169,"end_character":44},"updated":"2018-07-06 06:06:06.000000000","message":"Detach destination firewall group","commit_id":"8e1fdd26e51ad644c95644d3cd0b76f53fb59208"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"857f950a081f9aa13467fe5a1245fa3066e48eab","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    dst_fwg_group.add_argument("},{"line_number":167,"context_line":"        \u0027--no-destination-firewall-group\u0027,"},{"line_number":168,"context_line":"        action\u003d\u0027store_true\u0027,"},{"line_number":169,"context_line":"        help\u003d_(\u0027Detach source firewall group\u0027))"},{"line_number":170,"context_line":"    return parser"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_048b921d","line":169,"range":{"start_line":169,"start_character":16,"end_line":169,"end_character":44},"in_reply_to":"5f7c97a3_eb4d233c","updated":"2018-07-19 16:23:42.000000000","message":"Done","commit_id":"8e1fdd26e51ad644c95644d3cd0b76f53fb59208"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c515943cb3b055301c9f21b3e5a80b292db32ded","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        attrs \u003d _get_common_attrs(self.app.client_manager, parsed_args)"},{"line_number":254,"context_line":"        obj \u003d client.create_fwaas_firewall_rule("},{"line_number":255,"context_line":"            {const.FWR: attrs})[const.FWR]"},{"line_number":256,"context_line":"        if not obj[\u0027protocol\u0027]:"},{"line_number":257,"context_line":"            # there is a bug where it doesn\u0027t convert when the protocol"},{"line_number":258,"context_line":"            # is None"},{"line_number":259,"context_line":"            obj[\u0027protocol\u0027] \u003d \u0027any\u0027"},{"line_number":260,"context_line":"        columns, display_columns \u003d column_util.get_columns(obj, _attr_map)"},{"line_number":261,"context_line":"        data \u003d utils.get_dict_properties(obj, columns, formatters\u003d_formatters)"},{"line_number":262,"context_line":"        return display_columns, data"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1e6cb603","line":259,"range":{"start_line":256,"start_character":0,"end_line":259,"end_character":35},"updated":"2018-07-26 00:17:02.000000000","message":"I think it\u0027s better to fix another patch :)","commit_id":"6c00994d15c593ee35b632305f4a0e2dacaae663"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c515943cb3b055301c9f21b3e5a80b292db32ded","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        client \u003d self.app.client_manager.neutronclient"},{"line_number":335,"context_line":"        obj \u003d client.list_fwaas_firewall_rules()[const.FWRS]"},{"line_number":336,"context_line":"        obj_extend \u003d self.extend_list(obj, parsed_args)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"        headers, columns \u003d column_util.get_column_definitions("},{"line_number":339,"context_line":"            _attr_map, long_listing\u003dparsed_args.long)"},{"line_number":340,"context_line":"        return (headers, (utils.get_dict_properties("}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_5eb54e7c","line":337,"updated":"2018-07-26 00:17:02.000000000","message":"Unrelated change?","commit_id":"6c00994d15c593ee35b632305f4a0e2dacaae663"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c515943cb3b055301c9f21b3e5a80b292db32ded","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            attrs[\u0027shared\u0027] \u003d False"},{"line_number":458,"context_line":"        if parsed_args.enable_rule:"},{"line_number":459,"context_line":"            attrs[\u0027enabled\u0027] \u003d False"},{"line_number":460,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":461,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"},{"line_number":462,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":463,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3e673227","line":460,"range":{"start_line":460,"start_character":23,"end_line":460,"end_character":44},"updated":"2018-07-26 00:17:02.000000000","message":"destination_firewall_group ?","commit_id":"6c00994d15c593ee35b632305f4a0e2dacaae663"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c515943cb3b055301c9f21b3e5a80b292db32ded","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        if parsed_args.enable_rule:"},{"line_number":459,"context_line":"            attrs[\u0027enabled\u0027] \u003d False"},{"line_number":460,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":461,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"},{"line_number":462,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":463,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"},{"line_number":464,"context_line":"        return attrs"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_dea07e39","line":461,"range":{"start_line":461,"start_character":19,"end_line":461,"end_character":45},"updated":"2018-07-26 00:17:02.000000000","message":"destination_firewall_group_id ?","commit_id":"6c00994d15c593ee35b632305f4a0e2dacaae663"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c515943cb3b055301c9f21b3e5a80b292db32ded","unresolved":false,"context_lines":[{"line_number":460,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":461,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"},{"line_number":462,"context_line":"        if parsed_args.source_firewall_group:"},{"line_number":463,"context_line":"            attrs[\u0027destination_firewall_group\u0027] \u003d None"},{"line_number":464,"context_line":"        return attrs"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_9e60c60e","line":463,"range":{"start_line":463,"start_character":19,"end_line":463,"end_character":45},"updated":"2018-07-26 00:17:02.000000000","message":"source_firewall_group_id ?","commit_id":"6c00994d15c593ee35b632305f4a0e2dacaae663"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"072c616a9c32841842eac11f4220027dc9be6a81","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    src_fwg_group.add_argument("},{"line_number":158,"context_line":"        \u0027--no-source-firewall-group\u0027,"},{"line_number":159,"context_line":"        action\u003d\u0027store_true\u0027,"},{"line_number":160,"context_line":"        help\u003d_(\u0027Detach source firewall group\u0027))"},{"line_number":161,"context_line":"    dst_fwg_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":162,"context_line":"    dst_fwg_group.add_argument("},{"line_number":163,"context_line":"        \u0027--destination-firewall-group\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_a865cee2","line":160,"range":{"start_line":160,"start_character":16,"end_line":160,"end_character":22},"updated":"2018-09-07 08:33:50.000000000","message":"This method is used in CreateFirewallRule too, so \"Detach\" sounds tricky. How about \"No associated destination firewall group\"?","commit_id":"ab11ae67b6b750d51280dcf445464b61fa845866"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"072c616a9c32841842eac11f4220027dc9be6a81","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    dst_fwg_group.add_argument("},{"line_number":167,"context_line":"        \u0027--no-destination-firewall-group\u0027,"},{"line_number":168,"context_line":"        action\u003d\u0027store_true\u0027,"},{"line_number":169,"context_line":"        help\u003d_(\u0027Detach destination firewall group\u0027))"},{"line_number":170,"context_line":"    return parser"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_4860bacf","line":169,"range":{"start_line":169,"start_character":16,"end_line":169,"end_character":22},"updated":"2018-09-07 08:33:50.000000000","message":"same as the above.","commit_id":"ab11ae67b6b750d51280dcf445464b61fa845866"}],"releasenotes/notes/remote_fwg-0f5362e5be8b2e84.yaml":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"05d6f125dd893c9a9170ef01c85040d145874bf0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds the remote source firewall group and the remote destination"},{"line_number":5,"context_line":"    firewall group field to the firewall rules. "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_44dc73e0","line":5,"range":{"start_line":5,"start_character":47,"end_line":5,"end_character":48},"updated":"2018-06-21 09:44:12.000000000","message":"nit: whitespace","commit_id":"8e1fdd26e51ad644c95644d3cd0b76f53fb59208"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"857f950a081f9aa13467fe5a1245fa3066e48eab","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds the remote source firewall group and the remote destination"},{"line_number":5,"context_line":"    firewall group field to the firewall rules. "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_8476c23e","line":5,"range":{"start_line":5,"start_character":47,"end_line":5,"end_character":48},"in_reply_to":"5f7c97a3_44dc73e0","updated":"2018-07-19 16:23:42.000000000","message":"Done","commit_id":"8e1fdd26e51ad644c95644d3cd0b76f53fb59208"}]}
