)]}'
{"doc/source/install/configure-ipv6-networking.rst":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":3,"context_line":"Configuring services for bare metal provisioning using IPv6"},{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Use of IPv6 addressing for baremetal provisioning require additional"},{"line_number":7,"context_line":"configuration. This page cover the IPv6 specifics only. Please refer to"},{"line_number":8,"context_line":":doc:`/install/configure-tenant-networks` and"},{"line_number":9,"context_line":":doc:`/install/configure-networking` for general networking configuration."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_112746cc","line":6,"range":{"start_line":6,"start_character":50,"end_line":6,"end_character":57},"updated":"2020-03-10 13:50:48.000000000","message":"requires","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":3,"context_line":"Configuring services for bare metal provisioning using IPv6"},{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Use of IPv6 addressing for baremetal provisioning require additional"},{"line_number":7,"context_line":"configuration. This page cover the IPv6 specifics only. Please refer to"},{"line_number":8,"context_line":":doc:`/install/configure-tenant-networks` and"},{"line_number":9,"context_line":":doc:`/install/configure-networking` for general networking configuration."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_54128c63","line":6,"range":{"start_line":6,"start_character":50,"end_line":6,"end_character":57},"in_reply_to":"1fa4df85_112746cc","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Metal Service\u0027s configuration file (``/etc/ironic/ironic.conf``) to ``6``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Provsioning with IPv6 stateless addressing"},{"line_number":21,"context_line":"------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_51393eef","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":11},"updated":"2020-03-10 13:50:48.000000000","message":"typo","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Metal Service\u0027s configuration file (``/etc/ironic/ironic.conf``) to ``6``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Provsioning with IPv6 stateless addressing"},{"line_number":21,"context_line":"------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_74154848","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":11},"in_reply_to":"1fa4df85_51393eef","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Service\u0027s, subnets should have ``ipv6-address-mode`` set to ``dhcpv6-stateless``"},{"line_number":35,"context_line":"and ``ip-version`` set to ``6``. Depending on whether a router in the Networking"},{"line_number":36,"context_line":"Service is providing RA\u0027s (Router Advertisements) or not, the ``ipv6-ra-mode``"},{"line_number":37,"context_line":"for the subnet(s) should be set to either ``dhcpv6-stateless`` or ``None``."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. Note:: If ``ipv6-ra-mode`` is set to ``None`` an external router on the"},{"line_number":40,"context_line":"          network is expected to provide RA\u0027s with the appropriate flags set"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_f4b13845","line":37,"range":{"start_line":37,"start_character":68,"end_line":37,"end_character":72},"updated":"2020-03-10 13:50:48.000000000","message":"Should this be \"slaac\" instead of None?\n\n  --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}\n                        IPv6 RA (Router Advertisement) mode, valid modes:\n                        [dhcpv6-stateful, dhcpv6-stateless, slaac]","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Service\u0027s, subnets should have ``ipv6-address-mode`` set to ``dhcpv6-stateless``"},{"line_number":35,"context_line":"and ``ip-version`` set to ``6``. Depending on whether a router in the Networking"},{"line_number":36,"context_line":"Service is providing RA\u0027s (Router Advertisements) or not, the ``ipv6-ra-mode``"},{"line_number":37,"context_line":"for the subnet(s) should be set to either ``dhcpv6-stateless`` or ``None``."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. Note:: If ``ipv6-ra-mode`` is set to ``None`` an external router on the"},{"line_number":40,"context_line":"          network is expected to provide RA\u0027s with the appropriate flags set"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_d748be5c","line":37,"range":{"start_line":37,"start_character":68,"end_line":37,"end_character":72},"in_reply_to":"1fa4df85_f4b13845","updated":"2020-03-10 14:10:56.000000000","message":"https://docs.openstack.org/neutron/latest/admin/config-ipv6.html#neutron-subnets-and-the-ipv6-api-attributes\n\nThese attributes can be set to the following values:\n\n    slaac\n\n    dhcpv6-stateful\n\n    dhcpv6-stateless\n\nThe attributes can also be left unset.\n\n\nI updated the doc to use \u0027unset\u0027 instead of \u0027None\u0027.","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"The \"identity-association\" (IA) construct used by DHCPv6 is challenging when"},{"line_number":52,"context_line":"booting over the network. Firmware, and ramdisks typically end up using"},{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_94bec4d2","line":54,"range":{"start_line":54,"start_character":25,"end_line":54,"end_character":29},"updated":"2020-03-10 13:50:48.000000000","message":"s/it\u0027s/its/","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":51,"context_line":"The \"identity-association\" (IA) construct used by DHCPv6 is challenging when"},{"line_number":52,"context_line":"booting over the network. Firmware, and ramdisks typically end up using"},{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_340b502a","line":54,"range":{"start_line":54,"start_character":25,"end_line":54,"end_character":29},"in_reply_to":"1fa4df85_94bec4d2","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_74f468f1","line":56,"range":{"start_line":56,"start_character":49,"end_line":56,"end_character":51},"updated":"2020-03-10 13:50:48.000000000","message":"typo","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_f4005804","line":56,"range":{"start_line":56,"start_character":49,"end_line":56,"end_character":51},"in_reply_to":"1fa4df85_74f468f1","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_f4dff862","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":10},"updated":"2020-03-10 13:50:48.000000000","message":"s/passed/past/","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":54,"context_line":"booting stage to release it\u0027s address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server ha no addresses available. To"},{"line_number":57,"context_line":"get passed this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_b7042216","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":10},"in_reply_to":"1fa4df85_f4dff862","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"},{"line_number":69,"context_line":"(``/etc/ironic/ironic.conf``). Using multiple addresses reservations ensure that"},{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_94a324b2","line":69,"range":{"start_line":69,"start_character":46,"end_line":69,"end_character":55},"updated":"2020-03-10 13:50:48.000000000","message":"address","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"},{"line_number":69,"context_line":"(``/etc/ironic/ironic.conf``). Using multiple addresses reservations ensure that"},{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_74ac689e","line":69,"range":{"start_line":69,"start_character":69,"end_line":69,"end_character":75},"updated":"2020-03-10 13:50:48.000000000","message":"ensures","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"},{"line_number":69,"context_line":"(``/etc/ironic/ironic.conf``). Using multiple addresses reservations ensure that"},{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_d71afe6c","line":69,"range":{"start_line":69,"start_character":69,"end_line":69,"end_character":75},"in_reply_to":"1fa4df85_74ac689e","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"},{"line_number":69,"context_line":"(``/etc/ironic/ironic.conf``). Using multiple addresses reservations ensure that"},{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_f715ba3d","line":69,"range":{"start_line":69,"start_character":46,"end_line":69,"end_character":55},"in_reply_to":"1fa4df85_94a324b2","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_d452fcdd","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":1},"updated":"2020-03-10 13:50:48.000000000","message":"s/a//","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_972a467c","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":1},"in_reply_to":"1fa4df85_d452fcdd","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_74854806","line":74,"range":{"start_line":74,"start_character":3,"end_line":74,"end_character":9},"updated":"2020-03-10 13:50:48.000000000","message":"ports","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_b72d0296","line":74,"range":{"start_line":74,"start_character":3,"end_line":74,"end_character":9},"in_reply_to":"1fa4df85_74854806","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_946244ad","line":75,"range":{"start_line":75,"start_character":13,"end_line":75,"end_character":16},"updated":"2020-03-10 13:50:48.000000000","message":"typo","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_77230aa8","line":75,"range":{"start_line":75,"start_character":13,"end_line":75,"end_character":16},"in_reply_to":"1fa4df85_946244ad","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  openstack baremetal port set --extra flat_provider_network\u003dTrue \u003cport-uuid\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_347b5028","line":76,"range":{"start_line":76,"start_character":74,"end_line":76,"end_character":78},"updated":"2020-03-10 13:50:48.000000000","message":"shows","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"28d1cc50576a862283a573b62004c27b37842055","unresolved":false,"context_lines":[{"line_number":73,"context_line":"a ``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on port\u0027s in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with noe switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example show"},{"line_number":77,"context_line":"how to set the flag::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  openstack baremetal port set --extra flat_provider_network\u003dTrue \u003cport-uuid\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_974fa669","line":76,"range":{"start_line":76,"start_character":74,"end_line":76,"end_character":78},"in_reply_to":"1fa4df85_347b5028","updated":"2020-03-10 14:10:56.000000000","message":"Done","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"dbf26078fb2530a12297ee53a8d8ba0dcbe50dc6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Service\u0027s, subnets should have ``ipv6-address-mode`` set to ``dhcpv6-stateful``"},{"line_number":91,"context_line":"and ``ip-version`` set to ``6``. Depending on whether a router in the Networking"},{"line_number":92,"context_line":"Service is providing RA\u0027s (Router Advertisements) or not, the ``ipv6-ra-mode``"},{"line_number":93,"context_line":"for the subnet(s) should be set to either ``dhcpv6-stateful`` or ``None``."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. Note:: If ``ipv6-ra-mode`` is set to ``None`` an external router on the"},{"line_number":96,"context_line":"          network is expected to provide RA\u0027s with the appropriate flags set"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1fa4df85_943004a1","line":93,"range":{"start_line":93,"start_character":67,"end_line":93,"end_character":71},"updated":"2020-03-10 13:50:48.000000000","message":"Same comment as above about \"slaac\".","commit_id":"2d07f8d5776d0038f4010811e5cbd8934d7f0b65"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"ebabe1a073c894da2a07b30a4af8653784124b87","unresolved":false,"context_lines":[{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Use of IPv6 addressing for baremetal provisioning requires additional"},{"line_number":7,"context_line":"configuration. This page cover the IPv6 specifics only. Please refer to"},{"line_number":8,"context_line":":doc:`/install/configure-tenant-networks` and"},{"line_number":9,"context_line":":doc:`/install/configure-networking` for general networking configuration."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_f5c4b661","line":7,"range":{"start_line":7,"start_character":25,"end_line":7,"end_character":30},"updated":"2020-03-11 19:59:35.000000000","message":"nit: covers","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"796fcc2dec8f87a7386d2e97ee99d8c78b699e56","unresolved":false,"context_lines":[{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Use of IPv6 addressing for baremetal provisioning requires additional"},{"line_number":7,"context_line":"configuration. This page cover the IPv6 specifics only. Please refer to"},{"line_number":8,"context_line":":doc:`/install/configure-tenant-networks` and"},{"line_number":9,"context_line":":doc:`/install/configure-networking` for general networking configuration."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_b0a95a91","line":7,"range":{"start_line":7,"start_character":25,"end_line":7,"end_character":30},"in_reply_to":"1fa4df85_f5c4b661","updated":"2020-03-12 18:50:21.000000000","message":"Done","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"ebabe1a073c894da2a07b30a4af8653784124b87","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Provisioning with IPv6 stateless addressing"},{"line_number":21,"context_line":"-------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."},{"line_number":24,"context_line":"DHCPv6 is however providing other configuration via DHCPv6 options such as the"},{"line_number":25,"context_line":"bootfile-url and bootfile-parameters."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_95b6a2dc","line":23,"range":{"start_line":23,"start_character":39,"end_line":23,"end_character":55},"updated":"2020-03-11 19:59:35.000000000","message":"nit: does not provide","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"796fcc2dec8f87a7386d2e97ee99d8c78b699e56","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Provisioning with IPv6 stateless addressing"},{"line_number":21,"context_line":"-------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."},{"line_number":24,"context_line":"DHCPv6 is however providing other configuration via DHCPv6 options such as the"},{"line_number":25,"context_line":"bootfile-url and bootfile-parameters."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_d0ae5697","line":23,"range":{"start_line":23,"start_character":39,"end_line":23,"end_character":55},"in_reply_to":"1fa4df85_95b6a2dc","updated":"2020-03-12 18:50:21.000000000","message":"Done","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"ebabe1a073c894da2a07b30a4af8653784124b87","unresolved":false,"context_lines":[{"line_number":21,"context_line":"-------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."},{"line_number":24,"context_line":"DHCPv6 is however providing other configuration via DHCPv6 options such as the"},{"line_number":25,"context_line":"bootfile-url and bootfile-parameters."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once the PXE driver is set to operate in IPv6 mode no further configuration is"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_75b526cd","line":24,"range":{"start_line":24,"start_character":7,"end_line":24,"end_character":27},"updated":"2020-03-11 19:59:35.000000000","message":"nit: however provides","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"796fcc2dec8f87a7386d2e97ee99d8c78b699e56","unresolved":false,"context_lines":[{"line_number":21,"context_line":"-------------------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"When using stateless addressing DHCPv6 is not providing addresses to the client."},{"line_number":24,"context_line":"DHCPv6 is however providing other configuration via DHCPv6 options such as the"},{"line_number":25,"context_line":"bootfile-url and bootfile-parameters."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once the PXE driver is set to operate in IPv6 mode no further configuration is"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1fa4df85_7093e25d","line":24,"range":{"start_line":24,"start_character":7,"end_line":24,"end_character":27},"in_reply_to":"1fa4df85_75b526cd","updated":"2020-03-12 18:50:21.000000000","message":"Done","commit_id":"62985bad09e8647121fb1ef3316fb1b0c7f8e478"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The ironic PXE driver operates in either IPv4 or IPv6 mode (IPv4 is the"},{"line_number":16,"context_line":"default). To enable IPv6 mode, set the ``[pxe]/ip_version`` option in the Bare"},{"line_number":17,"context_line":"Metal Service\u0027s configuration file (``/etc/ironic/ironic.conf``) to ``6``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Provisioning with IPv6 stateless addressing"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_bf901097","line":17,"updated":"2020-03-17 13:32:35.000000000","message":"Note: we\u0027re talking about ripping out [pxe]ip_version in a future release.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The ironic PXE driver operates in either IPv4 or IPv6 mode (IPv4 is the"},{"line_number":16,"context_line":"default). To enable IPv6 mode, set the ``[pxe]/ip_version`` option in the Bare"},{"line_number":17,"context_line":"Metal Service\u0027s configuration file (``/etc/ironic/ironic.conf``) to ``6``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Provisioning with IPv6 stateless addressing"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_55ec5828","line":17,"in_reply_to":"1fa4df85_bf901097","updated":"2020-03-17 18:42:35.000000000","message":"yes, dual mode support would be good.\nI added a note that it is planned for a future release.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server has no addresses available. To"},{"line_number":57,"context_line":"get past this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"},{"line_number":61,"context_line":"          provisioning using the ``flat`` network interface is not recommended"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_ffca084d","line":58,"updated":"2020-03-17 13:32:35.000000000","message":"We should indicate the expected version of neutron required and the expected version of dnsmasq since this required changes in both.\n\nAlso likely putting a note in indicating that alternative neutron dhcp backends may have different results.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server has no addresses available. To"},{"line_number":57,"context_line":"get past this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"},{"line_number":61,"context_line":"          provisioning using the ``flat`` network interface is not recommended"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_951c10c2","line":58,"in_reply_to":"1fa4df85_ffca084d","updated":"2020-03-17 18:42:35.000000000","message":"I put the neutron version requirement in a note further down.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":47,"context_line":"When using stateful addressing DHCPv6 is providing both addresses and other"},{"line_number":48,"context_line":"configuration via DHCPv6 options such as the bootfile-url and bootfile-"},{"line_number":49,"context_line":"parameters."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The \"identity-association\" (IA) construct used by DHCPv6 is challenging when"},{"line_number":52,"context_line":"booting over the network. Firmware, and ramdisks typically end up using"},{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release its address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server has no addresses available. To"},{"line_number":57,"context_line":"get past this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"},{"line_number":61,"context_line":"          provisioning using the ``flat`` network interface is not recommended"},{"line_number":62,"context_line":"          (It will not work in most cases)."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When using the ``neutron`` network interface the Baremetal Service will allocate"},{"line_number":65,"context_line":"multiple IPv6 addresses (4 addresses by default) on the service networks used"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_df4e2c37","line":62,"range":{"start_line":50,"start_character":0,"end_line":62,"end_character":43},"updated":"2020-03-17 13:32:35.000000000","message":"Maybe break this into a distinct subsection?","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"When using stateful addressing DHCPv6 is providing both addresses and other"},{"line_number":48,"context_line":"configuration via DHCPv6 options such as the bootfile-url and bootfile-"},{"line_number":49,"context_line":"parameters."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The \"identity-association\" (IA) construct used by DHCPv6 is challenging when"},{"line_number":52,"context_line":"booting over the network. Firmware, and ramdisks typically end up using"},{"line_number":53,"context_line":"different DUID/IAID combinations and it is not always possible for one chain-"},{"line_number":54,"context_line":"booting stage to release its address before giving control to the next step. In"},{"line_number":55,"context_line":"case the DHCPv6 server is configured with static reservations only the result is"},{"line_number":56,"context_line":"that booting will fail because the DHCPv6 server has no addresses available. To"},{"line_number":57,"context_line":"get past this issue either configure the DHCPv6 server with multiple address"},{"line_number":58,"context_line":"reservations for each host, or use a dynamic range."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. Note:: Due to the \"identity-association\" challenges with DHCPv6"},{"line_number":61,"context_line":"          provisioning using the ``flat`` network interface is not recommended"},{"line_number":62,"context_line":"          (It will not work in most cases)."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When using the ``neutron`` network interface the Baremetal Service will allocate"},{"line_number":65,"context_line":"multiple IPv6 addresses (4 addresses by default) on the service networks used"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_d5228801","line":62,"range":{"start_line":50,"start_character":0,"end_line":62,"end_character":43},"in_reply_to":"1fa4df85_df4e2c37","updated":"2020-03-17 18:42:35.000000000","message":"Done","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":62,"context_line":"          (It will not work in most cases)."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When using the ``neutron`` network interface the Baremetal Service will allocate"},{"line_number":65,"context_line":"multiple IPv6 addresses (4 addresses by default) on the service networks used"},{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_df670cb7","line":65,"range":{"start_line":65,"start_character":24,"end_line":65,"end_character":48},"updated":"2020-03-17 13:32:35.000000000","message":"4 per interface mac? 4 per node?","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":62,"context_line":"          (It will not work in most cases)."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When using the ``neutron`` network interface the Baremetal Service will allocate"},{"line_number":65,"context_line":"multiple IPv6 addresses (4 addresses by default) on the service networks used"},{"line_number":66,"context_line":"for provisioning, cleaning, rescue and introspection. The number of addresses"},{"line_number":67,"context_line":"allocated can be controlled via the ``[neutron]/dhcpv6_stateful_address_count``"},{"line_number":68,"context_line":"option in the Bare Metal Service\u0027s configuration file"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_f58224c8","line":65,"range":{"start_line":65,"start_character":24,"end_line":65,"end_character":48},"in_reply_to":"1fa4df85_df670cb7","updated":"2020-03-17 18:42:35.000000000","message":"Done","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on ports in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with no switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example shows"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_dffcecb6","line":73,"range":{"start_line":73,"start_character":46,"end_line":73,"end_character":76},"updated":"2020-03-17 13:32:35.000000000","message":"Is there any way to avoid using the extra field, since this seems kind of bad and will conflict with the way some operators use/leverage the field on ports and nodes.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"the DHCPv6 server can lease addresses to each step."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"To enable IPv6 provisioning on ``flat`` networks with no switch management, the"},{"line_number":73,"context_line":"``flat_provider_network`` flag can be set to ``True`` in the ``extra`` field"},{"line_number":74,"context_line":"on ports in the Baremetal Service to indicate that this is a flat provider"},{"line_number":75,"context_line":"network with no switch management. When this flag is set, the check for"},{"line_number":76,"context_line":"``local_link_connection`` information is by-passed. The following example shows"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_9571700f","line":73,"range":{"start_line":73,"start_character":46,"end_line":73,"end_character":76},"in_reply_to":"1fa4df85_dffcecb6","updated":"2020-03-17 18:42:35.000000000","message":"Moved this over to the local_link_connection field.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The use of multiple IPv6 addresses must also be enabled in the Networking"},{"line_number":82,"context_line":"Service\u0027s dhcp agent configuration (``/etc/neutron/dhcp_agent.ini``) by setting"},{"line_number":83,"context_line":"the option ``[DEFAULT]/dnsmasq_enable_addr6_list`` to ``True``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Creating networks and subnets in the Networking Service"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_5fdf9c39","line":83,"updated":"2020-03-17 13:32:35.000000000","message":"nit: Please indicate the default setting as of the xyz releaese cycle.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bbc1684890d19586bc4fc28ca9c2f2b4c94961b","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The use of multiple IPv6 addresses must also be enabled in the Networking"},{"line_number":82,"context_line":"Service\u0027s dhcp agent configuration (``/etc/neutron/dhcp_agent.ini``) by setting"},{"line_number":83,"context_line":"the option ``[DEFAULT]/dnsmasq_enable_addr6_list`` to ``True``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Creating networks and subnets in the Networking Service"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1fa4df85_754f14bd","line":83,"in_reply_to":"1fa4df85_5fdf9c39","updated":"2020-03-17 18:42:35.000000000","message":"Done","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"922dee935d8bed0f09e0f01f6905899a92c30516","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _configure-ipv6-networking:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Configuring services for bare metal provisioning using IPv6"},{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":15,"id":"df33271e_7f5a342a","line":1,"updated":"2020-03-26 16:47:05.000000000","message":"nit: not needed (can use :doc: to address)","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"013f4928fb1dadd62937ecabb58fd71286e8ba55","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _configure-ipv6-networking:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Configuring services for bare metal provisioning using IPv6"},{"line_number":4,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":15,"id":"df33271e_9bc6279a","line":1,"in_reply_to":"df33271e_7f5a342a","updated":"2020-03-26 21:29:09.000000000","message":"Done","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"922dee935d8bed0f09e0f01f6905899a92c30516","unresolved":false,"context_lines":[{"line_number":76,"context_line":"``flat`` network interface is not recommended. When ironic operate with the"},{"line_number":77,"context_line":"``flat`` network interface the server instance port is used for provisioning and"},{"line_number":78,"context_line":"other operations. Ironic will not use multiple address reservations in this"},{"line_number":79,"context_line":"scenario. Because of this *It will not work in most cases*."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Using the ``neutron`` network interface"},{"line_number":82,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":15,"id":"df33271e_1f4b2859","line":79,"range":{"start_line":79,"start_character":27,"end_line":79,"end_character":29},"updated":"2020-03-26 16:47:05.000000000","message":"nit: it","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"013f4928fb1dadd62937ecabb58fd71286e8ba55","unresolved":false,"context_lines":[{"line_number":76,"context_line":"``flat`` network interface is not recommended. When ironic operate with the"},{"line_number":77,"context_line":"``flat`` network interface the server instance port is used for provisioning and"},{"line_number":78,"context_line":"other operations. Ironic will not use multiple address reservations in this"},{"line_number":79,"context_line":"scenario. Because of this *It will not work in most cases*."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Using the ``neutron`` network interface"},{"line_number":82,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":15,"id":"df33271e_fbd5b344","line":79,"range":{"start_line":79,"start_character":27,"end_line":79,"end_character":29},"in_reply_to":"df33271e_1f4b2859","updated":"2020-03-26 21:29:09.000000000","message":"Done, doc\u0027s moved to new change: https://review.opendev.org/715313","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"}],"ironic/api/controllers/v1/types.py":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"721cdc50aaf4eb62a483cbef5838aa8055e0a811","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        # If network_type is \u0027unmanaged\u0027, this is a network with no switch"},{"line_number":323,"context_line":"        # management. i.e local_link_connection details are not required."},{"line_number":324,"context_line":"        if \u0027network_type\u0027 in keys:"},{"line_number":325,"context_line":"            if keys - {\u0027network_type\u0027}:"},{"line_number":326,"context_line":"                msg \u003d _(\u0027network_type cannot be combined with other keys. \u0027"},{"line_number":327,"context_line":"                        \u0027Submitted keys are %(keys)s .\u0027) % {\u0027keys\u0027: keys}"}],"source_content_type":"text/x-python","patch_set":14,"id":"1fa4df85_81e7c912","line":324,"range":{"start_line":324,"start_character":12,"end_line":324,"end_character":24},"updated":"2020-03-19 21:46:02.000000000","message":"Will introspection overwrite this with discovered switch_id\u0027s and pord_id\u0027s from LLDP?","commit_id":"2df74c74610d39b406338a12663259997ca5f641"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"4bdc8268d7d3e2cedd28a652cd5a5ba4dd60e25b","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        # If network_type is \u0027unmanaged\u0027, this is a network with no switch"},{"line_number":323,"context_line":"        # management. i.e local_link_connection details are not required."},{"line_number":324,"context_line":"        if \u0027network_type\u0027 in keys:"},{"line_number":325,"context_line":"            if keys - {\u0027network_type\u0027}:"},{"line_number":326,"context_line":"                msg \u003d _(\u0027network_type cannot be combined with other keys. \u0027"},{"line_number":327,"context_line":"                        \u0027Submitted keys are %(keys)s .\u0027) % {\u0027keys\u0027: keys}"}],"source_content_type":"text/x-python","patch_set":14,"id":"1fa4df85_2195b533","line":324,"range":{"start_line":324,"start_character":12,"end_line":324,"end_character":24},"in_reply_to":"1fa4df85_81e7c912","updated":"2020-03-19 21:50:42.000000000","message":"yes, it will - https://opendev.org/openstack/ironic-inspector/src/branch/master/ironic_inspector/plugins/local_link_connection.py#L162\n\nThis needs and update.","commit_id":"2df74c74610d39b406338a12663259997ca5f641"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"922dee935d8bed0f09e0f01f6905899a92c30516","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                             smart_nic_mandatory_fields]"},{"line_number":277,"context_line":"    optional_fields \u003d {\u0027switch_info\u0027, \u0027network_type\u0027}"},{"line_number":278,"context_line":"    valid_fields \u003d set.union(optional_fields, *mandatory_fields_list)"},{"line_number":279,"context_line":"    valid_network_types \u003d {\u0027unmanaged\u0027}"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @staticmethod"},{"line_number":282,"context_line":"    def validate(value):"}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_3f9eecb7","line":279,"updated":"2020-03-26 16:47:05.000000000","message":"nit: probably allow \u0027managed\u0027 for consistency?","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"013f4928fb1dadd62937ecabb58fd71286e8ba55","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                             smart_nic_mandatory_fields]"},{"line_number":277,"context_line":"    optional_fields \u003d {\u0027switch_info\u0027, \u0027network_type\u0027}"},{"line_number":278,"context_line":"    valid_fields \u003d set.union(optional_fields, *mandatory_fields_list)"},{"line_number":279,"context_line":"    valid_network_types \u003d {\u0027unmanaged\u0027}"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @staticmethod"},{"line_number":282,"context_line":"    def validate(value):"}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_554c719d","line":279,"in_reply_to":"df33271e_3f9eecb7","updated":"2020-03-26 21:29:09.000000000","message":"Done","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"922dee935d8bed0f09e0f01f6905899a92c30516","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        # If network_type is \u0027unmanaged\u0027, this is a network with no switch"},{"line_number":323,"context_line":"        # management. i.e local_link_connection details are not required."},{"line_number":324,"context_line":"        if \u0027network_type\u0027 in keys:"},{"line_number":325,"context_line":"            if (value[\u0027network_type\u0027] not in"},{"line_number":326,"context_line":"                    LocalLinkConnectionType.valid_network_types):"},{"line_number":327,"context_line":"                msg \u003d _("}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_bf92fc9d","line":324,"updated":"2020-03-26 16:47:05.000000000","message":"You\u0027re going to want to kill me probably.. but this is an API addition and needs a microversion.","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"013f4928fb1dadd62937ecabb58fd71286e8ba55","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        # If network_type is \u0027unmanaged\u0027, this is a network with no switch"},{"line_number":323,"context_line":"        # management. i.e local_link_connection details are not required."},{"line_number":324,"context_line":"        if \u0027network_type\u0027 in keys:"},{"line_number":325,"context_line":"            if (value[\u0027network_type\u0027] not in"},{"line_number":326,"context_line":"                    LocalLinkConnectionType.valid_network_types):"},{"line_number":327,"context_line":"                msg \u003d _("}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_bb504bd6","line":324,"in_reply_to":"df33271e_955c397f","updated":"2020-03-26 21:29:09.000000000","message":"So I split out the local_link_connection bits to https://review.opendev.org/715312","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"08a2998305854f613e8c772e73e5e44a33cf72e0","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        # If network_type is \u0027unmanaged\u0027, this is a network with no switch"},{"line_number":323,"context_line":"        # management. i.e local_link_connection details are not required."},{"line_number":324,"context_line":"        if \u0027network_type\u0027 in keys:"},{"line_number":325,"context_line":"            if (value[\u0027network_type\u0027] not in"},{"line_number":326,"context_line":"                    LocalLinkConnectionType.valid_network_types):"},{"line_number":327,"context_line":"                msg \u003d _("}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_955c397f","line":324,"in_reply_to":"df33271e_bf92fc9d","updated":"2020-03-26 19:02:18.000000000","message":"ehm, killing is drastic. But, the microversion makes this non-backportable?","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"922dee935d8bed0f09e0f01f6905899a92c30516","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                        LocalLinkConnectionType.valid_network_types}"},{"line_number":333,"context_line":"                raise exception.Invalid(msg)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"            if not keys - {\u0027network_type\u0027}:"},{"line_number":336,"context_line":"                # Only valid network_type is set, no for further validation"},{"line_number":337,"context_line":"                return value"},{"line_number":338,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_5f84905e","line":335,"updated":"2020-03-26 16:47:05.000000000","message":"Strictly speaking, this needs `value[\u0027network_type\u0027] \u003d\u003d \"unmanaged\"` in case we add more types (or add \"managed\" for consistency)","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"013f4928fb1dadd62937ecabb58fd71286e8ba55","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                        LocalLinkConnectionType.valid_network_types}"},{"line_number":333,"context_line":"                raise exception.Invalid(msg)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"            if not keys - {\u0027network_type\u0027}:"},{"line_number":336,"context_line":"                # Only valid network_type is set, no for further validation"},{"line_number":337,"context_line":"                return value"},{"line_number":338,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"df33271e_f57b05bb","line":335,"in_reply_to":"df33271e_5f84905e","updated":"2020-03-26 21:29:09.000000000","message":"If the field is {\u0027network_type\u0027: \u0027unmanaged\u0027, \u0027switch_id\u0027: \u0027INVALID\u0027, \u0027port_id\u0027: \u0027FOO\u0027} I think validating the other fields is still relevant?","commit_id":"c0344470adeb576e7720cbd0c81127e0fb091128"}],"ironic/common/neutron.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c9c01320378acdba51f8cb5e69e2421c0076a729","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    subnet \u003d client.show_subnet("},{"line_number":213,"context_line":"        port[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]).get(\u0027subnet\u0027)"},{"line_number":214,"context_line":"    if subnet and subnet[\u0027ipv6_address_mode\u0027] \u003d\u003d \u0027dhcpv6-stateful\u0027:"},{"line_number":215,"context_line":"        for i in range(1, CONF.neutron.dhcpv6_stateful_address_count):"},{"line_number":216,"context_line":"            fixed_ips.append({\u0027subnet_id\u0027: subnet[\u0027id\u0027]})"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_de37eeaf","line":214,"updated":"2020-03-02 19:26:15.000000000","message":"I guess ironic doesn\u0027t require neutron-lib, else I\u0027d suggest you use constants.DHCPV6_STATEFUL","commit_id":"578f01461452cd3b94e9b1e687a4c435f69efe70"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"bfc8f57b9c13e1aca41da00f776ec4c10899a53c","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    subnet \u003d client.show_subnet("},{"line_number":213,"context_line":"        port[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]).get(\u0027subnet\u0027)"},{"line_number":214,"context_line":"    if subnet and subnet[\u0027ipv6_address_mode\u0027] \u003d\u003d \u0027dhcpv6-stateful\u0027:"},{"line_number":215,"context_line":"        for i in range(1, CONF.neutron.dhcpv6_stateful_address_count):"},{"line_number":216,"context_line":"            fixed_ips.append({\u0027subnet_id\u0027: subnet[\u0027id\u0027]})"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_5c26a1d0","line":214,"in_reply_to":"1fa4df85_de37eeaf","updated":"2020-03-03 07:38:09.000000000","message":"Yes, ironic is being used in standalone without any other openstack components so I don\u0027t think requiring neutron-lib is on the table.","commit_id":"578f01461452cd3b94e9b1e687a4c435f69efe70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c71ce9f92b23eb33aa2e4f094b75f13247d2969c","unresolved":false,"context_lines":[{"line_number":538,"context_line":"    :param port: Ironic port object."},{"line_number":539,"context_line":"    :returns: True if port info is valid, False otherwise."},{"line_number":540,"context_line":"    \"\"\""},{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":4,"id":"1fa4df85_c486fcb9","line":545,"range":{"start_line":541,"start_character":0,"end_line":545,"end_character":19},"updated":"2020-03-06 10:52:49.000000000","message":"Could we not query the network for this? Ideally only if there is no local link connection field, to avoid an unnecessary API lookup.","commit_id":"36e2fe40fca205e3f8f53975ae80e727db68236e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"4c6f8d1e20551187a08fbe33aa8cac785d48423e","unresolved":false,"context_lines":[{"line_number":538,"context_line":"    :param port: Ironic port object."},{"line_number":539,"context_line":"    :returns: True if port info is valid, False otherwise."},{"line_number":540,"context_line":"    \"\"\""},{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":4,"id":"1fa4df85_ca48432e","line":545,"range":{"start_line":541,"start_character":0,"end_line":545,"end_character":19},"in_reply_to":"1fa4df85_c486fcb9","updated":"2020-03-06 12:28:21.000000000","message":"Are there any ML2 drivers that operate on flat network? i.e something that just set\u0027s a switch port UP/DOWN?\nIf that is the case we don\u0027t want to ignore the missing link_local_connection field?","commit_id":"36e2fe40fca205e3f8f53975ae80e727db68236e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"afda1987b8b999490bdd77dd590316a2b3645bfe","unresolved":false,"context_lines":[{"line_number":538,"context_line":"    :param port: Ironic port object."},{"line_number":539,"context_line":"    :returns: True if port info is valid, False otherwise."},{"line_number":540,"context_line":"    \"\"\""},{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":4,"id":"1fa4df85_caf603d8","line":545,"range":{"start_line":541,"start_character":0,"end_line":545,"end_character":19},"in_reply_to":"1fa4df85_ca48432e","updated":"2020-03-06 12:35:50.000000000","message":"That\u0027s a good point. I\u0027m not aware of any, but we shouldn\u0027t prevent it.","commit_id":"36e2fe40fca205e3f8f53975ae80e727db68236e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        port[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]).get(\u0027subnet\u0027)"},{"line_number":214,"context_line":"    if subnet and subnet[\u0027ipv6_address_mode\u0027] \u003d\u003d \u0027dhcpv6-stateful\u0027:"},{"line_number":215,"context_line":"        for i in range(1, CONF.neutron.dhcpv6_stateful_address_count):"},{"line_number":216,"context_line":"            fixed_ips.append({\u0027subnet_id\u0027: subnet[\u0027id\u0027]})"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        body \u003d {\u0027port\u0027: {\u0027fixed_ips\u0027: fixed_ips}}"},{"line_number":219,"context_line":"        client.update_port(port[\u0027port\u0027][\u0027id\u0027], body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_7fbb78e4","line":216,"updated":"2020-03-17 13:32:35.000000000","message":"so 4 for port, makes sense.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_1fca846d","line":545,"range":{"start_line":544,"start_character":0,"end_line":545,"end_character":19},"updated":"2020-03-17 13:32:35.000000000","message":"Is there anywhere or any way to avoid the extra field usage?","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d6b5f3e4b21427b2c106f5419a1269a1b49e10","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_9f2d14ff","line":545,"range":{"start_line":544,"start_character":0,"end_line":545,"end_character":19},"in_reply_to":"1fa4df85_1fca846d","updated":"2020-03-17 13:34:40.000000000","message":"Maybe update the local_link_connection structure with it? Extra is really not the right place, it\u0027s designed for operators and must be transparent for ironic.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"ccc63ef51a6d0f271de99be98159f546e4eecdcb","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    # Note(hjensas): When flat_provider_network is set in extra field allow"},{"line_number":542,"context_line":"    # empty local_link_connection. This is useful for stateful IPv6 networks"},{"line_number":543,"context_line":"    # where we need multiple IP addresses to be able to network boot."},{"line_number":544,"context_line":"    if port.extra.get(\u0027flat_provider_network\u0027):"},{"line_number":545,"context_line":"        return True"},{"line_number":546,"context_line":"    # Note(moshele): client-id in the port extra field indicates an InfiniBand"},{"line_number":547,"context_line":"    # port.  In this case we don\u0027t require local_link_connection to be"},{"line_number":548,"context_line":"    # populated because the network topology is discoverable by the Infiniband"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_3a08ae26","line":545,"range":{"start_line":544,"start_character":0,"end_line":545,"end_character":19},"in_reply_to":"1fa4df85_9f2d14ff","updated":"2020-03-17 13:50:01.000000000","message":"Ok, I figured since we are doing it for infiniband it would be ok. I will take a look at the validator for the local_link_connection.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"}],"ironic/tests/unit/common/test_neutron.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c9c01320378acdba51f8cb5e69e2421c0076a729","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            }"},{"line_number":272,"context_line":"        }"},{"line_number":273,"context_line":"        self.neutron_port[\u0027fixed_ips\u0027] \u003d [{\u0027subnet_id\u0027: subnet_id,"},{"line_number":274,"context_line":"                                           \u0027ip_address\u0027: \u0027fd12:3456:789a::1\u0027}]"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        expected_body \u003d {"},{"line_number":277,"context_line":"            \u0027port\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_7ef4bacf","line":274,"updated":"2020-03-02 19:26:15.000000000","message":"I\u0027d suggest something in the 2001:db8:: documentation prefix range","commit_id":"578f01461452cd3b94e9b1e687a4c435f69efe70"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"bfc8f57b9c13e1aca41da00f776ec4c10899a53c","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            }"},{"line_number":272,"context_line":"        }"},{"line_number":273,"context_line":"        self.neutron_port[\u0027fixed_ips\u0027] \u003d [{\u0027subnet_id\u0027: subnet_id,"},{"line_number":274,"context_line":"                                           \u0027ip_address\u0027: \u0027fd12:3456:789a::1\u0027}]"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        expected_body \u003d {"},{"line_number":277,"context_line":"            \u0027port\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_0706961e","line":274,"in_reply_to":"1fa4df85_7ef4bacf","updated":"2020-03-03 07:38:09.000000000","message":"Done","commit_id":"578f01461452cd3b94e9b1e687a4c435f69efe70"}],"releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"dfdc976384bd3c389d169208d6b7039efe70fe95","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":"    For baremetal operations on DHCPv6-stateful networks multiple IPv6"},{"line_number":5,"context_line":"    addresses can now be allocated for neutron ports created for provisioning,"},{"line_number":6,"context_line":"    cleaning, rescue or inspection. The new parameter"},{"line_number":7,"context_line":"    ``dhcpv6_stateful_address_count`` controls the number of addresses to"},{"line_number":8,"context_line":"    allocate (Default: 4)."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1fa4df85_9f8c3436","line":8,"range":{"start_line":4,"start_character":6,"end_line":8,"end_character":26},"updated":"2020-03-17 13:32:35.000000000","message":"We should likely note that this is for dnsmasq\u0027s so machines can be supported.","commit_id":"c8e565bbd4a6a62b1bec613d5b876f11550234d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e22ba859f25765fb024d5bae934095bba566f379","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    For baremetal operations on DHCPv6-stateful networks multiple IPv6"},{"line_number":5,"context_line":"    addresses can now be allocated for neutron ports created for provisioning,"},{"line_number":6,"context_line":"    cleaning, rescue or inspection. The new parameter"},{"line_number":7,"context_line":"    ``dhcpv6_stateful_address_count`` controls the number of addresses to"},{"line_number":8,"context_line":"    allocate (Default: 4)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    To allow use of the ``neutron`` network interface in combination with"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1fa4df85_0600cf00","line":7,"updated":"2020-03-19 20:19:42.000000000","message":"s/dhcpv6/[neutron]dhcpv6/","commit_id":"0b6b787ec41d54eebc7ab55cfcdc224a8b0f2cfb"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"0a7879e5c2d54679f6f48c13f5528cf2ef808d94","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    For baremetal operations on DHCPv6-stateful networks multiple IPv6"},{"line_number":5,"context_line":"    addresses can now be allocated for neutron ports created for provisioning,"},{"line_number":6,"context_line":"    cleaning, rescue or inspection. The new parameter"},{"line_number":7,"context_line":"    ``dhcpv6_stateful_address_count`` controls the number of addresses to"},{"line_number":8,"context_line":"    allocate (Default: 4)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    To allow use of the ``neutron`` network interface in combination with"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1fa4df85_8174a969","line":7,"in_reply_to":"1fa4df85_0600cf00","updated":"2020-03-19 21:41:03.000000000","message":"Done","commit_id":"0b6b787ec41d54eebc7ab55cfcdc224a8b0f2cfb"}]}
