)]}'
{"tacker/extensions/nfvo.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"class VnffgPathInUse(exceptions.InUse):"},{"line_number":187,"context_line":"    message \u003d _(\u0027VNFFG path %(vnffg_path)s is already existing\u0027)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class NfpAttributeNotFoundException(exceptions.NotFound):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_59e9f917","line":187,"range":{"start_line":187,"start_character":43,"end_line":187,"end_character":62},"updated":"2018-03-04 17:46:07.000000000","message":"\"already exists\" :)","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"}],"tacker/nfvo/drivers/vim/openstack_driver.py":[{"author":{"_account_id":25505,"name":"Dimitrios Markou","email":"dimitrios.markou@att.com","username":"mardim"},"change_message_id":"689b0e288062c9cd8afefc6c384d7f97ac14546d","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            return None"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_8467dcb7","line":397,"range":{"start_line":397,"start_character":19,"end_line":397,"end_character":23},"updated":"2018-02-21 08:26:30.000000000","message":"change this to \u0027list\u0027 so it is more clear.","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"17e8122f39944c92770aa0be0da4c4b5837b3b9c","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            return None"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_184d6b99","line":397,"range":{"start_line":397,"start_character":19,"end_line":397,"end_character":23},"in_reply_to":"3fa0c359_8467dcb7","updated":"2018-02-21 13:07:09.000000000","message":"Done","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":25505,"name":"Dimitrios Markou","email":"dimitrios.markou@att.com","username":"mardim"},"change_message_id":"689b0e288062c9cd8afefc6c384d7f97ac14546d","unresolved":false,"context_lines":[{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"},{"line_number":401,"context_line":"        new_ppgs \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_240608d0","line":398,"range":{"start_line":398,"start_character":25,"end_line":398,"end_character":29},"updated":"2018-02-21 08:26:30.000000000","message":"\u0027list\u0027","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"17e8122f39944c92770aa0be0da4c4b5837b3b9c","unresolved":false,"context_lines":[{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"},{"line_number":401,"context_line":"        new_ppgs \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_3852a73c","line":398,"range":{"start_line":398,"start_character":25,"end_line":398,"end_character":29},"in_reply_to":"3fa0c359_240608d0","updated":"2018-02-21 13:07:09.000000000","message":"Done","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":25505,"name":"Dimitrios Markou","email":"dimitrios.markou@att.com","username":"mardim"},"change_message_id":"689b0e288062c9cd8afefc6c384d7f97ac14546d","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"},{"line_number":401,"context_line":"        new_ppgs \u003d []"},{"line_number":402,"context_line":"        new_pps \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_440b14d5","line":399,"range":{"start_line":399,"start_character":20,"end_line":399,"end_character":24},"updated":"2018-02-21 08:26:30.000000000","message":"\u0027list\u0027","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"17e8122f39944c92770aa0be0da4c4b5837b3b9c","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        neutronclient_ \u003d NeutronClient(auth_attr)"},{"line_number":397,"context_line":"        port_pairs_info \u003d neutronclient_.port_pair_list()"},{"line_number":398,"context_line":"        port_pair_groups_info \u003d neutronclient_.port_pair_group_list()"},{"line_number":399,"context_line":"        port_chains_info \u003d neutronclient_.port_chain_list()"},{"line_number":400,"context_line":"        port_pair_group_list \u003d []"},{"line_number":401,"context_line":"        new_ppgs \u003d []"},{"line_number":402,"context_line":"        new_pps \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_f8475f76","line":399,"range":{"start_line":399,"start_character":20,"end_line":399,"end_character":24},"in_reply_to":"3fa0c359_440b14d5","updated":"2018-02-21 13:07:09.000000000","message":"Done","commit_id":"d1ee0f469675662c752054c23ce01fedd62d49bc"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":414,"context_line":"                    return None"},{"line_number":415,"context_line":"                cp_list \u003d vnf[CONNECTION_POINT]"},{"line_number":416,"context_line":"                num_cps \u003d len(cp_list)"},{"line_number":417,"context_line":"                if num_cps !\u003d 1 and num_cps !\u003d 2:"},{"line_number":418,"context_line":"                    LOG.warning(\"Chain creation failed due to wrong number of \""},{"line_number":419,"context_line":"                                \"connection points: expected [1 | 2], got \""},{"line_number":420,"context_line":"                                \"%(cps)d\", {\u0027cps\u0027: num_cps})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_793ab598","line":417,"range":{"start_line":417,"start_character":19,"end_line":417,"end_character":48},"updated":"2018-03-04 17:46:07.000000000","message":"num_cps not in [1, 2]","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"1178f874e2a48b6aae00d0a85d777e9b30bedf51","unresolved":false,"context_lines":[{"line_number":414,"context_line":"                    return None"},{"line_number":415,"context_line":"                cp_list \u003d vnf[CONNECTION_POINT]"},{"line_number":416,"context_line":"                num_cps \u003d len(cp_list)"},{"line_number":417,"context_line":"                if num_cps !\u003d 1 and num_cps !\u003d 2:"},{"line_number":418,"context_line":"                    LOG.warning(\"Chain creation failed due to wrong number of \""},{"line_number":419,"context_line":"                                \"connection points: expected [1 | 2], got \""},{"line_number":420,"context_line":"                                \"%(cps)d\", {\u0027cps\u0027: num_cps})"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_619d6558","line":417,"range":{"start_line":417,"start_character":19,"end_line":417,"end_character":48},"in_reply_to":"1f9dbf25_793ab598","updated":"2018-03-05 14:20:53.000000000","message":"Done","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                # which was created by ingress and egress of current VNF"},{"line_number":432,"context_line":"                port_pair_group_id \u003d self.valid_port_in_use("},{"line_number":433,"context_line":"                    ingress, egress, port_pairs_list, port_pair_groups_list)"},{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_d94ae925","line":434,"range":{"start_line":434,"start_character":19,"end_line":434,"end_character":45},"updated":"2018-03-04 17:46:07.000000000","message":"if not port_pair_group_id:","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"1178f874e2a48b6aae00d0a85d777e9b30bedf51","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                # which was created by ingress and egress of current VNF"},{"line_number":432,"context_line":"                port_pair_group_id \u003d self.valid_port_in_use("},{"line_number":433,"context_line":"                    ingress, egress, port_pairs_list, port_pair_groups_list)"},{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_01a2699b","line":434,"range":{"start_line":434,"start_character":19,"end_line":434,"end_character":45},"in_reply_to":"1f9dbf25_d94ae925","updated":"2018-03-05 14:20:53.000000000","message":"Done","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":438,"context_line":"                    port_pair[\u0027description\u0027] \u003d \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":439,"context_line":"                    port_pair[\u0027ingress\u0027] \u003d ingress"},{"line_number":440,"context_line":"                    port_pair[\u0027egress\u0027] \u003d egress"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_f9456516","line":437,"range":{"start_line":437,"start_character":40,"end_line":437,"end_character":74},"updated":"2018-03-04 17:46:07.000000000","message":"\u0027%s-connection-points\u0027 % vnf[\u0027name\u0027]","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"1178f874e2a48b6aae00d0a85d777e9b30bedf51","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":438,"context_line":"                    port_pair[\u0027description\u0027] \u003d \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":439,"context_line":"                    port_pair[\u0027ingress\u0027] \u003d ingress"},{"line_number":440,"context_line":"                    port_pair[\u0027egress\u0027] \u003d egress"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_e1d655f2","line":437,"range":{"start_line":437,"start_character":40,"end_line":437,"end_character":74},"in_reply_to":"1f9dbf25_f9456516","updated":"2018-03-05 14:20:53.000000000","message":"I keep the old one because I think it is clearer","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"eccaf41da231756a1271194ef2aa34611c77f056","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":438,"context_line":"                    port_pair[\u0027description\u0027] \u003d \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":439,"context_line":"                    port_pair[\u0027ingress\u0027] \u003d ingress"},{"line_number":440,"context_line":"                    port_pair[\u0027egress\u0027] \u003d egress"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_24853bae","line":437,"range":{"start_line":437,"start_character":40,"end_line":437,"end_character":74},"in_reply_to":"ff6b8bd7_24669bef","updated":"2018-03-07 07:57:51.000000000","message":"@Trinh, I did it, thanks","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"49f514c6e640bf8182dd129aefd4be562aa5cefd","unresolved":false,"context_lines":[{"line_number":434,"context_line":"                if port_pair_group_id is None:"},{"line_number":435,"context_line":"                    # create the new port pair group if it is not existed"},{"line_number":436,"context_line":"                    port_pair \u003d {}"},{"line_number":437,"context_line":"                    port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":438,"context_line":"                    port_pair[\u0027description\u0027] \u003d \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":439,"context_line":"                    port_pair[\u0027ingress\u0027] \u003d ingress"},{"line_number":440,"context_line":"                    port_pair[\u0027egress\u0027] \u003d egress"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_24669bef","line":437,"range":{"start_line":437,"start_character":40,"end_line":437,"end_character":74},"in_reply_to":"ff6b8bd7_e1d655f2","updated":"2018-03-05 14:41:10.000000000","message":"If that the case, I prefer to change line 438, 451, 563, 577 too for consistency.","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":446,"context_line":"                        return None"},{"line_number":447,"context_line":"                    new_pps.append(port_pair_id)"},{"line_number":448,"context_line":"                    port_pair_group \u003d {}"},{"line_number":449,"context_line":"                    port_pair_group[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-port-pair-group\u0027"},{"line_number":450,"context_line":"                    port_pair_group[\u0027description\u0027] \u003d \\"},{"line_number":451,"context_line":"                        \u0027port pair group for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":452,"context_line":"                    port_pair_group[\u0027port_pairs\u0027] \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_995461cc","line":449,"range":{"start_line":449,"start_character":46,"end_line":449,"end_character":78},"updated":"2018-03-04 17:46:07.000000000","message":"ditto","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                            message\u003d\"Connection point not found\")"},{"line_number":539,"context_line":"                    cp_list \u003d vnf[CONNECTION_POINT]"},{"line_number":540,"context_line":"                    num_cps \u003d len(cp_list)"},{"line_number":541,"context_line":"                    if num_cps !\u003d 1 and num_cps !\u003d 2:"},{"line_number":542,"context_line":"                        LOG.warning(\"Chain update failed due to wrong number \""},{"line_number":543,"context_line":"                                    \"of connection points: expected [1 | 2],\""},{"line_number":544,"context_line":"                                    \"got %(cps)d\", {\u0027cps\u0027: num_cps})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_f9c0057f","line":541,"range":{"start_line":541,"start_character":23,"end_line":541,"end_character":52},"updated":"2018-03-04 17:46:07.000000000","message":"num_cps not in [1, 2]","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"1178f874e2a48b6aae00d0a85d777e9b30bedf51","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                            message\u003d\"Connection point not found\")"},{"line_number":539,"context_line":"                    cp_list \u003d vnf[CONNECTION_POINT]"},{"line_number":540,"context_line":"                    num_cps \u003d len(cp_list)"},{"line_number":541,"context_line":"                    if num_cps !\u003d 1 and num_cps !\u003d 2:"},{"line_number":542,"context_line":"                        LOG.warning(\"Chain update failed due to wrong number \""},{"line_number":543,"context_line":"                                    \"of connection points: expected [1 | 2],\""},{"line_number":544,"context_line":"                                    \"got %(cps)d\", {\u0027cps\u0027: num_cps})"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_8105197d","line":541,"range":{"start_line":541,"start_character":23,"end_line":541,"end_character":52},"in_reply_to":"1f9dbf25_f9c0057f","updated":"2018-03-05 14:20:53.000000000","message":"Done","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":557,"context_line":"                    port_pair_group_id \u003d self.valid_port_in_use("},{"line_number":558,"context_line":"                        ingress, egress,"},{"line_number":559,"context_line":"                        port_pairs_list, port_pair_groups_list)"},{"line_number":560,"context_line":"                    if port_pair_group_id is None:"},{"line_number":561,"context_line":"                        port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":562,"context_line":"                        port_pair[\u0027description\u0027] \u003d \\"},{"line_number":563,"context_line":"                            \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_5937b9b1","line":560,"range":{"start_line":560,"start_character":23,"end_line":560,"end_character":49},"updated":"2018-03-04 17:46:07.000000000","message":"I prefer using \"if not port_pair_group_id\"","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"1178f874e2a48b6aae00d0a85d777e9b30bedf51","unresolved":false,"context_lines":[{"line_number":557,"context_line":"                    port_pair_group_id \u003d self.valid_port_in_use("},{"line_number":558,"context_line":"                        ingress, egress,"},{"line_number":559,"context_line":"                        port_pairs_list, port_pair_groups_list)"},{"line_number":560,"context_line":"                    if port_pair_group_id is None:"},{"line_number":561,"context_line":"                        port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":562,"context_line":"                        port_pair[\u0027description\u0027] \u003d \\"},{"line_number":563,"context_line":"                            \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff6b8bd7_a10a9d87","line":560,"range":{"start_line":560,"start_character":23,"end_line":560,"end_character":49},"in_reply_to":"1f9dbf25_5937b9b1","updated":"2018-03-05 14:20:53.000000000","message":"Done","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":558,"context_line":"                        ingress, egress,"},{"line_number":559,"context_line":"                        port_pairs_list, port_pair_groups_list)"},{"line_number":560,"context_line":"                    if port_pair_group_id is None:"},{"line_number":561,"context_line":"                        port_pair[\u0027name\u0027] \u003d vnf[\u0027name\u0027] + \u0027-connection-points\u0027"},{"line_number":562,"context_line":"                        port_pair[\u0027description\u0027] \u003d \\"},{"line_number":563,"context_line":"                            \u0027port pair for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":564,"context_line":"                        port_pair[\u0027ingress\u0027] \u003d ingress"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_596019a6","line":561,"range":{"start_line":561,"start_character":44,"end_line":561,"end_character":78},"updated":"2018-03-04 17:46:07.000000000","message":"ditto","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d42ba8b5590cfd48a91b0018203bac1e11820b45","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                            raise nfvo.UpdateChainException("},{"line_number":573,"context_line":"                                message\u003d\"Failed to create port-pair\")"},{"line_number":574,"context_line":"                        port_pair_group[\u0027name\u0027] \u003d \\"},{"line_number":575,"context_line":"                            vnf[\u0027name\u0027] + \u0027-port-pair-group\u0027"},{"line_number":576,"context_line":"                        port_pair_group[\u0027description\u0027] \u003d \\"},{"line_number":577,"context_line":"                            \u0027port pair group for %s\u0027 % vnf[\u0027name\u0027]"},{"line_number":578,"context_line":"                        port_pair_group[\u0027port_pairs\u0027] \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f9dbf25_796395b2","line":575,"range":{"start_line":575,"start_character":28,"end_line":575,"end_character":60},"updated":"2018-03-04 17:46:07.000000000","message":"ditto","commit_id":"b6af0115923cf70704c3947185746eb00f993cd5"}]}
