)]}'
{"neutronclient/neutron/v2_0/securitygroup.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7d899d8d079b27e2d9beaa35d43aeb8bc6524b54","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027icmpv6\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_04c08bdf","side":"PARENT","line":95,"updated":"2016-02-21 14:35:15.000000000","message":"What do you think about backward-compatibility?\nIs it no longer supported? If so, I think it is a problem.","commit_id":"f18aea286b8983eb77fe5267cefc1640b61f938e"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4f8a835348e5ad1006d0ef2197382361d4b0089e","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027icmpv6\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_8d079f1b","side":"PARENT","line":95,"in_reply_to":"bae84128_04c08bdf","updated":"2016-02-21 17:21:52.000000000","message":"I also agree with Akihiro wrt to Backward compatibility, this can be an issue.\nIs there any problem in keeping it as icmpv6? ( and letting others protocols start with ipv6 as they are practically new  options?","commit_id":"f18aea286b8983eb77fe5267cefc1640b61f938e"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"28b8b6afd387bb58c5501ad6e46498eef4eec796","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027icmpv6\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_a408b8da","side":"PARENT","line":95,"in_reply_to":"bae84128_8d079f1b","updated":"2016-02-22 01:14:47.000000000","message":"It is to make the ipv6-* protocols be consistent. The server-side patch is merged. Do I have to provide a follow-up patch to deal with it?","commit_id":"f18aea286b8983eb77fe5267cefc1640b61f938e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"592c0156738d0f352250c19adc8a7a907f49acea","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027icmpv6\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_b8c20d51","side":"PARENT","line":95,"in_reply_to":"bae84128_a408b8da","updated":"2016-02-24 11:18:33.000000000","message":"Yes. we don\u0027t intend to break backward-compatibility.\nDoes the server side patch intend to break the backward-compat?","commit_id":"f18aea286b8983eb77fe5267cefc1640b61f938e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7d899d8d079b27e2d9beaa35d43aeb8bc6524b54","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027ipv6-icmp\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_84213bb7","line":95,"updated":"2016-02-21 14:35:15.000000000","message":"How about other protocols of \u0027ipv6-*\u0027?","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"28b8b6afd387bb58c5501ad6e46498eef4eec796","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027ipv6-icmp\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_444c4c42","line":95,"in_reply_to":"bae84128_4d0d973d","updated":"2016-02-22 01:14:47.000000000","message":"Yes, I\u0027ll update it.","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4f8a835348e5ad1006d0ef2197382361d4b0089e","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def generate_default_ethertype(protocol):"},{"line_number":95,"context_line":"    if protocol \u003d\u003d \u0027ipv6-icmp\u0027:"},{"line_number":96,"context_line":"        return \u0027IPv6\u0027"},{"line_number":97,"context_line":"    return \u0027IPv4\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_4d0d973d","line":95,"in_reply_to":"bae84128_84213bb7","updated":"2016-02-21 17:21:52.000000000","message":"+1, \nmaybe you can just search for ipv6 in the name of protocol?","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4f8a835348e5ad1006d0ef2197382361d4b0089e","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                   \u0027[ah, dccp, egp, esp, gre, icmp, igmp, \u0027"},{"line_number":322,"context_line":"                   \u0027ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, \u0027"},{"line_number":323,"context_line":"                   \u0027ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, \u0027"},{"line_number":324,"context_line":"                   \u0027tcp, udp, udplite, vrrp] and \u0027"},{"line_number":325,"context_line":"                   \u0027integer representations [0-255]\u0027))"},{"line_number":326,"context_line":"        parser.add_argument("},{"line_number":327,"context_line":"            \u0027--port-range-min\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_ad1b837f","line":324,"updated":"2016-02-21 17:21:52.000000000","message":"A) Wont the help message be too big?\nB) Should there be a helpful map to suggest which integer represents which Protocol?\nC)Do we actually need to show all the protocols, or can they be validated directly at the server?\nD)maybe you can add `type\u003dutils.convert_to_lowercase` for ease of user.","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"1b6d27973a9884b4ef7c96b3ef3bb10a0a8bcc66","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                   \u0027[ah, dccp, egp, esp, gre, icmp, igmp, \u0027"},{"line_number":322,"context_line":"                   \u0027ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, \u0027"},{"line_number":323,"context_line":"                   \u0027ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, \u0027"},{"line_number":324,"context_line":"                   \u0027tcp, udp, udplite, vrrp] and \u0027"},{"line_number":325,"context_line":"                   \u0027integer representations [0-255]\u0027))"},{"line_number":326,"context_line":"        parser.add_argument("},{"line_number":327,"context_line":"            \u0027--port-range-min\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_84dc9413","line":324,"in_reply_to":"bae84128_846db49a","updated":"2016-02-22 01:26:54.000000000","message":"For (D) I suggest that we can add the conversion.\nThat ways user can specify ICMP or icmp, and both of these would work.","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"28b8b6afd387bb58c5501ad6e46498eef4eec796","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                   \u0027[ah, dccp, egp, esp, gre, icmp, igmp, \u0027"},{"line_number":322,"context_line":"                   \u0027ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, \u0027"},{"line_number":323,"context_line":"                   \u0027ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, \u0027"},{"line_number":324,"context_line":"                   \u0027tcp, udp, udplite, vrrp] and \u0027"},{"line_number":325,"context_line":"                   \u0027integer representations [0-255]\u0027))"},{"line_number":326,"context_line":"        parser.add_argument("},{"line_number":327,"context_line":"            \u0027--port-range-min\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_846db49a","line":324,"in_reply_to":"bae84128_ad1b837f","updated":"2016-02-22 01:14:47.000000000","message":"A) Yes, but this help text is used in automatic document generation. I have to list them all in it.\nB) This is what I would like to do at the initial stage and we discussed it in the server-side patch. It is not accepted.\nC) Yes, they can, but CLI document needs it.\nD) It is validated at the server-side, I think.","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"78459aac9a0a3e69f62b3b71dd40f86e8a51ccc6","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            type\u003dutils.convert_to_lowercase,"},{"line_number":322,"context_line":"            help\u003d_(\u0027Protocol of packet. Allowed values are \u0027"},{"line_number":323,"context_line":"                   \u0027[ah, dccp, egp, esp, gre, icmp, igmp, \u0027"},{"line_number":324,"context_line":"                   \u0027ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, \u0027"},{"line_number":325,"context_line":"                   \u0027ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, \u0027"},{"line_number":326,"context_line":"                   \u0027tcp, udp, udplite, vrrp] and \u0027"},{"line_number":327,"context_line":"                   \u0027integer representations [0-255]\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_f06f7ac1","line":324,"updated":"2016-02-24 15:32:15.000000000","message":"I am little confused.. Why we need to suffix icmp with ipv6, if we can specify ethertype as ipv6?\n\nEx:\n--ethertype IPv6 --protocol ipv6-icmp\n\nHere, \u0027ipv6\u0027 in \u0027ipv6-icmp\u0027 looks redundant as we have already specified ethertype as ipv6.","commit_id":"026bc0e491586e9b8e3d9b69dc674555e17a6608"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"00d123bcb00767caa530eaf8bbd75c5a6b772b23","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            type\u003dutils.convert_to_lowercase,"},{"line_number":322,"context_line":"            help\u003d_(\u0027Protocol of packet. Allowed values are \u0027"},{"line_number":323,"context_line":"                   \u0027[ah, dccp, egp, esp, gre, icmp, igmp, \u0027"},{"line_number":324,"context_line":"                   \u0027ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, \u0027"},{"line_number":325,"context_line":"                   \u0027ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, \u0027"},{"line_number":326,"context_line":"                   \u0027tcp, udp, udplite, vrrp] and \u0027"},{"line_number":327,"context_line":"                   \u0027integer representations [0-255]\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_f9e466ad","line":324,"in_reply_to":"bae84128_f06f7ac1","updated":"2016-02-25 01:37:35.000000000","message":"Thanks for your reviewing. The server-side codes were under review from Dec 2 to Feb 5. During the review, no one provided such an question about the naming. Initially, we\u0027d like to make all the IPv6 names be consistent and easy to differentiate IPv4 names.\n\nAFAIK, the ethertype is not a mandatory option for API, CLI or Horizon. The protocol option is more straightforward to identify according to its ipv6 name.","commit_id":"026bc0e491586e9b8e3d9b69dc674555e17a6608"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"ae87518b388003f93683f9ece5881de65f649245","unresolved":false,"context_lines":[{"line_number":358,"context_line":"                generate_default_ethertype(parsed_args.protocol)}"},{"line_number":359,"context_line":"        # Convert icmp protocol to the server-side definition"},{"line_number":360,"context_line":"        if parsed_args.protocol \u003d\u003d \u0027icmp\u0027 and parsed_args.ethertype \u003d\u003d \u0027IPv6\u0027:"},{"line_number":361,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-icmp\u0027"},{"line_number":362,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":363,"context_line":"                               [\u0027protocol\u0027, \u0027port_range_min\u0027, \u0027port_range_max\u0027,"},{"line_number":364,"context_line":"                                \u0027remote_ip_prefix\u0027, \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_ffa5eda1","line":361,"updated":"2016-03-03 04:21:56.000000000","message":"why we don\u0027t have ipv6-icmp as a protocol option instead.. Current options looks really in-consistence.. We have ipv6- prefix for some and not for others...IMO, let\u0027s provide a uniform user experience..","commit_id":"f3acf7567df215484c805c0b34e72448bf4b3d1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"857116667c07f6693c4e5ba9b886e799a064b0ed","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        # Convert ipv6 protocol to the server-side definition"},{"line_number":360,"context_line":"        ethertype \u003d parsed_args.ethertype"},{"line_number":361,"context_line":"        protocol \u003d parsed_args.protocol"},{"line_number":362,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and not protocol.startswith(\u0027ipv6-\u0027):"},{"line_number":363,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol"},{"line_number":364,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":365,"context_line":"                               [\u0027protocol\u0027, \u0027port_range_min\u0027, \u0027port_range_max\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7af24918_ec193e24","line":362,"updated":"2016-03-05 12:13:20.000000000","message":"IMO, this logic might not be correct.. Please note IPv6 functionality for few of the protocol is not supported.. like OSPF (OSPFv3 not supported), VRRP and etc.. Infact, IPv6 functionality is only supported for the below provided protocols-\n\nhttps://github.com/openstack/neutron/blob/e3691a0269dce69b11b1f10cafa80b6d2af7ed90/neutron/common/constants.py#L86-L91","commit_id":"4a427ea4f6aa9421bc21bab571081707c0578789"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"c97239315eeb16556b6df77c5c9368d8e98bd558","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        # Convert ipv6 protocol to the server-side definition"},{"line_number":360,"context_line":"        ethertype \u003d parsed_args.ethertype"},{"line_number":361,"context_line":"        protocol \u003d parsed_args.protocol"},{"line_number":362,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and not protocol.startswith(\u0027ipv6-\u0027):"},{"line_number":363,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol"},{"line_number":364,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":365,"context_line":"                               [\u0027protocol\u0027, \u0027port_range_min\u0027, \u0027port_range_max\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7af24918_b90481c6","line":362,"in_reply_to":"7af24918_ec193e24","updated":"2016-03-07 06:56:42.000000000","message":"Done","commit_id":"4a427ea4f6aa9421bc21bab571081707c0578789"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"8a1a2656e3c4db66e303dcb17da6bc32883a2574","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    def _parse_ipv6_protocol(self, parsed_args):"},{"line_number":353,"context_line":"        ethertype \u003d parsed_args.ethertype"},{"line_number":354,"context_line":"        protocol \u003d parsed_args.protocol"},{"line_number":355,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and protocol.lower() in [\u0027encap\u0027, \u0027frag\u0027,"},{"line_number":356,"context_line":"                                                        \u0027icmp\u0027, \u0027nonxt\u0027,"},{"line_number":357,"context_line":"                                                        \u0027opts\u0027, \u0027route\u0027]:"},{"line_number":358,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol.lower()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_51e8d67c","line":355,"updated":"2016-03-07 13:26:25.000000000","message":"Protocol already in lower-case, no need to convert again. Plz check line no: 321","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"39cf14dc0edb372fd743aa93745380351881f159","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    def _parse_ipv6_protocol(self, parsed_args):"},{"line_number":353,"context_line":"        ethertype \u003d parsed_args.ethertype"},{"line_number":354,"context_line":"        protocol \u003d parsed_args.protocol"},{"line_number":355,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and protocol.lower() in [\u0027encap\u0027, \u0027frag\u0027,"},{"line_number":356,"context_line":"                                                        \u0027icmp\u0027, \u0027nonxt\u0027,"},{"line_number":357,"context_line":"                                                        \u0027opts\u0027, \u0027route\u0027]:"},{"line_number":358,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol.lower()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_e4fe5a6a","line":355,"in_reply_to":"5aef4532_51e8d67c","updated":"2016-03-08 02:06:50.000000000","message":"Done","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"8a1a2656e3c4db66e303dcb17da6bc32883a2574","unresolved":false,"context_lines":[{"line_number":355,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and protocol.lower() in [\u0027encap\u0027, \u0027frag\u0027,"},{"line_number":356,"context_line":"                                                        \u0027icmp\u0027, \u0027nonxt\u0027,"},{"line_number":357,"context_line":"                                                        \u0027opts\u0027, \u0027route\u0027]:"},{"line_number":358,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol.lower()"},{"line_number":359,"context_line":"        return parsed_args"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_91025e3d","line":358,"updated":"2016-03-07 13:26:25.000000000","message":"ditto","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"39cf14dc0edb372fd743aa93745380351881f159","unresolved":false,"context_lines":[{"line_number":355,"context_line":"        if ethertype \u003d\u003d \u0027IPv6\u0027 and protocol.lower() in [\u0027encap\u0027, \u0027frag\u0027,"},{"line_number":356,"context_line":"                                                        \u0027icmp\u0027, \u0027nonxt\u0027,"},{"line_number":357,"context_line":"                                                        \u0027opts\u0027, \u0027route\u0027]:"},{"line_number":358,"context_line":"            parsed_args.protocol \u003d \u0027ipv6-%s\u0027 % protocol.lower()"},{"line_number":359,"context_line":"        return parsed_args"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_24f96281","line":358,"in_reply_to":"5aef4532_91025e3d","updated":"2016-03-08 02:06:50.000000000","message":"Done","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"}],"neutronclient/tests/unit/test_cli20_securitygroup.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4f8a835348e5ad1006d0ef2197382361d4b0089e","unresolved":false,"context_lines":[{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    def test_get_ethertype_for_protocol_icmpv6(self):"},{"line_number":604,"context_line":"        self.assertEqual(\u0027IPv6\u0027,"},{"line_number":605,"context_line":"                         securitygroup.generate_default_ethertype(\u0027ipv6-icmp\u0027))"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"    def test_get_ethertype_for_protocol_icmp(self):"},{"line_number":608,"context_line":"        self.assertEqual(\u0027IPv4\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_b050f60b","line":605,"updated":"2016-02-21 17:21:52.000000000","message":"what about the other (new) options?","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"7dba5b3dfcc2191b085c682b1a1daf3fd797486a","unresolved":false,"context_lines":[{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    def test_get_ethertype_for_protocol_icmpv6(self):"},{"line_number":604,"context_line":"        self.assertEqual(\u0027IPv6\u0027,"},{"line_number":605,"context_line":"                         securitygroup.generate_default_ethertype(\u0027ipv6-icmp\u0027))"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"    def test_get_ethertype_for_protocol_icmp(self):"},{"line_number":608,"context_line":"        self.assertEqual(\u0027IPv4\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_64ffd0aa","line":605,"in_reply_to":"bae84128_b050f60b","updated":"2016-02-22 01:15:58.000000000","message":"I\u0027ll update it.","commit_id":"dfd7d9f969e06ae689bc2ae5764300f636ef5aa9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"8a1a2656e3c4db66e303dcb17da6bc32883a2574","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":209,"context_line":"        direction \u003d \u0027ingress\u0027"},{"line_number":210,"context_line":"        ethertype \u003d \u0027IPv4\u0027"},{"line_number":211,"context_line":"        protocol \u003d \u0027icmp\u0027"},{"line_number":212,"context_line":"        remote_ip_prefix \u003d \u002710.0.0.0/24\u0027"},{"line_number":213,"context_line":"        security_group_id \u003d \u00271\u0027"},{"line_number":214,"context_line":"        remote_group_id \u003d \u00271\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_f1676223","line":211,"updated":"2016-03-07 13:26:25.000000000","message":"let\u0027s add testcases for proto-num as well...","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"39cf14dc0edb372fd743aa93745380351881f159","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":209,"context_line":"        direction \u003d \u0027ingress\u0027"},{"line_number":210,"context_line":"        ethertype \u003d \u0027IPv4\u0027"},{"line_number":211,"context_line":"        protocol \u003d \u0027icmp\u0027"},{"line_number":212,"context_line":"        remote_ip_prefix \u003d \u002710.0.0.0/24\u0027"},{"line_number":213,"context_line":"        security_group_id \u003d \u00271\u0027"},{"line_number":214,"context_line":"        remote_group_id \u003d \u00271\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_44f0ee90","line":211,"in_reply_to":"5aef4532_f1676223","updated":"2016-03-08 02:06:50.000000000","message":"Done","commit_id":"e9a7d4d45a97320f76a3e86717fed271a9d2060f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"446510e4250878f1836793b3698dbfd356543c0f","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            test_cli20.MyApp(sys.stdout), None)"},{"line_number":208,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":209,"context_line":"        direction \u003d \u0027ingress\u0027"},{"line_number":210,"context_line":"        remote_ip_prefix \u003d \u002710.0.0.0/24\u0027"},{"line_number":211,"context_line":"        security_group_id \u003d \u00271\u0027"},{"line_number":212,"context_line":"        remote_group_id \u003d \u00271\u0027"},{"line_number":213,"context_line":"        args \u003d [\u0027--remote_ip_prefix\u0027, remote_ip_prefix, \u0027--direction\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5aef4532_2ba9c190","line":210,"updated":"2016-03-09 17:44:30.000000000","message":"Shouldn\u0027t this be an IPv6 prefix for the IPv6 tests?","commit_id":"4cbf97ee76399fb57c9a3a7ed35600b15347edc3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"92db205eb4345a4971e8225b7d9a2bfbd3530b91","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            test_cli20.MyApp(sys.stdout), None)"},{"line_number":208,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":209,"context_line":"        direction \u003d \u0027ingress\u0027"},{"line_number":210,"context_line":"        remote_ip_prefix \u003d \u002710.0.0.0/24\u0027"},{"line_number":211,"context_line":"        security_group_id \u003d \u00271\u0027"},{"line_number":212,"context_line":"        remote_group_id \u003d \u00271\u0027"},{"line_number":213,"context_line":"        args \u003d [\u0027--remote_ip_prefix\u0027, remote_ip_prefix, \u0027--direction\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_0fdd2ce0","line":210,"in_reply_to":"5aef4532_2ba9c190","updated":"2016-03-17 01:32:13.000000000","message":"Yes, you are right. This function doesn\u0027t verify the ip_prefix. I\u0027ll fix it.","commit_id":"4cbf97ee76399fb57c9a3a7ed35600b15347edc3"}]}
