)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f96e5927d2f1b4ccdc26915c466aa5071eab50c4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add numa specific image properties"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``hw_numa_nodes`` to useful image properties list."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia67f9d74ae0d52111af4b0ddd2a034df7fbc5233"},{"line_number":12,"context_line":"Closes-Bug: #1763761"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_2f7da27e","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":20},"updated":"2019-09-24 12:09:51.000000000","message":"if we add this it would make sense to also add the other\nnuma extra specs in the same reivew\n\nhw_numa_cpus.[node]\u003d[cpu count]\nhw_numa_mem.[node]\u003d[cpu count]\n\ne.g.\nhw_numa_nodes\u003d2\nhw_numa_cpus.0\u003d1\nhw_numa_cpus.1\u003d3\nhw_numa_mem.0\u003d512\nhw_numa_mem.1\u003d1024\n\n\n\nits also very important that we do not document\nhw:numa_mempolicy\u003d\u0027strict\u0027 or   hw_numa_mempolicy\u003d\u0027strict\u0027\nthose where proposed for the hyperv driver to contol\nnuma affinity fo memory to guest cpus.\nit was never implemented in the intree hyperv dirver or in libvirt but people keep trying to use it.\n\n\nthis is litrally an example form a customer that is haveing numa issue right now  where we have had to \nexplain that  --property hw:numa_mempolicy\u003d\u0027strict\u0027 is not a thing. costumer that use strict are generally happy that they don\u0027t to set it. those that wanted to disabel memroy to cpu affinity are less happy when we tell them this is not posible.\n\nopenstack flavor create --ram 32768 \\\n        --disk 50 \\\n        --vcpus 16 \\\n        --property hw:cpu_policy\u003ddedicated \\\n        --property hw:mem_page_size\u003dlarge \\\n        --property hw:numa_mempolicy\u003d\u0027strict\u0027  \\\n        --property hw:numa_nodes\u003d1\n        test_num1_without_mem_cpu","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0c8aca0c9ff5fcfb699fc8051c2560b8254b8a4b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add numa specific image properties"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add ``hw_numa_nodes`` to useful image properties list."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia67f9d74ae0d52111af4b0ddd2a034df7fbc5233"},{"line_number":12,"context_line":"Closes-Bug: #1763761"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_e5a1e947","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":20},"in_reply_to":"3fa7e38b_2f7da27e","updated":"2019-09-24 13:57:09.000000000","message":"slight correction\n\nhw_numa_cpus.[node]\u003d[guest cpu list]\nhw_numa_mem.[node]\u003d[ram allocation in mb]\nsee https://github.com/openstack/nova-specs/blob/master/specs/juno/implemented/virt-driver-numa-placement.rst#proposed-change for details","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"1c576f0f1cd42e455067570bf3e851fc3b5c4468","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a62c9a3_4c4f15e4","updated":"2023-06-23 20:10:50.000000000","message":"@Sean: I rebased/reworked that patch and looked at nova/objects/image_meta.py to add hw_numa_{cpus,mem}. If you can give us some feedback, we\u0027ll try to merge this on 2023-06-28 during our next review party.","commit_id":"f8ca068448e382eef5d92291b0870a260c222af0"}],"doc/source/admin/useful-image-properties.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"31a271a28c8294d750e3ba3573b70ab61277fa7d","unresolved":false,"context_lines":[{"line_number":336,"context_line":"     - ``hw_disk_bus``"},{"line_number":337,"context_line":"     - Specifies the type of disk controller to attach disk devices to."},{"line_number":338,"context_line":"     - One of ``scsi``, ``virtio``, ``uml``, ``xen``, ``ide``, or ``usb``."},{"line_number":339,"context_line":"   * - libvirt API driver"},{"line_number":340,"context_line":"     - ``hw_numa_nodes``"},{"line_number":341,"context_line":"     - Number of guest NUMA nodes."},{"line_number":342,"context_line":"     - Integer."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ec2b2ae8","line":339,"updated":"2019-09-23 14:18:43.000000000","message":"I\u0027m pretty sure the hyper-v compute driver also supports hw_numa_nodes and NUMA topology:\n\nhttps://docs.openstack.org/nova/latest/admin/cpu-topologies.html#customizing-instance-numa-placement-policies","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0b9a8d333273f7869254b468feefbba3169131ea","unresolved":false,"context_lines":[{"line_number":336,"context_line":"     - ``hw_disk_bus``"},{"line_number":337,"context_line":"     - Specifies the type of disk controller to attach disk devices to."},{"line_number":338,"context_line":"     - One of ``scsi``, ``virtio``, ``uml``, ``xen``, ``ide``, or ``usb``."},{"line_number":339,"context_line":"   * - libvirt API driver"},{"line_number":340,"context_line":"     - ``hw_numa_nodes``"},{"line_number":341,"context_line":"     - Number of guest NUMA nodes."},{"line_number":342,"context_line":"     - Integer."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_23fb8447","line":339,"in_reply_to":"3fa7e38b_ec2b2ae8","updated":"2019-09-24 06:55:53.000000000","message":"Indeed, the hyper-v driver\u0027s using this image property as well: https://github.com/openstack/nova/blob/97096c8e4a363691a62b608115f27d46425605b4/nova/virt/hyperv/vmops.py#L459-L460\n\nCould you please move this a few lines above and use the \"All\" label? If more than one driver uses an image prop, then it should probably fall under \"All\".","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"31a271a28c8294d750e3ba3573b70ab61277fa7d","unresolved":false,"context_lines":[{"line_number":338,"context_line":"     - One of ``scsi``, ``virtio``, ``uml``, ``xen``, ``ide``, or ``usb``."},{"line_number":339,"context_line":"   * - libvirt API driver"},{"line_number":340,"context_line":"     - ``hw_numa_nodes``"},{"line_number":341,"context_line":"     - Number of guest NUMA nodes."},{"line_number":342,"context_line":"     - Integer."},{"line_number":343,"context_line":"   * - libvirt API driver"},{"line_number":344,"context_line":"     - ``hw_pointer_model``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4c44beb7","line":341,"updated":"2019-09-23 14:18:43.000000000","message":"Shouldn\u0027t this match the flavor extra spec description?\n\nhttps://docs.openstack.org/nova/latest/user/flavors.html\n\n\"The number of host NUMA nodes to restrict execution of instance vCPU threads to. If not specified, the vCPU threads can run on any number of the host NUMA nodes available.\"","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f96e5927d2f1b4ccdc26915c466aa5071eab50c4","unresolved":false,"context_lines":[{"line_number":338,"context_line":"     - One of ``scsi``, ``virtio``, ``uml``, ``xen``, ``ide``, or ``usb``."},{"line_number":339,"context_line":"   * - libvirt API driver"},{"line_number":340,"context_line":"     - ``hw_numa_nodes``"},{"line_number":341,"context_line":"     - Number of guest NUMA nodes."},{"line_number":342,"context_line":"     - Integer."},{"line_number":343,"context_line":"   * - libvirt API driver"},{"line_number":344,"context_line":"     - ``hw_pointer_model``"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1469d91f","line":341,"in_reply_to":"3fa7e38b_4c44beb7","updated":"2019-09-24 12:09:51.000000000","message":"actully that is not correct, it should be:\n\n\"The is the number of virtual guest NUMA to create.\"\n\nThe fact that libvirt maps virtual numa nodes to independent host numa nodes is not apart of the api and is a diriver detail. other drivers are note expect or required to have the same behaviour if they support numa.\n\nwe should fix that in the flavour docs unless we intend to make that an api guarantee which is not something we have ever said you should rely on. im not sure if hyperv for example actually ensure this is the case as they handle numa very differently internally to hyperv.","commit_id":"f42562ebddc559a6c265dc51c42ac601d8039192"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"15f88eaff9f23744b2eb07186fe3d4ae179cd6f9","unresolved":true,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"  Number of guest NUMA nodes."},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"``hw_numa_cpus.[node]``"},{"line_number":455,"context_line":"  :Type: str"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"  A set that indicates CPUs for that node. For instance:"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"  hw_numa_cpus.1 \u003d \"0-3\""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"``hw_numa_mem.[node]``"},{"line_number":462,"context_line":"  :Type: Integer"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"  The memory size for that node, in megabytes.  For instance:"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"  hw_numa_mem.1 \u003d \"1024\""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"``hw_pointer_model``"},{"line_number":469,"context_line":"  :Type: str"}],"source_content_type":"text/x-rst","patch_set":3,"id":"aa8d7606_4e41b59c","line":466,"range":{"start_line":454,"start_character":0,"end_line":466,"end_character":24},"updated":"2023-06-26 09:11:48.000000000","message":"please use .0 to show that this is 0 indexed not 1 indexed.\n\nalso if we are addign these we shoudl add a note that \n\nhw_numa_cpus and hw_numa_mem\n\nshoudl only be used if you have mulptile numa nodes and tehy are asemetric.\nthis is not teh real code but we do  sometihng like this in nova\n\nnodes \u003d  image.hw_numa_nodes or flavor.HW:numa_nodes\nfor n in range(nodes)\n...\n\nso if hw_numa_nodes is not \u003e\u003d1 then we dont even look at hw_numa_cpus or hw_numa_mem and even when we do unless the number of nodes is \u003e\u003d2 the have no useful effect.\n\nwe strongly disucrrage usign both when the numa toplogy is semetric\n\ni.e. if you have a 4 core vm and do \n\nhw_numa_cpus.0 \u003d \"0,1\"\nhw_numa_cpus.1 \u003d \"2,3\"\n\nthat is the default toplogy and you should not set it expcitly as it will make this image unusabel with a flaovr that has 8 CPUs leadign to a needless explosing of iamages\n\nthe same appleis for memory \n\nhw_numa_mem should only be used if you need asymetric memofy allcoations\n\n\n\nall the numa options other then hw_numa_nodes are considered advanced and not recommended for general use unless you really knwo what you are doing. even compentent operators often get this wrong which is why i personlly have not fixed this over the years.","commit_id":"5120a932298a9f7226bce91074c124d119627775"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"06b1ed445ae076aa8427e78dfb8665c6b274ab0a","unresolved":true,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"  Number of guest NUMA nodes."},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"``hw_numa_cpus.[node]``"},{"line_number":455,"context_line":"  :Type: str"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"  A set that indicates CPUs for that node. For instance:"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"  hw_numa_cpus.1 \u003d \"0-3\""},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"``hw_numa_mem.[node]``"},{"line_number":462,"context_line":"  :Type: Integer"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"  The memory size for that node, in megabytes.  For instance:"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"  hw_numa_mem.1 \u003d \"1024\""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"``hw_pointer_model``"},{"line_number":469,"context_line":"  :Type: str"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a69cbcae_b4751716","line":466,"range":{"start_line":454,"start_character":0,"end_line":466,"end_character":24},"in_reply_to":"aa8d7606_4e41b59c","updated":"2023-06-26 17:58:52.000000000","message":"OK so would you rather just document hw_numa_nodes in Glance, and drop hw_numa_{cpus,mem}?","commit_id":"5120a932298a9f7226bce91074c124d119627775"}]}
