)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c1b0804df075e71876e01394e9c3257ddf8c3ba6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"https://tools.ietf.org/html/rfc4291#appendix-A"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Note that means you cannot use IPv6 Privacy Extensions:"},{"line_number":30,"context_line":"https://tools.ietf.org/html/rfc4941"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"TODO tests"},{"line_number":33,"context_line":"TODO docs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"bf51134e_1ec2c934","line":30,"updated":"2020-08-26 09:46:54.000000000","message":"Neutron don\u0027t supports it so no problem IMO :)","commit_id":"d7ced4905a8e78c582216d7416aafbeb9be36771"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"ba3e9a5a3c1e5ce0f7552729a11ad7590abd2afc","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Note that means you cannot use IPv6 Privacy Extensions:"},{"line_number":30,"context_line":"https://tools.ietf.org/html/rfc4941"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"TODO docs"},{"line_number":33,"context_line":"TODO release note"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Change-Id: Ife592fcfc69e26f61ec1f45c06821cb025cc7cf2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"9f560f44_fa161855","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":9},"updated":"2020-08-03 15:03:22.000000000","message":"Please see here: https://review.opendev.org/744492","commit_id":"4e2eeaa6b17f9e12bf0288f91a59ce078d4db0c1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c1b0804df075e71876e01394e9c3257ddf8c3ba6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"https://tools.ietf.org/html/rfc4291#appendix-A"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Note that means you cannot use IPv6 Privacy Extensions:"},{"line_number":30,"context_line":"https://tools.ietf.org/html/rfc4941"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Change-Id: Ife592fcfc69e26f61ec1f45c06821cb025cc7cf2"},{"line_number":33,"context_line":"Closes-Bug: #1460177"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"9f560f44_de15ba9d","line":30,"updated":"2020-08-26 09:46:54.000000000","message":"this extension was never supported in Neutron so that isn\u0027t a problem IMO","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":27,"context_line":"https://tools.ietf.org/html/rfc4291#appendix-A"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Note that means you cannot use IPv6 Privacy Extensions:"},{"line_number":30,"context_line":"https://tools.ietf.org/html/rfc4941"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Change-Id: Ife592fcfc69e26f61ec1f45c06821cb025cc7cf2"},{"line_number":33,"context_line":"Closes-Bug: #1460177"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"9f560f44_e7926efc","line":30,"in_reply_to":"9f560f44_de15ba9d","updated":"2020-08-31 11:04:18.000000000","message":"Good to know.","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"}],"neutron/agent/metadata/agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ee06f944a8928deb490252708da0150704161823","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":186,"context_line":"        def is_ipv6_link_local(address):"},{"line_number":187,"context_line":"            return (address.version \u003d\u003d 6 and"},{"line_number":188,"context_line":"                    address in netaddr.IPNetwork(\u0027fe80::/10\u0027))"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":191,"context_line":"        def mac_from_ipv6_link_local(ipv6_ll):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_4ead1f87","line":188,"updated":"2020-04-15 17:17:01.000000000","message":"netaddr has a shortcut to check link-local:\n\nreturn (address.version \u003d\u003d 6 and\n        netaddr.IPNetwork(address).is_link_local())","commit_id":"71269d7136f0ca85c48b56cfe8e4c552f2da7f72"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"362a1b203af6b6837411ed320a1312ccd7a2ebe9","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":186,"context_line":"        def is_ipv6_link_local(address):"},{"line_number":187,"context_line":"            return (address.version \u003d\u003d 6 and"},{"line_number":188,"context_line":"                    address in netaddr.IPNetwork(\u0027fe80::/10\u0027))"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":191,"context_line":"        def mac_from_ipv6_link_local(ipv6_ll):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_c35a934e","line":188,"in_reply_to":"3f4c43b2_4ead1f87","updated":"2020-04-16 15:50:21.000000000","message":"Done","commit_id":"71269d7136f0ca85c48b56cfe8e4c552f2da7f72"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ee06f944a8928deb490252708da0150704161823","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            return netaddr.EUI(int("},{"line_number":195,"context_line":"                (((ipv6_ll \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":196,"context_line":"                 (ipv6_ll \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":197,"context_line":"                dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        remote_ip \u003d netaddr.IPAddress(remote_address)"},{"line_number":200,"context_line":"        if is_ipv6_link_local(remote_ip):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_2ec1b32f","line":197,"updated":"2020-04-15 17:17:01.000000000","message":"oslo.utils has the opposite - EUI64 to IPv6, in netutils.get_ipv6_addr_by_EUI64() but I couldn\u0027t find address to EUI64.","commit_id":"71269d7136f0ca85c48b56cfe8e4c552f2da7f72"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"362a1b203af6b6837411ed320a1312ccd7a2ebe9","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            return netaddr.EUI(int("},{"line_number":195,"context_line":"                (((ipv6_ll \u0026 0xff_ff_ff_00_00_00_00_00) \u003e\u003e 16) +"},{"line_number":196,"context_line":"                 (ipv6_ll \u0026 0xff_ff_ff)) ^ 0x02_00_00_00_00_00),"},{"line_number":197,"context_line":"                dialect\u003dnetaddr.mac_unix_expanded)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        remote_ip \u003d netaddr.IPAddress(remote_address)"},{"line_number":200,"context_line":"        if is_ipv6_link_local(remote_ip):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_c31f336e","line":197,"in_reply_to":"3f4c43b2_2ec1b32f","updated":"2020-04-16 15:50:21.000000000","message":"I did not find this direction anywhere either. But I\u0027ll move this to somewhere else, maybe to neutron-lib or oslo.utils.","commit_id":"71269d7136f0ca85c48b56cfe8e4c552f2da7f72"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df41a5e922680da1103b0a3f79728e940f59c152","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                      \"dropping\")"},{"line_number":193,"context_line":"            return None, None"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":196,"context_line":"        def mac_from_ipv6_link_local(ipv6_ll):"},{"line_number":197,"context_line":"            # https://tools.ietf.org/html/rfc4291#section-2.5.6"},{"line_number":198,"context_line":"            # https://tools.ietf.org/html/rfc4291#appendix-A"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf51134e_43a3de00","line":195,"updated":"2020-06-22 16:20:28.000000000","message":"Agree, I think you can move this to n-lib.utils.net\n\nBTW, +1 for the method","commit_id":"d39ed43b0f0fde582404c38522d76c74f39f194a"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"b233a4cda906878acec77a27bf43e53ebcc6a866","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                      \"dropping\")"},{"line_number":193,"context_line":"            return None, None"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        # FIXME(bence romsics): move this from here"},{"line_number":196,"context_line":"        def mac_from_ipv6_link_local(ipv6_ll):"},{"line_number":197,"context_line":"            # https://tools.ietf.org/html/rfc4291#section-2.5.6"},{"line_number":198,"context_line":"            # https://tools.ietf.org/html/rfc4291#appendix-A"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf51134e_123e00c0","line":195,"in_reply_to":"bf51134e_43a3de00","updated":"2020-06-26 13:37:46.000000000","message":"Please see https://review.opendev.org/738047.","commit_id":"d39ed43b0f0fde582404c38522d76c74f39f194a"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"05852bdcde9c5714e52a1e172992aebd28dc5ee4","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                # recognize."},{"line_number":208,"context_line":"                remote_mac \u003d str(netutils.get_mac_addr_by_ipv6(remote_ip))"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        args \u003d (forwarded_for, network_id, router_id)"},{"line_number":211,"context_line":"        kwargs \u003d {\u0027skip_cache\u0027: skip_cache}"},{"line_number":212,"context_line":"        if remote_mac:"},{"line_number":213,"context_line":"            kwargs[\u0027remote_mac\u0027] \u003d remote_mac"},{"line_number":214,"context_line":"        ports \u003d self._get_ports(*args, **kwargs)"},{"line_number":215,"context_line":"        LOG.debug(\"Gotten ports for remote_address %(remote_address)s, \""},{"line_number":216,"context_line":"                  \"network_id %(network_id)s, router_id %(router_id)s are: \""},{"line_number":217,"context_line":"                  \"%(ports)s\","}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_27498b8a","line":214,"range":{"start_line":210,"start_character":8,"end_line":214,"end_character":48},"updated":"2020-08-04 15:01:27.000000000","message":"why not just\n\nports \u003d self._get_ports(forwarded_for, network_id, router_id, skip_cache\u003dskip_cache, remote_mac\u003dremote_mac)?","commit_id":"f9b5950fc0e3de5877bcc217935895ad0965ce78"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"f2ef63017efe32c5cc1c3fb9d88a48daa495ef78","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                # recognize."},{"line_number":208,"context_line":"                remote_mac \u003d str(netutils.get_mac_addr_by_ipv6(remote_ip))"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        args \u003d (forwarded_for, network_id, router_id)"},{"line_number":211,"context_line":"        kwargs \u003d {\u0027skip_cache\u0027: skip_cache}"},{"line_number":212,"context_line":"        if remote_mac:"},{"line_number":213,"context_line":"            kwargs[\u0027remote_mac\u0027] \u003d remote_mac"},{"line_number":214,"context_line":"        ports \u003d self._get_ports(*args, **kwargs)"},{"line_number":215,"context_line":"        LOG.debug(\"Gotten ports for remote_address %(remote_address)s, \""},{"line_number":216,"context_line":"                  \"network_id %(network_id)s, router_id %(router_id)s are: \""},{"line_number":217,"context_line":"                  \"%(ports)s\","}],"source_content_type":"text/x-python","patch_set":17,"id":"9f560f44_8924c55f","line":214,"range":{"start_line":210,"start_character":8,"end_line":214,"end_character":48},"in_reply_to":"9f560f44_27498b8a","updated":"2020-08-06 14:46:11.000000000","message":"Done","commit_id":"f9b5950fc0e3de5877bcc217935895ad0965ce78"}],"releasenotes/notes/metadata-ipv6-b3607f6932da7226.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1443e5369a8edcad32838dd8dc123f0d57c0eaf1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_8b0e422f","line":4,"range":{"start_line":4,"start_character":40,"end_line":4,"end_character":44},"updated":"2020-08-27 19:30:12.000000000","message":"s/over the","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_67865ebd","line":4,"range":{"start_line":4,"start_character":40,"end_line":4,"end_character":44},"in_reply_to":"9f560f44_8b0e422f","updated":"2020-08-31 11:04:18.000000000","message":"Done","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1443e5369a8edcad32838dd8dc123f0d57c0eaf1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"},{"line_number":8,"context_line":"    networks.  There are no new config options. The usual config"},{"line_number":9,"context_line":"    options (``enable_isolated_metadata``, ``force_metadata``,"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_2b29f688","line":6,"range":{"start_line":6,"start_character":40,"end_line":6,"end_character":44},"updated":"2020-08-27 19:30:12.000000000","message":"s/an IPv6","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"},{"line_number":8,"context_line":"    networks.  There are no new config options. The usual config"},{"line_number":9,"context_line":"    options (``enable_isolated_metadata``, ``force_metadata``,"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_27b6268c","line":6,"range":{"start_line":6,"start_character":40,"end_line":6,"end_character":44},"in_reply_to":"9f560f44_2b29f688","updated":"2020-08-31 11:04:18.000000000","message":"Done","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1443e5369a8edcad32838dd8dc123f0d57c0eaf1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"},{"line_number":8,"context_line":"    networks.  There are no new config options. The usual config"},{"line_number":9,"context_line":"    options (``enable_isolated_metadata``, ``force_metadata``,"},{"line_number":10,"context_line":"    ``enable_metadata_proxy``) now control the metadata service over"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_4b226aa4","line":7,"range":{"start_line":7,"start_character":56,"end_line":7,"end_character":58},"updated":"2020-08-27 19:30:12.000000000","message":"s/IPv6","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Make the metadata service available over IPv6 link-local"},{"line_number":5,"context_line":"    address ``fe80::a9fe:a9fe``. Metadata over IPv6 works on both"},{"line_number":6,"context_line":"    isolated networks and networks with a v6 subnet connected"},{"line_number":7,"context_line":"    to a Neutron router as well as on dual-stack and on v6-only"},{"line_number":8,"context_line":"    networks.  There are no new config options. The usual config"},{"line_number":9,"context_line":"    options (``enable_isolated_metadata``, ``force_metadata``,"},{"line_number":10,"context_line":"    ``enable_metadata_proxy``) now control the metadata service over"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_47acfa34","line":7,"range":{"start_line":7,"start_character":56,"end_line":7,"end_character":58},"in_reply_to":"9f560f44_4b226aa4","updated":"2020-08-31 11:04:18.000000000","message":"Done","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c1b0804df075e71876e01394e9c3257ddf8c3ba6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    nothing about how the metadata-agent talks to Nova\u0027s metadata service."},{"line_number":14,"context_line":"    The guest OS is expected to pick up routes from Router Advertisements"},{"line_number":15,"context_line":"    for this feature to work on networks connected to a router."},{"line_number":16,"context_line":"    At least the following v6 subnet modes are supposed to work:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    * ``--ipv6-ra-mode slaac --ipv6-address-mode slaac``"},{"line_number":19,"context_line":"    * ``--ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_5edc0ae3","line":16,"range":{"start_line":16,"start_character":43,"end_line":16,"end_character":63},"updated":"2020-08-26 09:46:54.000000000","message":"nit: I would say here \"works\" :)","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1443e5369a8edcad32838dd8dc123f0d57c0eaf1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    nothing about how the metadata-agent talks to Nova\u0027s metadata service."},{"line_number":14,"context_line":"    The guest OS is expected to pick up routes from Router Advertisements"},{"line_number":15,"context_line":"    for this feature to work on networks connected to a router."},{"line_number":16,"context_line":"    At least the following v6 subnet modes are supposed to work:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    * ``--ipv6-ra-mode slaac --ipv6-address-mode slaac``"},{"line_number":19,"context_line":"    * ``--ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_eb325ef1","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":29},"updated":"2020-08-27 19:30:12.000000000","message":"s/IPv6","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    nothing about how the metadata-agent talks to Nova\u0027s metadata service."},{"line_number":14,"context_line":"    The guest OS is expected to pick up routes from Router Advertisements"},{"line_number":15,"context_line":"    for this feature to work on networks connected to a router."},{"line_number":16,"context_line":"    At least the following v6 subnet modes are supposed to work:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    * ``--ipv6-ra-mode slaac --ipv6-address-mode slaac``"},{"line_number":19,"context_line":"    * ``--ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_87a61253","line":16,"range":{"start_line":16,"start_character":43,"end_line":16,"end_character":63},"in_reply_to":"9f560f44_5edc0ae3","updated":"2020-08-31 11:04:18.000000000","message":"Done","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6328bf3f136317f42dddd6ff3b239abf2ba3f3bb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    nothing about how the metadata-agent talks to Nova\u0027s metadata service."},{"line_number":14,"context_line":"    The guest OS is expected to pick up routes from Router Advertisements"},{"line_number":15,"context_line":"    for this feature to work on networks connected to a router."},{"line_number":16,"context_line":"    At least the following v6 subnet modes are supposed to work:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    * ``--ipv6-ra-mode slaac --ipv6-address-mode slaac``"},{"line_number":19,"context_line":"    * ``--ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_e760ae10","line":16,"range":{"start_line":16,"start_character":27,"end_line":16,"end_character":29},"in_reply_to":"9f560f44_eb325ef1","updated":"2020-08-31 11:04:18.000000000","message":"Done","commit_id":"2054f920e8cd5c7b2c5c652bc0a76f318c364855"}]}
