)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Now that we have this information, we can use it as a pre-filtering for"},{"line_number":10,"context_line":"suitable hosts."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"With this patch we complete the blueprint. As a result, documentation"},{"line_number":13,"context_line":"and release notes are bundled in the patch and previously inactive tests"},{"line_number":14,"context_line":"are now enabled."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"5f7c97a3_5f8059f6","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":42},"updated":"2018-07-20 15:36:03.000000000","message":"No it doesn\u0027t. This change doesn\u0027t deal with move operations and because we don\u0027t persist RequestSpec.network_metadata, we have to re-calculate that (from the instance.info_cache I think we said in the spec) prior to calling the scheduler for any move (evacuate, unshelve, cold and live migrate).","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b34d179ebc715ac0b6af9776fcb1789bcc276752","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Now that we have this information, we can use it as a pre-filtering for"},{"line_number":10,"context_line":"suitable hosts."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"With this patch we complete the blueprint. As a result, documentation"},{"line_number":13,"context_line":"and release notes are bundled in the patch and previously inactive tests"},{"line_number":14,"context_line":"are now enabled."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"5f7c97a3_3f98fd17","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":42},"in_reply_to":"5f7c97a3_5f8059f6","updated":"2018-07-20 15:41:41.000000000","message":"Also, I\u0027d write the move operation stuff (which likely will live in conductor) in a change before this one in the API which enables this for new servers. Because I think, from the spec, we said that we\u0027d need to rely on the instance.info_cache having used networks with L2/L3 stuff and that\u0027s how we\u0027d rebuild the RequestSpec.network_metadata prior to calling the scheduler during the move operation, which likely also means we need changes to the nova.network.model.Network object to store that information about physnets and if it\u0027s tunneled or not.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"}],"doc/source/admin/cpu-topologies.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f1c7d76630841372f554688174fb787bd4456b53","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  CPUs on the system and can execute workloads in parallel. However, as with"},{"line_number":32,"context_line":"  NUMA, threads compete for shared resources."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Non Uniform I/O Access (NUMA I/O)"},{"line_number":35,"context_line":"  In a NUMA system, I/O to a device mapped to a local memory region is more"},{"line_number":36,"context_line":"  efficient than I/O to a remote device. A device connected to the same socket"},{"line_number":37,"context_line":"  providing the CPU and memory offers lower latencies for I/O operations due to"}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_6859708b","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":11},"updated":"2018-07-25 21:52:50.000000000","message":"Non-Uniform","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f1c7d76630841372f554688174fb787bd4456b53","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  providing the CPU and memory offers lower latencies for I/O operations due to"},{"line_number":38,"context_line":"  its physical proximity. This generally manifests itself in devices connected"},{"line_number":39,"context_line":"  to the PCIe bus, such as NICs or vGPUs, but applies to any device support"},{"line_number":40,"context_line":"  memory mapped I/O."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In OpenStack, SMP CPUs are known as *cores*, NUMA cells or nodes are known as"},{"line_number":43,"context_line":"*sockets*, and SMT CPUs are known as *threads*. For example, a quad-socket,"}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_0850fc5e","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":15},"updated":"2018-07-25 21:52:50.000000000","message":"memory-mapped","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"}],"doc/source/admin/networking.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":7,"context_line":"additional features not possible with neutron alone. These are described below."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"SR-IOV"},{"line_number":11,"context_line":"------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. versionchanged:: 2014.2"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_df8b0abe","line":10,"updated":"2018-07-20 15:36:03.000000000","message":"not really relevant for this change...and i\u0027m not sure if a dedicated networking guide for nova/neutron stuff within nova means we\u0027ll also need to cross reference stuff like routed networks for scheduling...as long as the sections in nova\u0027s docs don\u0027t duplicate too much from the neutron networking guide it might be ok.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bf588711c093d94823da8d98cce7ee947f50c4d7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"additional features not possible with neutron alone. These are described below."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"SR-IOV"},{"line_number":11,"context_line":"------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. versionchanged:: 2014.2"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_3583f157","line":10,"in_reply_to":"5f7c97a3_0295a687","updated":"2018-07-24 21:04:21.000000000","message":"It\u0027s OK, especially since below you reference SR-IOV. I just don\u0027t want to duplicate too much in nova docs that can be found in the neutron docs.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"additional features not possible with neutron alone. These are described below."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"SR-IOV"},{"line_number":11,"context_line":"------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. versionchanged:: 2014.2"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_0295a687","line":10,"in_reply_to":"5f7c97a3_df8b0abe","updated":"2018-07-20 16:26:05.000000000","message":"I stuck this in here because a networking document with only the NUMA stuff felt odd. I\u0027ll keep it for now unless you really don\u0027t like it","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":21,"context_line":"are able to achieve low latency and near-line wire speed."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A full guide on configuring and using SR-IOV is provided in the"},{"line_number":24,"context_line":":neutron-doc:`OpenStack Networking service documentation \u003cadmin/config-sriov\u003e`"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"NUMA Affinity"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_3f3a3d96","line":24,"range":{"start_line":24,"start_character":71,"end_line":24,"end_character":76},"updated":"2018-07-20 15:36:03.000000000","message":"Does this need the .html or not, because you reference admin/deploy-lb-selfservice.html below with the html.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"are able to achieve low latency and near-line wire speed."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A full guide on configuring and using SR-IOV is provided in the"},{"line_number":24,"context_line":":neutron-doc:`OpenStack Networking service documentation \u003cadmin/config-sriov\u003e`"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"NUMA Affinity"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_22a7820b","line":24,"range":{"start_line":24,"start_character":71,"end_line":24,"end_character":76},"in_reply_to":"5f7c97a3_3f3a3d96","updated":"2018-07-20 16:26:05.000000000","message":"It does. Oops","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As described in :doc:`cpu-topologies`, NUMA is a computer architecture where"},{"line_number":40,"context_line":"memory accesses to certain regions of system memory can have higher latencies"},{"line_number":41,"context_line":"that other regions, depending on the CPU(s) your process is running on. This"},{"line_number":42,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":43,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":44,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_3f58fe54","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":4},"updated":"2018-07-20 15:36:03.000000000","message":"than","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As described in :doc:`cpu-topologies`, NUMA is a computer architecture where"},{"line_number":40,"context_line":"memory accesses to certain regions of system memory can have higher latencies"},{"line_number":41,"context_line":"that other regions, depending on the CPU(s) your process is running on. This"},{"line_number":42,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":43,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":44,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_c28a4e63","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":4},"in_reply_to":"5f7c97a3_3f58fe54","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":46,"context_line":"dataplane performance is a requirement."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Fortunately, nova provides functionality to ensure NUMA affinitization is"},{"line_number":49,"context_line":"provides for instances using neutron. How this works depends on the type of"},{"line_number":50,"context_line":"port you are trying to use."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. todo::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_bf316e0c","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":8},"updated":"2018-07-20 15:36:03.000000000","message":"provided","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"dataplane performance is a requirement."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Fortunately, nova provides functionality to ensure NUMA affinitization is"},{"line_number":49,"context_line":"provides for instances using neutron. How this works depends on the type of"},{"line_number":50,"context_line":"port you are trying to use."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. todo::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_42ecfe26","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":8},"in_reply_to":"5f7c97a3_bf316e0c","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":65,"context_line":"   - If a network is an L2-type network (``provider:network_type`` of ``flat``"},{"line_number":66,"context_line":"     or ``vlan``), affinity of the network to given NUMA node(s) can vary"},{"line_number":67,"context_line":"     depending on value of the ``provider:physical_network`` attribute of the"},{"line_number":68,"context_line":"     network, commonly referred to the *physnet* of the network. This is"},{"line_number":69,"context_line":"     because most neutron drivers map each *physnet* to a different bridge, to"},{"line_number":70,"context_line":"     which multiple NICs are attached, or to a different (logical) NIC."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_ffd92583","line":68,"range":{"start_line":68,"start_character":32,"end_line":68,"end_character":34},"updated":"2018-07-20 15:36:03.000000000","message":"to as","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":65,"context_line":"   - If a network is an L2-type network (``provider:network_type`` of ``flat``"},{"line_number":66,"context_line":"     or ``vlan``), affinity of the network to given NUMA node(s) can vary"},{"line_number":67,"context_line":"     depending on value of the ``provider:physical_network`` attribute of the"},{"line_number":68,"context_line":"     network, commonly referred to the *physnet* of the network. This is"},{"line_number":69,"context_line":"     because most neutron drivers map each *physnet* to a different bridge, to"},{"line_number":70,"context_line":"     which multiple NICs are attached, or to a different (logical) NIC."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_62efba1b","line":68,"range":{"start_line":68,"start_character":32,"end_line":68,"end_character":34},"in_reply_to":"5f7c97a3_ffd92583","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":72,"context_line":"   - If a network is an L3-type networks (``provider:network_type`` of"},{"line_number":73,"context_line":"     ``vxlan``, ``gre`` or ``geneve``), all traffic will use the device to"},{"line_number":74,"context_line":"     which the *endpoint IP* is assigned. This means all L3 networks on a given"},{"line_number":75,"context_line":"     host will have affinity to the same NUMA node(s)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. Determine the NUMA affinity of the NICs attached to the given network(s)."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_ffc28585","line":75,"updated":"2018-07-20 15:36:03.000000000","message":"Could link in https://docs.openstack.org/neutron/latest/admin/intro-overlay-protocols.html somehow for more details.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"   - If a network is an L3-type networks (``provider:network_type`` of"},{"line_number":73,"context_line":"     ``vxlan``, ``gre`` or ``geneve``), all traffic will use the device to"},{"line_number":74,"context_line":"     which the *endpoint IP* is assigned. This means all L3 networks on a given"},{"line_number":75,"context_line":"     host will have affinity to the same NUMA node(s)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. Determine the NUMA affinity of the NICs attached to the given network(s)."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_82cf76b1","line":75,"in_reply_to":"5f7c97a3_ffc28585","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      local_ip \u003d OVERLAY_INTERFACE_IP_ADDRESS"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"   Once you have the IP address in question, you can use :command:`ip` to"},{"line_number":110,"context_line":"   identify the device the has been assigned this IP address and from there can"},{"line_number":111,"context_line":"   query the NUMA affinity using *sysfs* as above."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"   .. note::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_7f5d15ea","line":110,"range":{"start_line":110,"start_character":23,"end_line":110,"end_character":26},"updated":"2018-07-20 15:36:03.000000000","message":"that","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      local_ip \u003d OVERLAY_INTERFACE_IP_ADDRESS"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"   Once you have the IP address in question, you can use :command:`ip` to"},{"line_number":110,"context_line":"   identify the device the has been assigned this IP address and from there can"},{"line_number":111,"context_line":"   query the NUMA affinity using *sysfs* as above."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"   .. note::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_22bea2ff","line":110,"range":{"start_line":110,"start_character":23,"end_line":110,"end_character":26},"in_reply_to":"5f7c97a3_7f5d15ea","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"   ``[neutron] physnets``"},{"line_number":130,"context_line":"     This should be set to the list of physnets for which you wish to provide"},{"line_number":131,"context_line":"     NUMA affinity for. Refer to the :oslo.config:option:`documentation"},{"line_number":132,"context_line":"     \u003cneutron.physnets\u003e` for more information."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_ff704575","line":131,"range":{"start_line":131,"start_character":19,"end_line":131,"end_character":22},"updated":"2018-07-20 15:36:03.000000000","message":"nix","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"   ``[neutron] physnets``"},{"line_number":130,"context_line":"     This should be set to the list of physnets for which you wish to provide"},{"line_number":131,"context_line":"     NUMA affinity for. Refer to the :oslo.config:option:`documentation"},{"line_number":132,"context_line":"     \u003cneutron.physnets\u003e` for more information."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_823456ad","line":131,"range":{"start_line":131,"start_character":19,"end_line":131,"end_character":22},"in_reply_to":"5f7c97a3_ff704575","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":132,"context_line":"     \u003cneutron.physnets\u003e` for more information."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_bf664dbb","line":135,"range":{"start_line":135,"start_character":24,"end_line":135,"end_character":26},"updated":"2018-07-20 15:36:03.000000000","message":"to the","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":132,"context_line":"     \u003cneutron.physnets\u003e` for more information."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_a23712af","line":135,"range":{"start_line":135,"start_character":24,"end_line":135,"end_character":26},"in_reply_to":"5f7c97a3_bf664dbb","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"},{"line_number":139,"context_line":"   networks on a given host. There is only one configuration option that must"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_1ff181de","line":136,"range":{"start_line":136,"start_character":5,"end_line":136,"end_character":29},"updated":"2018-07-20 15:36:03.000000000","message":"This sentence is a bit hard to parse. Do you mean \u0027instances\u0027 as in \u0027servers\u0027 (VMs)?","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"},{"line_number":139,"context_line":"   networks on a given host. There is only one configuration option that must"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_df61c9a3","line":136,"range":{"start_line":136,"start_character":30,"end_line":136,"end_character":33},"updated":"2018-07-20 15:36:03.000000000","message":"with","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"},{"line_number":139,"context_line":"   networks on a given host. There is only one configuration option that must"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_226c629b","line":136,"range":{"start_line":136,"start_character":5,"end_line":136,"end_character":29},"in_reply_to":"5f7c97a3_1ff181de","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"   ``[neutron_physnet_{physnet}] numa_nodes``"},{"line_number":135,"context_line":"     This should be set to list of NUMA node(s) for NICs mapped to which"},{"line_number":136,"context_line":"     instances using networks wit the given ``{physnet}`` are affinitized."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   For L3-type networks, NUMA affinity is defined globally for all tunneled"},{"line_number":139,"context_line":"   networks on a given host. There is only one configuration option that must"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_02712677","line":136,"range":{"start_line":136,"start_character":30,"end_line":136,"end_character":33},"in_reply_to":"5f7c97a3_df61c9a3","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":178,"context_line":"As with the L2-type networks, this configuration will ensure instances using"},{"line_number":179,"context_line":"one or more L3-type networks must be scheduled on host cores from NUMA node 0."},{"line_number":180,"context_line":"It is also possible to define more than one NUMA node, in which case the"},{"line_number":181,"context_line":"instance must be split across these."}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_3f21dd4f","line":181,"range":{"start_line":181,"start_character":30,"end_line":181,"end_character":35},"updated":"2018-07-20 15:36:03.000000000","message":"nodes?","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":178,"context_line":"As with the L2-type networks, this configuration will ensure instances using"},{"line_number":179,"context_line":"one or more L3-type networks must be scheduled on host cores from NUMA node 0."},{"line_number":180,"context_line":"It is also possible to define more than one NUMA node, in which case the"},{"line_number":181,"context_line":"instance must be split across these."}],"source_content_type":"text/x-rst","patch_set":23,"id":"5f7c97a3_820216b9","line":181,"range":{"start_line":181,"start_character":30,"end_line":181,"end_character":35},"in_reply_to":"5f7c97a3_3f21dd4f","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f1c7d76630841372f554688174fb787bd4456b53","unresolved":false,"context_lines":[{"line_number":42,"context_line":"than other regions, depending on the CPU(s) your process is running on. This"},{"line_number":43,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":44,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":45,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"},{"line_number":46,"context_line":"a result, NUMA locality must be considered when creating an instance where high"},{"line_number":47,"context_line":"dataplane performance is a requirement."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_c849a4b8","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":75},"updated":"2018-07-25 21:52:50.000000000","message":"Man, what\u0027s the scrabble score on that bad boy?","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ef9b4b46407ac4c22d35f794d8b81c665f5272af","unresolved":false,"context_lines":[{"line_number":42,"context_line":"than other regions, depending on the CPU(s) your process is running on. This"},{"line_number":43,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":44,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":45,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"},{"line_number":46,"context_line":"a result, NUMA locality must be considered when creating an instance where high"},{"line_number":47,"context_line":"dataplane performance is a requirement."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_c63955cf","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":75},"in_reply_to":"5f7c97a3_1896f7a1","updated":"2018-07-29 15:29:06.000000000","message":"D\u0027oh, I forgot the 50-point bonus for using all seven tiles! 914.","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e257e7043a5cb65e169f60868f2a0addc91e8628","unresolved":false,"context_lines":[{"line_number":42,"context_line":"than other regions, depending on the CPU(s) your process is running on. This"},{"line_number":43,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":44,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":45,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"},{"line_number":46,"context_line":"a result, NUMA locality must be considered when creating an instance where high"},{"line_number":47,"context_line":"dataplane performance is a requirement."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_1896f7a1","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":75},"in_reply_to":"5f7c97a3_6f72c44c","updated":"2018-07-26 16:03:40.000000000","message":"I need to learn the rules of scrabble. :)","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ece7edc2ff7851adf71646d9ec85f6c9a1d256bd","unresolved":false,"context_lines":[{"line_number":42,"context_line":"than other regions, depending on the CPU(s) your process is running on. This"},{"line_number":43,"context_line":"effect extends to devices connected to the PCIe bus, a concept known as NUMA"},{"line_number":44,"context_line":"I/O. Many Network Interface Cards (NICs) connect using the PCIe interface,"},{"line_number":45,"context_line":"meaning they are susceptible to the ill-effects of poor NUMA affinitization. As"},{"line_number":46,"context_line":"a result, NUMA locality must be considered when creating an instance where high"},{"line_number":47,"context_line":"dataplane performance is a requirement."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"5f7c97a3_6f72c44c","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":75},"in_reply_to":"5f7c97a3_c849a4b8","updated":"2018-07-26 13:59:10.000000000","message":"If you make it \"affinitizations\", you can span three triple word scores. Seven of the letters have to already be down, but in order to get credit for all three triples as well as the two double letter scores (which, alas, are both on one-pointers) you have to have the first \u0027A\u0027, all \u0027I\u0027s but the second, and the \u0027S\u0027. 30 tile points; plus two for the double letter scores \u003d 32; times 27 for the three triples \u003d 864.","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"}],"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d677215439ffd6c0ba441d0f8969816398394c26","unresolved":false,"context_lines":[{"line_number":881,"context_line":"                # RequestSpec before the instance is created."},{"line_number":882,"context_line":"                instance_uuid \u003d uuidutils.generate_uuid()"},{"line_number":883,"context_line":"                # Store the RequestSpec that will be used for scheduling."},{"line_number":884,"context_line":"                req_spec \u003d objects.RequestSpec.from_components(context,"},{"line_number":885,"context_line":"                        instance_uuid, boot_meta, instance_type,"},{"line_number":886,"context_line":"                        base_options[\u0027numa_topology\u0027],"},{"line_number":887,"context_line":"                        base_options[\u0027pci_requests\u0027], filter_properties,"},{"line_number":888,"context_line":"                        instance_group, base_options[\u0027availability_zone\u0027],"},{"line_number":889,"context_line":"                        security_groups\u003dsecurity_groups)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"                # NOTE(danms): We need to record num_instances on the request"},{"line_number":892,"context_line":"                # spec as this is how the conductor knows how many were in this"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_3b279f66","line":889,"range":{"start_line":884,"start_character":16,"end_line":889,"end_character":56},"updated":"2018-07-10 22:16:45.000000000","message":"Umm, don\u0027t you want to set network_metadata? Note that it can be None if networking is specifically not being requested:\n\nhttps://review.openstack.org/#/c/564444/14/nova/network/neutronv2/api.py@1633\n\nAnd RequestSpec.network_metadata is not nullable:\n\nhttps://review.openstack.org/#/c/564442/18/nova/objects/request_spec.py@84\n\nSo you\u0027d have to be aware of that and not try to set RequestSpec.network_metadata \u003d None.","commit_id":"315e201dc28a73e354424741c2380b7cc43c2bba"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"96ea24af04113de7a9bd06a5d82f2b1cd3d4db20","unresolved":false,"context_lines":[{"line_number":881,"context_line":"                # RequestSpec before the instance is created."},{"line_number":882,"context_line":"                instance_uuid \u003d uuidutils.generate_uuid()"},{"line_number":883,"context_line":"                # Store the RequestSpec that will be used for scheduling."},{"line_number":884,"context_line":"                req_spec \u003d objects.RequestSpec.from_components(context,"},{"line_number":885,"context_line":"                        instance_uuid, boot_meta, instance_type,"},{"line_number":886,"context_line":"                        base_options[\u0027numa_topology\u0027],"},{"line_number":887,"context_line":"                        base_options[\u0027pci_requests\u0027], filter_properties,"},{"line_number":888,"context_line":"                        instance_group, base_options[\u0027availability_zone\u0027],"},{"line_number":889,"context_line":"                        security_groups\u003dsecurity_groups)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"                # NOTE(danms): We need to record num_instances on the request"},{"line_number":892,"context_line":"                # spec as this is how the conductor knows how many were in this"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_d2fc3cb8","line":889,"range":{"start_line":884,"start_character":16,"end_line":889,"end_character":56},"in_reply_to":"5f7c97a3_3b279f66","updated":"2018-07-12 16:17:25.000000000","message":"Damn, I changed this to resolve Dan\u0027s comments at [1] but lost something on the way. Done now.\n\n[1] https://review.openstack.org/#/c/564442/17/nova/objects/request_spec.py@406","commit_id":"315e201dc28a73e354424741c2380b7cc43c2bba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d677215439ffd6c0ba441d0f8969816398394c26","unresolved":false,"context_lines":[{"line_number":887,"context_line":"                        base_options[\u0027pci_requests\u0027], filter_properties,"},{"line_number":888,"context_line":"                        instance_group, base_options[\u0027availability_zone\u0027],"},{"line_number":889,"context_line":"                        security_groups\u003dsecurity_groups)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"                # NOTE(danms): We need to record num_instances on the request"},{"line_number":892,"context_line":"                # spec as this is how the conductor knows how many were in this"},{"line_number":893,"context_line":"                # batch."}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_5b285b35","line":890,"updated":"2018-07-10 22:16:45.000000000","message":"unrelated","commit_id":"315e201dc28a73e354424741c2380b7cc43c2bba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":817,"context_line":"        # InstancePCIRequests object"},{"line_number":818,"context_line":"        pci_request_info \u003d pci_request.get_pci_requests_from_flavor("},{"line_number":819,"context_line":"            instance_type)"},{"line_number":820,"context_line":"        network_metadata \u003d self.network_api.create_resource_requests(context,"},{"line_number":821,"context_line":"            requested_networks, pci_request_info)"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"        base_options \u003d {"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_3fd6bd27","line":820,"range":{"start_line":820,"start_character":69,"end_line":820,"end_character":76},"updated":"2018-07-20 15:36:03.000000000","message":"nit: drop this a line to be with it\u0027s friends","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":817,"context_line":"        # InstancePCIRequests object"},{"line_number":818,"context_line":"        pci_request_info \u003d pci_request.get_pci_requests_from_flavor("},{"line_number":819,"context_line":"            instance_type)"},{"line_number":820,"context_line":"        network_metadata \u003d self.network_api.create_resource_requests(context,"},{"line_number":821,"context_line":"            requested_networks, pci_request_info)"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"        base_options \u003d {"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_e2e42a0d","line":820,"range":{"start_line":820,"start_character":69,"end_line":820,"end_character":76},"in_reply_to":"5f7c97a3_3fd6bd27","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        # return the validated options and maximum number of instances allowed"},{"line_number":860,"context_line":"        # by the network quotas"},{"line_number":861,"context_line":"        return (base_options, max_network_count, key_pair, security_groups,"},{"line_number":862,"context_line":"                network_metadata)"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"    def _provision_instances(self, context, instance_type, min_count,"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_5fd93952","line":861,"updated":"2018-07-20 15:36:03.000000000","message":"Christ Almighty we need to introduce a named tuple for this, but follow up.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":887,"context_line":"                        base_options[\u0027pci_requests\u0027], filter_properties,"},{"line_number":888,"context_line":"                        instance_group, base_options[\u0027availability_zone\u0027],"},{"line_number":889,"context_line":"                        security_groups\u003dsecurity_groups)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"                # NOTE(danms): We need to record num_instances on the request"},{"line_number":892,"context_line":"                # spec as this is how the conductor knows how many were in this"},{"line_number":893,"context_line":"                # batch."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_ffe36504","line":890,"updated":"2018-07-20 15:36:03.000000000","message":"unrelated","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":887,"context_line":"                        base_options[\u0027pci_requests\u0027], filter_properties,"},{"line_number":888,"context_line":"                        instance_group, base_options[\u0027availability_zone\u0027],"},{"line_number":889,"context_line":"                        security_groups\u003dsecurity_groups)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"                # NOTE(danms): We need to record num_instances on the request"},{"line_number":892,"context_line":"                # spec as this is how the conductor knows how many were in this"},{"line_number":893,"context_line":"                # batch."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_02f606d9","line":890,"in_reply_to":"5f7c97a3_ffe36504","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":894,"context_line":"                req_spec.num_instances \u003d num_instances"},{"line_number":895,"context_line":"                req_spec.create()"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"                if network_metadata:"},{"line_number":898,"context_line":"                    req_spec.network_metadata \u003d network_metadata"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"                # Create an instance object, but do not store in db yet."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_3faf9d9d","line":897,"updated":"2018-07-20 15:36:03.000000000","message":"Umm, did you mean for this to come after the RequestSpec.create()? Since it\u0027s not persisted I\u0027m assuming the answer is \u0027yes\u0027 but we should have a comment for this so it\u0027s not confusing to others that don\u0027t know this entire solution end to end.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":894,"context_line":"                req_spec.num_instances \u003d num_instances"},{"line_number":895,"context_line":"                req_spec.create()"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"                if network_metadata:"},{"line_number":898,"context_line":"                    req_spec.network_metadata \u003d network_metadata"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"                # Create an instance object, but do not store in db yet."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_a22e323f","line":897,"in_reply_to":"5f7c97a3_3faf9d9d","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bf588711c093d94823da8d98cce7ee947f50c4d7","unresolved":false,"context_lines":[{"line_number":819,"context_line":"        pci_request_info \u003d pci_request.get_pci_requests_from_flavor("},{"line_number":820,"context_line":"            instance_type)"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        network_metadata \u003d self.network_api.create_resource_requests(context,"},{"line_number":823,"context_line":"            requested_networks, pci_request_info)"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"        base_options \u003d {"}],"source_content_type":"text/x-python","patch_set":30,"id":"5f7c97a3_55b9cd13","line":822,"range":{"start_line":822,"start_character":69,"end_line":822,"end_character":76},"updated":"2018-07-24 21:04:21.000000000","message":"nit: drop this a line to be with its friends","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"327de641c9475a3924f72bba22130ab0caa5031a","unresolved":false,"context_lines":[{"line_number":819,"context_line":"        pci_request_info \u003d pci_request.get_pci_requests_from_flavor("},{"line_number":820,"context_line":"            instance_type)"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        network_metadata \u003d self.network_api.create_resource_requests(context,"},{"line_number":823,"context_line":"            requested_networks, pci_request_info)"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"        base_options \u003d {"}],"source_content_type":"text/x-python","patch_set":30,"id":"5f7c97a3_3cc6704c","line":822,"range":{"start_line":822,"start_character":69,"end_line":822,"end_character":76},"in_reply_to":"5f7c97a3_55b9cd13","updated":"2018-07-25 08:36:54.000000000","message":"Ah, I thought you were talking about the whole line. My bad","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bf588711c093d94823da8d98cce7ee947f50c4d7","unresolved":false,"context_lines":[{"line_number":860,"context_line":""},{"line_number":861,"context_line":"        # return the validated options and maximum number of instances allowed"},{"line_number":862,"context_line":"        # by the network quotas"},{"line_number":863,"context_line":"        return (base_options, max_network_count, key_pair, security_groups,"},{"line_number":864,"context_line":"                network_metadata)"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def _provision_instances(self, context, instance_type, min_count,"}],"source_content_type":"text/x-python","patch_set":30,"id":"5f7c97a3_9544451c","line":863,"updated":"2018-07-24 21:04:21.000000000","message":"nit: add a TODO to make this a named tuple","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"327de641c9475a3924f72bba22130ab0caa5031a","unresolved":false,"context_lines":[{"line_number":860,"context_line":""},{"line_number":861,"context_line":"        # return the validated options and maximum number of instances allowed"},{"line_number":862,"context_line":"        # by the network quotas"},{"line_number":863,"context_line":"        return (base_options, max_network_count, key_pair, security_groups,"},{"line_number":864,"context_line":"                network_metadata)"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def _provision_instances(self, context, instance_type, min_count,"}],"source_content_type":"text/x-python","patch_set":30,"id":"5f7c97a3_fcd478ec","line":863,"in_reply_to":"5f7c97a3_9544451c","updated":"2018-07-25 08:36:54.000000000","message":"Given that this function only has one caller, I\u0027m not sure what that would give us. Any particular reason we do need this?","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6cd4654505f7941d083d319da37c86da5348c562","unresolved":false,"context_lines":[{"line_number":860,"context_line":""},{"line_number":861,"context_line":"        # return the validated options and maximum number of instances allowed"},{"line_number":862,"context_line":"        # by the network quotas"},{"line_number":863,"context_line":"        return (base_options, max_network_count, key_pair, security_groups,"},{"line_number":864,"context_line":"                network_metadata)"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def _provision_instances(self, context, instance_type, min_count,"}],"source_content_type":"text/x-python","patch_set":30,"id":"5f7c97a3_b7d04d2c","line":863,"in_reply_to":"5f7c97a3_fcd478ec","updated":"2018-07-25 19:23:28.000000000","message":"I just hate methods that return tuples, but I don\u0027t expect you to change anything for this (or even in the follow up).","commit_id":"803f85d7e638c7367db709a93f732f12d81e083a"}],"nova/scheduler/filters/numa_topology_filter.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        host_topology, _fmt \u003d hardware.host_topology_and_format_from_host("},{"line_number":76,"context_line":"                host_state)"},{"line_number":77,"context_line":"        pci_requests \u003d spec_obj.pci_requests"},{"line_number":78,"context_line":"        network_metadata \u003d spec_obj.network_metadata"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if pci_requests:"},{"line_number":81,"context_line":"            pci_requests \u003d pci_requests.requests"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_bf708d42","line":78,"range":{"start_line":78,"start_character":27,"end_line":78,"end_character":52},"updated":"2018-07-20 15:36:03.000000000","message":"This might not be set, which would result in a lazy-load failure.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        host_topology, _fmt \u003d hardware.host_topology_and_format_from_host("},{"line_number":76,"context_line":"                host_state)"},{"line_number":77,"context_line":"        pci_requests \u003d spec_obj.pci_requests"},{"line_number":78,"context_line":"        network_metadata \u003d spec_obj.network_metadata"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if pci_requests:"},{"line_number":81,"context_line":"            pci_requests \u003d pci_requests.requests"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_e2742acf","line":78,"range":{"start_line":78,"start_character":27,"end_line":78,"end_character":52},"in_reply_to":"5f7c97a3_bf708d42","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"}],"nova/tests/unit/api/openstack/fakes.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            return max_count"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def create_resource_requests(self, context, requested_networks,"},{"line_number":205,"context_line":"                                     pci_requests\u003dNone):"},{"line_number":206,"context_line":"            pass"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    if cls is None:"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_7f8c352d","line":205,"range":{"start_line":205,"start_character":36,"end_line":205,"end_character":56},"updated":"2018-07-20 15:36:03.000000000","message":"why?","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            return max_count"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def create_resource_requests(self, context, requested_networks,"},{"line_number":205,"context_line":"                                     pci_requests\u003dNone):"},{"line_number":206,"context_line":"            pass"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    if cls is None:"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_62d9fa52","line":205,"range":{"start_line":205,"start_character":36,"end_line":205,"end_character":56},"in_reply_to":"5f7c97a3_7f8c352d","updated":"2018-07-20 16:26:05.000000000","message":"Because this matches the original method signature and I missed it in an earlier patch. I\u0027ll split out into the follow up","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"}],"nova/tests/unit/scheduler/filters/test_numa_topology_filters.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d677215439ffd6c0ba441d0f8969816398394c26","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _get_spec_obj(self, numa_topology, network_metadata\u003dNone):"},{"line_number":32,"context_line":"        image_meta \u003d objects.ImageMeta(properties\u003dobjects.ImageMetaProps())"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        if not network_metadata:"},{"line_number":35,"context_line":"            network_metadata \u003d objects.NetworkMetadata("},{"line_number":36,"context_line":"                physnets\u003dset(), tunneled\u003dFalse)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        spec_obj \u003d objects.RequestSpec(numa_topology\u003dnuma_topology,"},{"line_number":39,"context_line":"                                       pci_requests\u003dNone,"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_9ba6f3ac","line":36,"range":{"start_line":34,"start_character":8,"end_line":36,"end_character":47},"updated":"2018-07-10 22:16:45.000000000","message":"You don\u0027t need this since you have https://review.openstack.org/#/c/564442/18/nova/objects/request_spec.py@113 right? Although you can\u0027t set RequestSpec.network_metadata to None since it\u0027s not nullable, so nvm.","commit_id":"315e201dc28a73e354424741c2380b7cc43c2bba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _get_spec_obj(self, numa_topology, network_metadata\u003dNone):"},{"line_number":32,"context_line":"        image_meta \u003d objects.ImageMeta(properties\u003dobjects.ImageMetaProps())"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        if not network_metadata:"},{"line_number":35,"context_line":"            network_metadata \u003d objects.NetworkMetadata("},{"line_number":36,"context_line":"                physnets\u003dset(), tunneled\u003dFalse)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        spec_obj \u003d objects.RequestSpec(numa_topology\u003dnuma_topology,"},{"line_number":39,"context_line":"                                       pci_requests\u003dNone,"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_5fae1980","line":36,"range":{"start_line":34,"start_character":8,"end_line":36,"end_character":47},"updated":"2018-07-20 15:36:03.000000000","message":"This is why you\u0027re not failing on the lazy-load in the filter code - you need to be explicit about setting the thing or leaving it unset to test the filter can handle that.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _get_spec_obj(self, numa_topology, network_metadata\u003dNone):"},{"line_number":32,"context_line":"        image_meta \u003d objects.ImageMeta(properties\u003dobjects.ImageMetaProps())"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        if not network_metadata:"},{"line_number":35,"context_line":"            network_metadata \u003d objects.NetworkMetadata("},{"line_number":36,"context_line":"                physnets\u003dset(), tunneled\u003dFalse)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        spec_obj \u003d objects.RequestSpec(numa_topology\u003dnuma_topology,"},{"line_number":39,"context_line":"                                       pci_requests\u003dNone,"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_62a7babc","line":36,"range":{"start_line":34,"start_character":8,"end_line":36,"end_character":47},"in_reply_to":"5f7c97a3_5fae1980","updated":"2018-07-20 16:26:05.000000000","message":"Done","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"}],"releasenotes/notes/numa-aware-vswitches-162132290dd6ef17.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a04c67374a67b188909d027815c8371942ad7380","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    This is available for networks that use a ``provider:network_type`` of"},{"line_number":6,"context_line":"    ``flat`` or ``vlan`` and a ``provider:physical_network`` (L2 networks) or"},{"line_number":7,"context_line":"    networks that use a ``provider:network_type`` of ``vxlan``, ``gre`` or"},{"line_number":8,"context_line":"    ``geneve`` (L3 networks)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    For more information, refer to the `spec`__ and `documentation`__."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5f7c97a3_9fdd9114","line":8,"updated":"2018-07-20 15:36:03.000000000","message":"rather than hard-code the list you could just link to this:\n\nhttps://docs.openstack.org/neutron/latest/admin/intro-overlay-protocols.html","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a91df27edda27cb5ed5670b91d1de4140ac9c0bc","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    This is available for networks that use a ``provider:network_type`` of"},{"line_number":6,"context_line":"    ``flat`` or ``vlan`` and a ``provider:physical_network`` (L2 networks) or"},{"line_number":7,"context_line":"    networks that use a ``provider:network_type`` of ``vxlan``, ``gre`` or"},{"line_number":8,"context_line":"    ``geneve`` (L3 networks)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    For more information, refer to the `spec`__ and `documentation`__."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"5f7c97a3_a2a152aa","line":8,"in_reply_to":"5f7c97a3_9fdd9114","updated":"2018-07-20 16:26:05.000000000","message":"We have to hardcode these ourselves so it makes sense to explicitly call them out here.","commit_id":"1e462eb952b5f8114e0aa0bf65041474bd535c1c"}]}
