)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f1751b33168b96ce2c1e1c232c78dca2a3040a89","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Correctly configure IPv6 addresses"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Handle a corner case which the address generated by slaac is the"},{"line_number":10,"context_line":"same as the ipv6 default link local address."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ida667292fce41e281e016d56a278eef3b8939ed4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf3e73b7_66c91677","line":9,"range":{"start_line":9,"start_character":21,"end_line":9,"end_character":26},"updated":"2017-08-07 15:51:05.000000000","message":"\u0027where\u0027 is better here","commit_id":"ab0ec64724088e6ba2968acb695d7b7ca90c2ee4"}],"neutron/agent/linux/interface.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4850861a796cc2ab7429dc33d6d8f38a1cb89374","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            dynamic \u003d address[\u0027dynamic\u0027]"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            # skip the IPv6 link-local"},{"line_number":138,"context_line":"            if cidr \u003d\u003d default_ipv6_lla and cidr not in cidrs:"},{"line_number":139,"context_line":"                continue"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"            if cidr in preserve_ips:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_877ad185","line":138,"updated":"2017-08-08 11:15:02.000000000","message":"please add a unit test","commit_id":"0c3c9da758d29ca8c03eaf3702856c8887672d6b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f423d0f8d26ab5e1523a7c933ecf20962f2e5005","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            dynamic \u003d address[\u0027dynamic\u0027]"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"            # skip the IPv6 link-local"},{"line_number":138,"context_line":"            if cidr \u003d\u003d default_ipv6_lla and cidr not in cidrs:"},{"line_number":139,"context_line":"                continue"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"            if cidr in preserve_ips:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_74d95ef1","line":138,"updated":"2017-08-11 21:35:12.000000000","message":"I\u0027m still confused, did the user choose fe80 as their slaac prefix?  Maybe you can just add an example to the bug as I haven\u0027t had a chance to try and reproduce this myself yet.  Thanks.","commit_id":"cf96ea82d532006b1606414c120e4736204a93b8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7d2827a977cc85f41363b130b51d0c08d309867","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            if net.version \u003d\u003d 6:"},{"line_number":115,"context_line":"                ip_cidr \u003d str(net)"},{"line_number":116,"context_line":"            cidrs.add(ip_cidr)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # Determine the addresses that must be added and removed"},{"line_number":119,"context_line":"        for address in device.addr.list():"},{"line_number":120,"context_line":"            cidr \u003d address[\u0027cidr\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_9e3658b4","line":117,"updated":"2017-11-01 00:30:58.000000000","message":"I think we should check here if the default IPv6 LLA is in the list of cidrs we are being asked to configure.","commit_id":"3bec21a97b271433cca92c7e2f8a45be4c79f0e7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7d2827a977cc85f41363b130b51d0c08d309867","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            dynamic \u003d address[\u0027dynamic\u0027]"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"            # skip the IPv6 link-local"},{"line_number":124,"context_line":"            if cidr \u003d\u003d default_ipv6_lla and cidr not in cidrs:"},{"line_number":125,"context_line":"                continue"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"            if cidr in preserve_ips:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_de6cd09d","line":124,"updated":"2017-11-01 00:30:58.000000000","message":"then we can just remove it from the list of cidrs here","commit_id":"3bec21a97b271433cca92c7e2f8a45be4c79f0e7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7d2827a977cc85f41363b130b51d0c08d309867","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            # Statically created addresses are OK, dynamically created"},{"line_number":131,"context_line":"            # addresses must be removed and replaced"},{"line_number":132,"context_line":"            if cidr in cidrs and not dynamic and cidr !\u003d default_ipv6_lla:"},{"line_number":133,"context_line":"                cidrs.remove(cidr)"},{"line_number":134,"context_line":"                continue"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_5e5900fc","line":132,"updated":"2017-11-01 00:30:58.000000000","message":"and this can go away","commit_id":"3bec21a97b271433cca92c7e2f8a45be4c79f0e7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7d2827a977cc85f41363b130b51d0c08d309867","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            else:"},{"line_number":144,"context_line":"                device.addr.delete(ip_cidr)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        # add any new addresses"},{"line_number":147,"context_line":"        for ip_cidr in cidrs:"},{"line_number":148,"context_line":"            device.addr.add(ip_cidr)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_3e2ac42b","line":146,"updated":"2017-11-01 00:30:58.000000000","message":"and if we didn\u0027t see the default IPv6 LLA above, then add it here.\n\nThat way we will note remove then add the address unnecessarily.","commit_id":"3bec21a97b271433cca92c7e2f8a45be4c79f0e7"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"97b46a2a5decf875a4d14a57e2e1b5a6e55366b9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            # skip the IPv6 link-local"},{"line_number":127,"context_line":"            if cidr \u003d\u003d default_ipv6_lla:"},{"line_number":128,"context_line":"                # it\u0027s already configured, leave it alone"},{"line_number":129,"context_line":"                if add_ipv6_lla:"},{"line_number":130,"context_line":"                    add_ipv6_lla \u003d False"},{"line_number":131,"context_line":"                    cidrs.remove(cidr)"},{"line_number":132,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_bd58d389","line":129,"updated":"2017-11-02 06:12:22.000000000","message":"I would recommend change this line to:\nif cidr in cidrs:\n\nand remove the lines regarding flag add_ipv6_lla.","commit_id":"413be78070c2a5f160bafbf2cda5fd4432fe41dd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a4fe8e472bbacb92b90190f0aa3e4563f4228f8d","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            # skip the IPv6 link-local"},{"line_number":127,"context_line":"            if cidr \u003d\u003d default_ipv6_lla:"},{"line_number":128,"context_line":"                # it\u0027s already configured, leave it alone"},{"line_number":129,"context_line":"                if add_ipv6_lla:"},{"line_number":130,"context_line":"                    add_ipv6_lla \u003d False"},{"line_number":131,"context_line":"                    cidrs.remove(cidr)"},{"line_number":132,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_ed74486a","line":129,"in_reply_to":"3f4b6375_bd58d389","updated":"2017-11-02 17:30:38.000000000","message":"Done","commit_id":"413be78070c2a5f160bafbf2cda5fd4432fe41dd"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"9fb3874b05499f21e9cd99b832c4f05bec805dc7","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                device.addr.delete(ip_cidr)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # add any new addresses"},{"line_number":154,"context_line":"        if add_ipv6_lla:"},{"line_number":155,"context_line":"            device.addr.add(default_ipv6_lla)"},{"line_number":156,"context_line":"        for ip_cidr in cidrs:"},{"line_number":157,"context_line":"            device.addr.add(ip_cidr)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_7d137b5d","line":154,"range":{"start_line":154,"start_character":23,"end_line":154,"end_character":24},"updated":"2017-11-02 05:24:48.000000000","message":"These two lines are going to cause an exception in the following case:\nThe address list of the device does not include the default_ipv6_lla, but default_ipv6_lla is in the port cidrs list. It would be added twice, both in device.addr.add(default_ipv6_lla) and device.addr.add(ip_cidr).","commit_id":"413be78070c2a5f160bafbf2cda5fd4432fe41dd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a4fe8e472bbacb92b90190f0aa3e4563f4228f8d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                device.addr.delete(ip_cidr)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # add any new addresses"},{"line_number":154,"context_line":"        if add_ipv6_lla:"},{"line_number":155,"context_line":"            device.addr.add(default_ipv6_lla)"},{"line_number":156,"context_line":"        for ip_cidr in cidrs:"},{"line_number":157,"context_line":"            device.addr.add(ip_cidr)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_4d0b5cd5","line":154,"range":{"start_line":154,"start_character":23,"end_line":154,"end_character":24},"in_reply_to":"3f4b6375_7d137b5d","updated":"2017-11-02 17:30:38.000000000","message":"Yes, thanks, that\u0027s much better.\n\nI will also add a test for this case as well.","commit_id":"413be78070c2a5f160bafbf2cda5fd4432fe41dd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"370a7be43bf87844934cea2f479084540b2e491e","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            # skip the IPv6 link-local"},{"line_number":124,"context_line":"            if cidr \u003d\u003d default_ipv6_lla:"},{"line_number":125,"context_line":"                # it\u0027s already configured, leave it alone"},{"line_number":126,"context_line":"                if cidr in cidrs:"},{"line_number":127,"context_line":"                    cidrs.remove(cidr)"},{"line_number":128,"context_line":"                continue"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            if cidr in preserve_ips:"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff82abbf_cb681d89","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":38},"updated":"2017-11-30 11:52:47.000000000","message":"cidrs.discard(cidr)","commit_id":"e6b21cbbee80720a9dabf1402b7ce490576c2796"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"29a816b390c9a083183d7fd116b7d4c971ce1653","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            # skip the IPv6 link-local"},{"line_number":124,"context_line":"            if cidr \u003d\u003d default_ipv6_lla:"},{"line_number":125,"context_line":"                # it\u0027s already configured, leave it alone"},{"line_number":126,"context_line":"                cidrs.discard(cidr)"},{"line_number":127,"context_line":"                continue"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"            if cidr in preserve_ips:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff82abbf_824bcf5d","line":126,"updated":"2017-11-30 16:29:46.000000000","message":"Neat.  I\u0027ll find all the other occurrences like this and assign to you for cleanup :)","commit_id":"6c437b7cedf8baf1dca857934ac438511d461141"}]}
