)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":10,"context_line":"(hence the plethora of tests) but this is all required to not break"},{"line_number":11,"context_line":"upgrades."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"A new \u0027[compute] cpu_dedicated_set\u0027 config option is added, including a"},{"line_number":14,"context_line":"wall of text necessary to explain the upgrade implications of this"},{"line_number":15,"context_line":"option. The \u0027vcpu_pin_set\u0027 option is also deprecated, while the help"},{"line_number":16,"context_line":"text for the \u0027reserved_host_cpus\u0027 option is updated to specify that it"},{"line_number":17,"context_line":"will be ignored for the libvirt driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7faddb67_475c9718","line":14,"range":{"start_line":13,"start_character":60,"end_line":14,"end_character":12},"updated":"2019-08-29 14:57:19.000000000","message":"\\o/","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"}],"nova/conf/compute.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        help\u003d\"\"\""},{"line_number":372,"context_line":"Number of physical CPUs to reserve for the host. The host resources usage is"},{"line_number":373,"context_line":"reported back to the scheduler continuously from nova-compute running on the"},{"line_number":374,"context_line":"compute node. To prevent the host CPU from being considered as available,"},{"line_number":375,"context_line":"this option is used to reserve random pCPU(s) for the host."},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"Possible values:"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_b283ab56","side":"PARENT","line":375,"range":{"start_line":374,"start_character":13,"end_line":375,"end_character":59},"updated":"2019-09-07 00:30:08.000000000","message":"this is not even remotely true.\n\nhow this works is it add this value to the used vcpu count in the resouce tracker. so when the old core filter was used it would effectivly multiple the total cpus by the allocation ratio and the subtract the used cpu(actull used + resreved) and compare that to the request cpus for the instance.\n\nin a placement world this is used for the reserved value on the vcpu inventory.\n\nhttps://github.com/openstack/nova/blob/19.0.0/nova/virt/libvirt/driver.py#L6653-L6661\n\nit does not randomly reserve any indiviual cpus for the host.\nif this is all that is set  all cpu can still be used by the vms it just reduce the effetive oversubsription ratio.\n\n\nthat is why you should always have been using the vcpu_pin_set on all host to allow you to correctly\nreserve pCPUs for the host.\n\nalso you wrote a blog on this remember\nhttps://that.guru/blog/cpu-resources/","commit_id":"b1de451629ec682b1c575a468212eb2cccf108ab"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        help\u003d\"\"\""},{"line_number":372,"context_line":"Number of physical CPUs to reserve for the host. The host resources usage is"},{"line_number":373,"context_line":"reported back to the scheduler continuously from nova-compute running on the"},{"line_number":374,"context_line":"compute node. To prevent the host CPU from being considered as available,"},{"line_number":375,"context_line":"this option is used to reserve random pCPU(s) for the host."},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"Possible values:"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_06a6efc2","side":"PARENT","line":375,"range":{"start_line":374,"start_character":13,"end_line":375,"end_character":59},"in_reply_to":"5faad753_b283ab56","updated":"2019-09-09 10:05:49.000000000","message":"I didn\u0027t write this :) Have updated it though","commit_id":"b1de451629ec682b1c575a468212eb2cccf108ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":315,"context_line":"of pinned and unpinned instances on the same host (for the libvirt driver)."},{"line_number":316,"context_line":"\"\"\","},{"line_number":317,"context_line":"        help\u003d\"\"\""},{"line_number":318,"context_line":"Mask of host CPUs that can be used for ``VCPU`` resources."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"The behavior of this option depends on the definition of the ``[compute]"},{"line_number":321,"context_line":"cpu_dedicated_set`` option and affects the behavior of the ``[compute]"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_3f76a4da","line":318,"range":{"start_line":318,"start_character":40,"end_line":318,"end_character":58},"updated":"2019-09-07 00:30:08.000000000","message":"The only thing i would be concerned about is confusing people with the fact that depend on  how you configure the scheduler VCPU will either be modelling shared and pinned cpus or just shared cpus.\n\nthat said its technically not wrong, and adding any more detail such as trying to define what a VCPU is would like be hard to state properly while also being concise.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":315,"context_line":"of pinned and unpinned instances on the same host (for the libvirt driver)."},{"line_number":316,"context_line":"\"\"\","},{"line_number":317,"context_line":"        help\u003d\"\"\""},{"line_number":318,"context_line":"Mask of host CPUs that can be used for ``VCPU`` resources."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"The behavior of this option depends on the definition of the ``[compute]"},{"line_number":321,"context_line":"cpu_dedicated_set`` option and affects the behavior of the ``[compute]"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_66948345","line":318,"range":{"start_line":318,"start_character":40,"end_line":318,"end_character":58},"in_reply_to":"5faad753_3f76a4da","updated":"2019-09-09 10:05:49.000000000","message":"Yeah, I\u0027m going to stay away from that since this is already too complicated.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":388,"context_line":"* Any positive integer representing amount of memory in MB to reserve"},{"line_number":389,"context_line":"  for the host."},{"line_number":390,"context_line":"\"\"\"),"},{"line_number":391,"context_line":"    cfg.IntOpt(\u0027reserved_host_cpus\u0027,"},{"line_number":392,"context_line":"        default\u003d0,"},{"line_number":393,"context_line":"        min\u003d0,"},{"line_number":394,"context_line":"        help\u003d\"\"\""},{"line_number":395,"context_line":"Number of host CPUs to reserve for host processes."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The host resources usage is reported back to the scheduler continuously from"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_1f040817","line":394,"range":{"start_line":391,"start_character":4,"end_line":394,"end_character":16},"updated":"2019-09-07 00:30:08.000000000","message":"should this not also be marke as deprecated fro removal.\nwe do want to remove this in U right?","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":388,"context_line":"* Any positive integer representing amount of memory in MB to reserve"},{"line_number":389,"context_line":"  for the host."},{"line_number":390,"context_line":"\"\"\"),"},{"line_number":391,"context_line":"    cfg.IntOpt(\u0027reserved_host_cpus\u0027,"},{"line_number":392,"context_line":"        default\u003d0,"},{"line_number":393,"context_line":"        min\u003d0,"},{"line_number":394,"context_line":"        help\u003d\"\"\""},{"line_number":395,"context_line":"Number of host CPUs to reserve for host processes."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The host resources usage is reported back to the scheduler continuously from"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_46bce704","line":394,"range":{"start_line":391,"start_character":4,"end_line":394,"end_character":16},"in_reply_to":"5faad753_1f040817","updated":"2019-09-09 10:05:49.000000000","message":"I don\u0027t think we do because this still applies to non-libvirt drivers which don\u0027t support the vcpu_pin_set options.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":392,"context_line":"        default\u003d0,"},{"line_number":393,"context_line":"        min\u003d0,"},{"line_number":394,"context_line":"        help\u003d\"\"\""},{"line_number":395,"context_line":"Number of host CPUs to reserve for host processes."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The host resources usage is reported back to the scheduler continuously from"},{"line_number":398,"context_line":"nova-compute running on the compute node. To prevent the host CPU from being"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_72f21309","line":395,"range":{"start_line":395,"start_character":10,"end_line":395,"end_character":19},"updated":"2019-09-07 00:30:08.000000000","message":"nit technically this is not host cpu its logical guest cpus since this is just an offset for the 0 point when determing if there are free cpus after the host tread are multipled by the allocation ratio.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        help\u003d\"\"\""},{"line_number":395,"context_line":"Number of host CPUs to reserve for host processes."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The host resources usage is reported back to the scheduler continuously from"},{"line_number":398,"context_line":"nova-compute running on the compute node. To prevent the host CPU from being"},{"line_number":399,"context_line":"considered as available, this option is used to reserve random host CPUs for"},{"line_number":400,"context_line":"the host."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"This option cannot be set if the ``[compute] cpu_shared_set`` or ``[compute]"},{"line_number":403,"context_line":"cpu_dedicated_set`` config options have been defined. When these options are"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92822f4f","line":400,"range":{"start_line":397,"start_character":0,"end_line":400,"end_character":9},"updated":"2019-09-07 00:30:08.000000000","message":"i would remove this entire section","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        help\u003d\"\"\""},{"line_number":395,"context_line":"Number of host CPUs to reserve for host processes."},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"The host resources usage is reported back to the scheduler continuously from"},{"line_number":398,"context_line":"nova-compute running on the compute node. To prevent the host CPU from being"},{"line_number":399,"context_line":"considered as available, this option is used to reserve random host CPUs for"},{"line_number":400,"context_line":"the host."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"This option cannot be set if the ``[compute] cpu_shared_set`` or ``[compute]"},{"line_number":403,"context_line":"cpu_dedicated_set`` config options have been defined. When these options are"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_266d2b98","line":400,"range":{"start_line":397,"start_character":0,"end_line":400,"end_character":9},"in_reply_to":"5faad753_92822f4f","updated":"2019-09-09 10:05:49.000000000","message":"I didn\u0027t remove it but I did update it","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":416,"context_line":"\"\"\"),"},{"line_number":417,"context_line":"]"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"allocation_ratio_opts \u003d ["},{"line_number":420,"context_line":"    cfg.FloatOpt(\u0027cpu_allocation_ratio\u0027,"},{"line_number":421,"context_line":"        default\u003dNone,"},{"line_number":422,"context_line":"        min\u003d0.0,"},{"line_number":423,"context_line":"        help\u003d\"\"\""},{"line_number":424,"context_line":"Virtual CPU to physical CPU allocation ratio."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"This option is used to influence the hosts selected by the Placement API. In"},{"line_number":427,"context_line":"addition, the ``AggregateCoreFilter`` will fall back to this configuration"},{"line_number":428,"context_line":"value if no per-aggregate setting is found."},{"line_number":429,"context_line":""},{"line_number":430,"context_line":".. note::"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"   If this option is set to something *other than* ``None`` or ``0.0``, the"},{"line_number":433,"context_line":"   allocation ratio will be overwritten by the value of this option, otherwise,"},{"line_number":434,"context_line":"   the allocation ratio will not change. Once set to a non-default value, it is"},{"line_number":435,"context_line":"   not possible to \"unset\" the config to get back to the default behavior. If"},{"line_number":436,"context_line":"   you want to reset back to the initial value, explicitly specify it to the"},{"line_number":437,"context_line":"   value of ``initial_cpu_allocation_ratio``."},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"Possible values:"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any valid positive integer or float value"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"Related options:"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"* ``initial_cpu_allocation_ratio``"},{"line_number":446,"context_line":"\"\"\"),"},{"line_number":447,"context_line":"    cfg.FloatOpt(\u0027ram_allocation_ratio\u0027,"},{"line_number":448,"context_line":"        default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_f20123b1","line":445,"range":{"start_line":419,"start_character":1,"end_line":445,"end_character":34},"updated":"2019-09-07 00:30:08.000000000","message":"we also need to update this and the inital allocate ration to indicate they only modify the vCPU invetory and will not apply to pCPUs","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":416,"context_line":"\"\"\"),"},{"line_number":417,"context_line":"]"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"allocation_ratio_opts \u003d ["},{"line_number":420,"context_line":"    cfg.FloatOpt(\u0027cpu_allocation_ratio\u0027,"},{"line_number":421,"context_line":"        default\u003dNone,"},{"line_number":422,"context_line":"        min\u003d0.0,"},{"line_number":423,"context_line":"        help\u003d\"\"\""},{"line_number":424,"context_line":"Virtual CPU to physical CPU allocation ratio."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"This option is used to influence the hosts selected by the Placement API. In"},{"line_number":427,"context_line":"addition, the ``AggregateCoreFilter`` will fall back to this configuration"},{"line_number":428,"context_line":"value if no per-aggregate setting is found."},{"line_number":429,"context_line":""},{"line_number":430,"context_line":".. note::"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"   If this option is set to something *other than* ``None`` or ``0.0``, the"},{"line_number":433,"context_line":"   allocation ratio will be overwritten by the value of this option, otherwise,"},{"line_number":434,"context_line":"   the allocation ratio will not change. Once set to a non-default value, it is"},{"line_number":435,"context_line":"   not possible to \"unset\" the config to get back to the default behavior. If"},{"line_number":436,"context_line":"   you want to reset back to the initial value, explicitly specify it to the"},{"line_number":437,"context_line":"   value of ``initial_cpu_allocation_ratio``."},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"Possible values:"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any valid positive integer or float value"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"Related options:"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"* ``initial_cpu_allocation_ratio``"},{"line_number":446,"context_line":"\"\"\"),"},{"line_number":447,"context_line":"    cfg.FloatOpt(\u0027ram_allocation_ratio\u0027,"},{"line_number":448,"context_line":"        default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_861e5f0a","line":445,"range":{"start_line":419,"start_character":1,"end_line":445,"end_character":34},"in_reply_to":"5faad753_f20123b1","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":782,"context_line":"The behavior of this option depends on the definition of the deprecated"},{"line_number":783,"context_line":"``vcpu_pin_set`` option."},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"* If ``vcpu_pin_set`` is defined, the host CPUs listed in this option will"},{"line_number":786,"context_line":"  only be used for instance emulator threads for instances configured with the"},{"line_number":787,"context_line":"  ``share`` emulator thread policy (``hw:emulator_threads_policy\u003dshare``)."},{"line_number":788,"context_line":"  ``vcpu_pin_set`` will be used to provide ``VCPU`` inventory and to determine"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_52d91781","line":785,"range":{"start_line":785,"start_character":58,"end_line":785,"end_character":62},"updated":"2019-09-07 00:30:08.000000000","message":"its not  imediatly clear if this refers to vcpu_pin_set or cpu_share_set.\n\nfrom context i can tell you mean cpu_shared_set but this might not be clear to everyone.\n\ni would replace \"this option\" with  \"the cpu_shared_set\"\n\nor ``[compute] cpu_shared_set`` as you have done below","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":782,"context_line":"The behavior of this option depends on the definition of the deprecated"},{"line_number":783,"context_line":"``vcpu_pin_set`` option."},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"* If ``vcpu_pin_set`` is defined, the host CPUs listed in this option will"},{"line_number":786,"context_line":"  only be used for instance emulator threads for instances configured with the"},{"line_number":787,"context_line":"  ``share`` emulator thread policy (``hw:emulator_threads_policy\u003dshare``)."},{"line_number":788,"context_line":"  ``vcpu_pin_set`` will be used to provide ``VCPU`` inventory and to determine"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_c6e1b700","line":785,"range":{"start_line":785,"start_character":58,"end_line":785,"end_character":62},"in_reply_to":"5faad753_52d91781","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":790,"context_line":""},{"line_number":791,"context_line":"* If ``vcpu_pin_set`` is not defined, ``[compute] cpu_shared_set`` will be be"},{"line_number":792,"context_line":"  used to provide ``VCPU`` inventory and to determine the host CPUs that"},{"line_number":793,"context_line":"  unpinned instances can be scheduled to, in addition to the host CPUs that can"},{"line_number":794,"context_line":"  be used for instance emulator threads."},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"This behavior will be simplified in a future release when ``vcpu_pin_set`` is"},{"line_number":797,"context_line":"removed."}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_b25f2be4","line":794,"range":{"start_line":793,"start_character":42,"end_line":794,"end_character":40},"updated":"2019-09-07 00:30:08.000000000","message":"im not sure what this mean.\n\nhw:emulator_threads_policy currently required the guest to be pinned. as such if cpu_shared_set is the only value set the only ploicy available is to pin the emulator thread to the same thread as the guest cpus e.g the defualt behavior if you do nothing.\n\nit would not be correct to remap the emultor thread to tread outside of the cpu_shared_set so stating \"in addition to the host CPUs that can\n  be used for instance emulator threads.\" is a little confusting.\n\n\ni would simply remove this last half sentence.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":790,"context_line":""},{"line_number":791,"context_line":"* If ``vcpu_pin_set`` is not defined, ``[compute] cpu_shared_set`` will be be"},{"line_number":792,"context_line":"  used to provide ``VCPU`` inventory and to determine the host CPUs that"},{"line_number":793,"context_line":"  unpinned instances can be scheduled to, in addition to the host CPUs that can"},{"line_number":794,"context_line":"  be used for instance emulator threads."},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"This behavior will be simplified in a future release when ``vcpu_pin_set`` is"},{"line_number":797,"context_line":"removed."}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_e6a073a8","line":794,"range":{"start_line":793,"start_character":42,"end_line":794,"end_character":40},"in_reply_to":"5faad753_b25f2be4","updated":"2019-09-09 10:05:49.000000000","message":"I\u0027ve reworded this. I want to say that for unpinned instances, their CPUs will run here, while for pinned instances with \u0027hw:emulator_threads_policy\u003dshare\u0027, their CPUs will run elsewhere but their emulator threads will run here. Hopefully I\u0027ve managed that","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1247,"context_line":""},{"line_number":1248,"context_line":"    @mock.patch.object(libvirt_driver.LOG, \u0027warning\u0027)"},{"line_number":1249,"context_line":"    def test_check_cpu_set_configuration__no_configuration(self, mock_log):"},{"line_number":1250,"context_line":"        \"\"\"Test that configuring no CPU option results no errors or logs."},{"line_number":1251,"context_line":"        \"\"\""},{"line_number":1252,"context_line":"        self.flags(vcpu_pin_set\u003dNone, reserved_host_cpus\u003dNone)"},{"line_number":1253,"context_line":"        self.flags(cpu_shared_set\u003dNone, cpu_dedicated_set\u003dNone,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_12187f1b","line":1250,"range":{"start_line":1250,"start_character":58,"end_line":1250,"end_character":64},"updated":"2019-09-07 00:30:08.000000000","message":"nit warnings","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1247,"context_line":""},{"line_number":1248,"context_line":"    @mock.patch.object(libvirt_driver.LOG, \u0027warning\u0027)"},{"line_number":1249,"context_line":"    def test_check_cpu_set_configuration__no_configuration(self, mock_log):"},{"line_number":1250,"context_line":"        \"\"\"Test that configuring no CPU option results no errors or logs."},{"line_number":1251,"context_line":"        \"\"\""},{"line_number":1252,"context_line":"        self.flags(vcpu_pin_set\u003dNone, reserved_host_cpus\u003dNone)"},{"line_number":1253,"context_line":"        self.flags(cpu_shared_set\u003dNone, cpu_dedicated_set\u003dNone,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_66a2439d","line":1250,"range":{"start_line":1250,"start_character":58,"end_line":1250,"end_character":64},"in_reply_to":"5faad753_12187f1b","updated":"2019-09-09 10:05:49.000000000","message":"Nope, that\u0027s correct (the warnings you refer to are the logs I refer to). I could have said \"exceptions or logs\" instead but that would mean I\u0027ve to wrap :)","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1257,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        self.assertEqual(0, mock_log.call_count)"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"    def test_check_cpu_set_configuration__cpu_shared_set_cpu_dedicated_set("},{"line_number":1262,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_72277366","line":1259,"range":{"start_line":1259,"start_character":9,"end_line":1259,"end_character":48},"updated":"2019-09-07 00:30:08.000000000","message":"mock_log.assert_not_called()\nhttps://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.assert_not_called","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1257,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        self.assertEqual(0, mock_log.call_count)"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"    def test_check_cpu_set_configuration__cpu_shared_set_cpu_dedicated_set("},{"line_number":1262,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_869f3f4f","line":1259,"range":{"start_line":1259,"start_character":9,"end_line":1259,"end_character":48},"in_reply_to":"5faad753_72277366","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1275,"context_line":""},{"line_number":1276,"context_line":"    def test_check_cpu_set_configuration__reserved_host_cpus_cpu_shared_set("},{"line_number":1277,"context_line":"            self):"},{"line_number":1278,"context_line":"        \"\"\"Test that configuring \u0027reserved_host_cpus\u0027 with one of the new"},{"line_number":1279,"context_line":"        options, in this case \u0027[compute] cpu_shared_set\u0027, results in an error"},{"line_number":1280,"context_line":"        stating that this is not allowed."},{"line_number":1281,"context_line":"        \"\"\""},{"line_number":1282,"context_line":"        self.flags(vcpu_pin_set\u003dNone, reserved_host_cpus\u003d1)"},{"line_number":1283,"context_line":"        self.flags(cpu_shared_set\u003d\u00271-10\u0027, cpu_dedicated_set\u003dNone,"},{"line_number":1284,"context_line":"                   group\u003d\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92e1cf01","line":1281,"range":{"start_line":1278,"start_character":8,"end_line":1281,"end_character":11},"updated":"2019-09-07 00:30:08.000000000","message":":) +1","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1301,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1302,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1305,"context_line":"        self.assertIn(\"While defined, \u0027vcpu_pin_set\u0027 will continue to be used \""},{"line_number":1306,"context_line":"                      \"to calculate \u0027VCPU\u0027 inventory and to schedule pinned \""},{"line_number":1307,"context_line":"                      \"instances that have \u0027VCPU\u0027 allocations.\","}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_b2bbabe3","line":1304,"range":{"start_line":1304,"start_character":8,"end_line":1304,"end_character":48},"updated":"2019-09-07 00:30:08.000000000","message":"mock_log.assert_called_once()","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1301,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1302,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1305,"context_line":"        self.assertIn(\"While defined, \u0027vcpu_pin_set\u0027 will continue to be used \""},{"line_number":1306,"context_line":"                      \"to calculate \u0027VCPU\u0027 inventory and to schedule pinned \""},{"line_number":1307,"context_line":"                      \"instances that have \u0027VCPU\u0027 allocations.\","}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_a6b11be4","line":1304,"range":{"start_line":1304,"start_character":8,"end_line":1304,"end_character":48},"in_reply_to":"5faad753_b2bbabe3","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1305,"context_line":"        self.assertIn(\"While defined, \u0027vcpu_pin_set\u0027 will continue to be used \""},{"line_number":1306,"context_line":"                      \"to calculate \u0027VCPU\u0027 inventory and to schedule pinned \""},{"line_number":1307,"context_line":"                      \"instances that have \u0027VCPU\u0027 allocations.\","},{"line_number":1308,"context_line":"                      six.text_type(mock_log.call_args[0]))"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92ba2fdc","line":1305,"range":{"start_line":1305,"start_character":8,"end_line":1305,"end_character":21},"updated":"2019-09-07 00:30:08.000000000","message":"you could remove the previous assert and use\nassert_called_once_with here","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d9e92340ff2a83d373760fdffdd1a728900c92d9","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1305,"context_line":"        self.assertIn(\"While defined, \u0027vcpu_pin_set\u0027 will continue to be used \""},{"line_number":1306,"context_line":"                      \"to calculate \u0027VCPU\u0027 inventory and to schedule pinned \""},{"line_number":1307,"context_line":"                      \"instances that have \u0027VCPU\u0027 allocations.\","},{"line_number":1308,"context_line":"                      six.text_type(mock_log.call_args[0]))"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_b7738680","line":1305,"range":{"start_line":1305,"start_character":8,"end_line":1305,"end_character":21},"in_reply_to":"5faad753_86c89f55","updated":"2019-09-09 13:16:09.000000000","message":"ya thats fair","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1303,"context_line":""},{"line_number":1304,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1305,"context_line":"        self.assertIn(\"While defined, \u0027vcpu_pin_set\u0027 will continue to be used \""},{"line_number":1306,"context_line":"                      \"to calculate \u0027VCPU\u0027 inventory and to schedule pinned \""},{"line_number":1307,"context_line":"                      \"instances that have \u0027VCPU\u0027 allocations.\","},{"line_number":1308,"context_line":"                      six.text_type(mock_log.call_args[0]))"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_86c89f55","line":1305,"range":{"start_line":1305,"start_character":8,"end_line":1305,"end_character":21},"in_reply_to":"5faad753_92ba2fdc","updated":"2019-09-09 10:05:49.000000000","message":"Not easily, because this isn\u0027t the complete log message so I\u0027d have to use a regex matcher. This is easier.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1322,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1325,"context_line":"        self.assertIn(\"The \u0027[compute] cpu_shared_set\u0027 config option has been \""},{"line_number":1326,"context_line":"                      \"ignored in favor of the legacy \u0027vcpu_pin_set\u0027 config \","},{"line_number":1327,"context_line":"                      six.text_type(mock_log.call_args[0]))"},{"line_number":1328,"context_line":""},{"line_number":1329,"context_line":"    def test_check_cpu_set_configuration__vcpu_pin_set_cpu_dedicated_set("},{"line_number":1330,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_f2c84375","line":1327,"range":{"start_line":1324,"start_character":8,"end_line":1327,"end_character":59},"updated":"2019-09-07 00:30:08.000000000","message":"same as above","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1322,"context_line":"        drvr._check_cpu_set_configuration()"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":1325,"context_line":"        self.assertIn(\"The \u0027[compute] cpu_shared_set\u0027 config option has been \""},{"line_number":1326,"context_line":"                      \"ignored in favor of the legacy \u0027vcpu_pin_set\u0027 config \","},{"line_number":1327,"context_line":"                      six.text_type(mock_log.call_args[0]))"},{"line_number":1328,"context_line":""},{"line_number":1329,"context_line":"    def test_check_cpu_set_configuration__vcpu_pin_set_cpu_dedicated_set("},{"line_number":1330,"context_line":"            self):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_26c52b3d","line":1327,"range":{"start_line":1324,"start_character":8,"end_line":1327,"end_character":59},"in_reply_to":"5faad753_f2c84375","updated":"2019-09-09 10:05:49.000000000","message":"Ditto","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"    def test_check_cpu_set_configuration__vcpu_pin_set_cpu_dedicated_set("},{"line_number":1330,"context_line":"            self):"},{"line_number":1331,"context_line":"        \"\"\"Test that configuring both \u0027vcpu_pin_set\u0027 and \u0027cpu_dedicated_set\u0027"},{"line_number":1332,"context_line":"        results in an error stating that the two options cannot co-exist."},{"line_number":1333,"context_line":"        \"\"\""},{"line_number":1334,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-3\u0027, reserved_host_cpus\u003dNone)"},{"line_number":1335,"context_line":"        self.flags(cpu_shared_set\u003dNone, cpu_dedicated_set\u003d\u00274-5\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92af8f93","line":1332,"range":{"start_line":1332,"start_character":27,"end_line":1332,"end_character":72},"updated":"2019-09-07 00:30:08.000000000","message":"you dont actuly assert this.\ni would just remove this.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"    def test_check_cpu_set_configuration__vcpu_pin_set_cpu_dedicated_set("},{"line_number":1330,"context_line":"            self):"},{"line_number":1331,"context_line":"        \"\"\"Test that configuring both \u0027vcpu_pin_set\u0027 and \u0027cpu_dedicated_set\u0027"},{"line_number":1332,"context_line":"        results in an error stating that the two options cannot co-exist."},{"line_number":1333,"context_line":"        \"\"\""},{"line_number":1334,"context_line":"        self.flags(vcpu_pin_set\u003d\u00270-3\u0027, reserved_host_cpus\u003dNone)"},{"line_number":1335,"context_line":"        self.flags(cpu_shared_set\u003dNone, cpu_dedicated_set\u003d\u00274-5\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_66f9e37e","line":1332,"range":{"start_line":1332,"start_character":27,"end_line":1332,"end_character":72},"in_reply_to":"5faad753_92af8f93","updated":"2019-09-09 10:05:49.000000000","message":"I added the missing assertion","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"}],"nova/tests/unit/virt/test_hardware.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        cpuset_ids \u003d hw.get_vcpu_pin_set()"},{"line_number":58,"context_line":"        self.assertEqual(set([1, 3, 5]), cpuset_ids)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def test_get_vcpu_pin_set__unset(self):"},{"line_number":61,"context_line":"        self.flags(vcpu_pin_set\u003dNone)"},{"line_number":62,"context_line":"        cpuset_ids \u003d hw.get_vcpu_pin_set()"},{"line_number":63,"context_line":"        self.assertIsNone(cpuset_ids)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_7298d369","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":31},"updated":"2019-09-07 00:30:08.000000000","message":"nit: you have an extrat _ here an below.\nthis does not help readablity.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        cpuset_ids \u003d hw.get_vcpu_pin_set()"},{"line_number":58,"context_line":"        self.assertEqual(set([1, 3, 5]), cpuset_ids)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def test_get_vcpu_pin_set__unset(self):"},{"line_number":61,"context_line":"        self.flags(vcpu_pin_set\u003dNone)"},{"line_number":62,"context_line":"        cpuset_ids \u003d hw.get_vcpu_pin_set()"},{"line_number":63,"context_line":"        self.assertIsNone(cpuset_ids)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_46f06791","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":31},"in_reply_to":"5faad753_7298d369","updated":"2019-09-09 10:05:49.000000000","message":"I was doing that on purpose:\n\n  test_{function name}__{extra description}\n\nYou\u0027ll see it throughout here","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def test_get_cpu_shared_set(self):"},{"line_number":70,"context_line":"        self.flags(cpu_shared_set\u003d\u00270-5,6,^2\u0027, group\u003d\u0027compute\u0027)"},{"line_number":71,"context_line":"        cpuset_ids \u003d hw.get_cpu_shared_set()"},{"line_number":72,"context_line":"        self.assertEqual(set([0, 1, 3, 4, 5, 6]), cpuset_ids)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_get_cpu_shared_set__unset(self):"},{"line_number":75,"context_line":"        self.flags(cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_529fd74f","line":72,"range":{"start_line":72,"start_character":25,"end_line":72,"end_character":48},"updated":"2019-09-07 00:30:08.000000000","message":"nit: you could have done {0,1,3,4,5,6}\n\nset([0,1,3,4,5,6]) technically builds a tempory list then convert it into a set.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def test_get_cpu_shared_set(self):"},{"line_number":70,"context_line":"        self.flags(cpu_shared_set\u003d\u00270-5,6,^2\u0027, group\u003d\u0027compute\u0027)"},{"line_number":71,"context_line":"        cpuset_ids \u003d hw.get_cpu_shared_set()"},{"line_number":72,"context_line":"        self.assertEqual(set([0, 1, 3, 4, 5, 6]), cpuset_ids)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_get_cpu_shared_set__unset(self):"},{"line_number":75,"context_line":"        self.flags(cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_863bbf36","line":72,"range":{"start_line":72,"start_character":25,"end_line":72,"end_character":48},"in_reply_to":"5faad753_529fd74f","updated":"2019-09-09 10:05:49.000000000","message":"Yeah, I tend to avoid that syntax though since it\u0027s quite easy to mix up with dicts and there\u0027s no way to create an empty set with this literal syntax. It\u0027s a pity they didn\u0027t use \u003c\u003e or something instead :(","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d9e92340ff2a83d373760fdffdd1a728900c92d9","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def test_get_cpu_shared_set(self):"},{"line_number":70,"context_line":"        self.flags(cpu_shared_set\u003d\u00270-5,6,^2\u0027, group\u003d\u0027compute\u0027)"},{"line_number":71,"context_line":"        cpuset_ids \u003d hw.get_cpu_shared_set()"},{"line_number":72,"context_line":"        self.assertEqual(set([0, 1, 3, 4, 5, 6]), cpuset_ids)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_get_cpu_shared_set__unset(self):"},{"line_number":75,"context_line":"        self.flags(cpu_shared_set\u003dNone, group\u003d\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_57949237","line":72,"range":{"start_line":72,"start_character":25,"end_line":72,"end_character":48},"in_reply_to":"5faad753_863bbf36","updated":"2019-09-09 13:16:09.000000000","message":"ya i think from looking at the ebnf grammer for python in the past  \u003c\u003e  while posible makes the grammer more complex when you need to parse sumthing like\n\nx \u003d \u003c1\u003e.update(\u003c2,3,4\u003e)\nits doable but i think that is part of the resaon the did not.\n\ni avoid the {} for empty sets. and i somethimes thing i should avoid it in general but when i do i think that goes for set,list,tuples and dicts. \n\neither they are all fine or none of them are and i like useing []\n\n{} also conflicts with blocks of code\nand () conflicts with use of () for grouping leading to (x) not being the same as (x,) and people getting confused.\n\nanyway this was a nit so im fine with you not chaning it.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"080ee6cc9c47449aaab47bf6f6b282299d2159df","unresolved":false,"context_lines":[{"line_number":730,"context_line":"            else:"},{"line_number":731,"context_line":"                LOG.info("},{"line_number":732,"context_line":"                    \"No host CPU configuration provided, meaning this host \""},{"line_number":733,"context_line":"                    \"will report both VCPUs and PCPUs. However, this is bad \""},{"line_number":734,"context_line":"                    \"behavior only intended to allow upgrades and PCPUs will \""},{"line_number":735,"context_line":"                    \"not be reported in a future release. If you wish to use \""},{"line_number":736,"context_line":"                    \"pinned instances on this host, you *must* configure \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_9e5ea310","line":733,"range":{"start_line":733,"start_character":21,"end_line":733,"end_character":53},"updated":"2019-08-09 10:21:03.000000000","message":"How about \u0027will report all host CPUs as both VCPUs and PCPUs\u0027?","commit_id":"fef91d2ccf23e0ee92be0c0429f70c85649974e9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"133d8093801215582450dc4b8cebd97482a2af58","unresolved":false,"context_lines":[{"line_number":730,"context_line":"            else:"},{"line_number":731,"context_line":"                LOG.info("},{"line_number":732,"context_line":"                    \"No host CPU configuration provided, meaning this host \""},{"line_number":733,"context_line":"                    \"will report both VCPUs and PCPUs. However, this is bad \""},{"line_number":734,"context_line":"                    \"behavior only intended to allow upgrades and PCPUs will \""},{"line_number":735,"context_line":"                    \"not be reported in a future release. If you wish to use \""},{"line_number":736,"context_line":"                    \"pinned instances on this host, you *must* configure \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_c1ac3af0","line":733,"range":{"start_line":733,"start_character":21,"end_line":733,"end_character":53},"in_reply_to":"7faddb67_9e5ea310","updated":"2019-08-09 11:15:34.000000000","message":"Good call. I can address that in a follow up","commit_id":"fef91d2ccf23e0ee92be0c0429f70c85649974e9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"34c62c248b5480690cda8cb8ca69cb9e32ee22a5","unresolved":false,"context_lines":[{"line_number":730,"context_line":"            else:"},{"line_number":731,"context_line":"                LOG.info("},{"line_number":732,"context_line":"                    \"No host CPU configuration provided, meaning this host \""},{"line_number":733,"context_line":"                    \"will report both VCPUs and PCPUs. However, this is bad \""},{"line_number":734,"context_line":"                    \"behavior only intended to allow upgrades and PCPUs will \""},{"line_number":735,"context_line":"                    \"not be reported in a future release. If you wish to use \""},{"line_number":736,"context_line":"                    \"pinned instances on this host, you *must* configure \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_e192969f","line":733,"range":{"start_line":733,"start_character":21,"end_line":733,"end_character":53},"in_reply_to":"7faddb67_c1ac3af0","updated":"2019-08-09 11:16:05.000000000","message":"https://review.opendev.org/675589","commit_id":"fef91d2ccf23e0ee92be0c0429f70c85649974e9"},{"author":{"_account_id":20182,"name":"Bhagyashri Shewale","email":"bshewale@redhat.com","username":"bhagyashris"},"change_message_id":"7d83d467362fe4d56efaa12560f49b87c17630ea","unresolved":false,"context_lines":[{"line_number":6860,"context_line":"        # otherwise."},{"line_number":6861,"context_line":"        inv \u003d provider_tree.data(nodename).inventory"},{"line_number":6862,"context_line":"        ratios \u003d self._get_allocation_ratios(inv)"},{"line_number":6863,"context_line":"        result \u003d {"},{"line_number":6864,"context_line":"            orc.VCPU: {"},{"line_number":6865,"context_line":"                \u0027total\u0027: vcpus,"},{"line_number":6866,"context_line":"                \u0027min_unit\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_4cc5968d","line":6863,"updated":"2019-07-30 08:01:16.000000000","message":"Hi Stephen,\n\nWhile reporting inventory to placement incase if only [compute] cpu_dedicated_set is set or [compute]cpu_shared_set is set then placement fails to report the inventory and Got 400 BadRequest at nova compute. \nBecause if only [compute] cpu_dediacted_set is set then in that case pcpus \u003d len(cpu_dedicated_set) and vcpus \u003d 0 so it fails at schema validation on placement side (inventory ).\nSo here will need to check the resources_amount first like if it’s greater than 0 then only report that inventory.\n\nSome thing like this:\n\nresource_dict \u003d {orc.VCPU: vcpus, orc.PCPU: pcpus}\nfor resource_class, resource_amount in resource_dict.items():\n    if resource_amount \u003e 0:\n        if resource_class \u003d\u003d orc.PCPU:\n            allocation_ratio \u003d 1.0\n            reserved_cpus \u003d 0\n        else:\n            allocation_ratio \u003d ratios[orc.VCPU]\n            reserved_cpus \u003d self._get_vcpu_reserved()\n        # Only provide resource classes if the driver supports it.\n        result[resource_class] \u003d {\n            \u0027total\u0027: resource_amount,\n            \u0027min_unit\u0027: 1,\n            \u0027max_unit\u0027: resource_amount,\n            \u0027step_size\u0027: 1,\n            \u0027allocation_ratio\u0027: allocation_ratio,\n            \u0027reserved\u0027: reserved_cpus,\n        }\n\nPlease find the error logs here [1]\n\n[1]: http://paste.openstack.org/show/755098/","commit_id":"317c02ab6d6752f2a03a6fa8aefc232f91842cb0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9eca3b3df4335d8293b8da29f1509d2d8898aa42","unresolved":false,"context_lines":[{"line_number":6860,"context_line":"        # otherwise."},{"line_number":6861,"context_line":"        inv \u003d provider_tree.data(nodename).inventory"},{"line_number":6862,"context_line":"        ratios \u003d self._get_allocation_ratios(inv)"},{"line_number":6863,"context_line":"        result \u003d {"},{"line_number":6864,"context_line":"            orc.VCPU: {"},{"line_number":6865,"context_line":"                \u0027total\u0027: vcpus,"},{"line_number":6866,"context_line":"                \u0027min_unit\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f11f4869","line":6863,"in_reply_to":"7faddb67_4cc5968d","updated":"2019-08-01 18:02:12.000000000","message":"Good spot! Done","commit_id":"317c02ab6d6752f2a03a6fa8aefc232f91842cb0"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c063cbf92bb62052f142585e294563393f94509c","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                if CONF.reserved_host_cpus:"},{"line_number":735,"context_line":"                    LOG.warning("},{"line_number":736,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":737,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":738,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":739,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":740,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_b8490533","line":737,"range":{"start_line":737,"start_character":25,"end_line":737,"end_character":32},"updated":"2019-08-13 08:48:35.000000000","message":"should we raise exception at here? actually, you didn\u0027t ignored it at line 5960 when I only set cpu_shared_set.","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a47cfac7e2ca5619a543c89b47c27c53291e0ad2","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                if CONF.reserved_host_cpus:"},{"line_number":735,"context_line":"                    LOG.warning("},{"line_number":736,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":737,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":738,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":739,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":740,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_a2abe3d3","line":737,"range":{"start_line":737,"start_character":25,"end_line":737,"end_character":32},"in_reply_to":"7faddb67_6215eb3c","updated":"2019-08-15 09:19:29.000000000","message":"Summary what I\u0027m understand:\nFor the old shared CPU node, CONF.reserved_host_cpus still keep the same behaviour with existed.\n\nFor the old dedicated CPI node, CONF.reserved_host_cpus doesn\u0027t expected to be used. It is ignored for available dedicated cpu","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ce613af378d0292b963a813777e0a2da340c4194","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                if CONF.reserved_host_cpus:"},{"line_number":735,"context_line":"                    LOG.warning("},{"line_number":736,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":737,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":738,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":739,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":740,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_6215eb3c","line":737,"range":{"start_line":737,"start_character":25,"end_line":737,"end_character":32},"in_reply_to":"7faddb67_9801a909","updated":"2019-08-15 09:17:32.000000000","message":"I see now. Probably we just correct this message, since it isn\u0027t ignored. we have 8 CPUs on the host, and cpu_shared_set\u003d0~6 and CONF.reserverd_host_cpus. But in the end, the inventory is total\u003d6, reserved\u003d2. That means only 4 vCPUs available, that doesn\u0027t mean the CONF.reserverd_host_cpus is ignored.","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e64bdab98c282150c7130b01a54fef66b5c0a0e7","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                if CONF.reserved_host_cpus:"},{"line_number":735,"context_line":"                    LOG.warning("},{"line_number":736,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":737,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":738,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":739,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":740,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_e5d637f3","line":737,"range":{"start_line":737,"start_character":25,"end_line":737,"end_character":32},"in_reply_to":"7faddb67_a2abe3d3","updated":"2019-08-28 13:25:37.000000000","message":"I\u0027ve actually changed this to error out instead.","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"87eb39877bd2c313f63b56165049b2f8b205c8ab","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                if CONF.reserved_host_cpus:"},{"line_number":735,"context_line":"                    LOG.warning("},{"line_number":736,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":737,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":738,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":739,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":740,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_9801a909","line":737,"range":{"start_line":737,"start_character":25,"end_line":737,"end_character":32},"in_reply_to":"7faddb67_b8490533","updated":"2019-08-13 09:22:29.000000000","message":"Hmm, we should probably raise an exception if cpu_dedicated_set is configured along with this. However, we can\u0027t raise if cpu_shared_set is configured since it\u0027s possible that this combination already exists in the wild and we can\u0027t break upgrades","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c063cbf92bb62052f142585e294563393f94509c","unresolved":false,"context_lines":[{"line_number":5957,"context_line":""},{"line_number":5958,"context_line":"        :returns: The total number of reserved VCPUs."},{"line_number":5959,"context_line":"        \"\"\""},{"line_number":5960,"context_line":"        if CONF.compute.cpu_dedicated_set:"},{"line_number":5961,"context_line":"            # there\u0027s a potential conflict here if \u0027reserved_host_cpus\u0027 was"},{"line_number":5962,"context_line":"            # still defined but that\u0027s handled during driver start-up"},{"line_number":5963,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_38e8b514","line":5960,"range":{"start_line":5960,"start_character":8,"end_line":5960,"end_character":42},"updated":"2019-08-13 08:48:35.000000000","message":"or we just write \"If CONF.compute.cpu_dedicated_set and CONF.compute.cpu_shared_set: return 0\"","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"87eb39877bd2c313f63b56165049b2f8b205c8ab","unresolved":false,"context_lines":[{"line_number":5957,"context_line":""},{"line_number":5958,"context_line":"        :returns: The total number of reserved VCPUs."},{"line_number":5959,"context_line":"        \"\"\""},{"line_number":5960,"context_line":"        if CONF.compute.cpu_dedicated_set:"},{"line_number":5961,"context_line":"            # there\u0027s a potential conflict here if \u0027reserved_host_cpus\u0027 was"},{"line_number":5962,"context_line":"            # still defined but that\u0027s handled during driver start-up"},{"line_number":5963,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_3b274fb9","line":5960,"range":{"start_line":5960,"start_character":8,"end_line":5960,"end_character":42},"in_reply_to":"7faddb67_38e8b514","updated":"2019-08-13 09:22:29.000000000","message":"This is tricky. It\u0027s possible that cpu_shared_set was already defined since it\u0027s an existing option, so I can\u0027t depend on that. What I probably want is this:\n\n  if CONF.compute.cpu_dedicated_set or (\n          CONF.compute.cpu_shared_set and not CONF.vcpu_pin_set):","commit_id":"e2497e7982be080d4ee0bd600caf52569d92cb36"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                    LOG.warning("},{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_d2df5164","line":741,"range":{"start_line":741,"start_character":41,"end_line":741,"end_character":43},"updated":"2019-08-22 20:43:29.000000000","message":"and/or","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"947c403961cfdacb1c1249009ae54460db08597a","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                    LOG.warning("},{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_2fe3d008","line":741,"range":{"start_line":741,"start_character":41,"end_line":741,"end_character":43},"in_reply_to":"7faddb67_91422d0f","updated":"2019-08-29 15:40:06.000000000","message":"Ugh.\n\nI defer to convention, but will put on record my opinion that the convention is wrong. Rant follows; feel free to stop reading now.\n\nBy itself, in English, `or` implies `exclusive or`. \"Would you like coffee or tea?\"\n\nUsing `or` non-exclusively is a programmer thing. (It may also be a thing in the legal field, which is where that article is aimed.) But this is not code. It\u0027s English, intended for (at least some) non-programmers.\n\nOn a side note, that article just made me mad. The pompous opinions-stated-as-assertions it cites are just hyperbolic variants of \"this is bad\" without a shred of technical backing to their arguments. These supposed authorities should at least have the decency to phrase it as a stylistic recommendation rather than a violation of some immutable law of grammar.\n\nAnd the one about \"No food or drink allowed\" is just plain irrelevant: negation *does* change the meaning to \"none of these\". (In French -- since the article brings that up as if it should have any bearing on English -- \"on ne permet pas l\u0027un ou l\u0027autre\" isn\u0027t even proper grammar. You\u0027re supposed to say, \"on ne permet ni l\u0027un ni l\u0027autre\" -- equivalent to \"neither...nor\".)\n\nAre these the same hacks who decided \"affect\" and \"effect\" are now interchangeable, or words like \"irregardless\" exist at all?\n\n\u003c/rant\u003e","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                    LOG.warning("},{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_f1460151","line":741,"range":{"start_line":741,"start_character":41,"end_line":741,"end_character":43},"in_reply_to":"7faddb67_d2df5164","updated":"2019-08-23 11:17:53.000000000","message":"I\u0027ve been told by a few technical writers not to use this construct so I\u0027ve avoided it here ([1] is the first Google result I found to back it up). \u0027or\u0027 is generally sufficient. I can add \u0027or both\u0027, if that would help though.\n\n[1] http://www.slaw.ca/2011/07/27/grammar-legal-writing/","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"29cdfdecf816aafe640fd4367935745f40a3373b","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                    LOG.warning("},{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_91422d0f","line":741,"range":{"start_line":741,"start_character":41,"end_line":741,"end_character":43},"in_reply_to":"7faddb67_f1460151","updated":"2019-08-23 11:20:07.000000000","message":"+1 please avoid and/or as it is considered redundant in technical writing. The recommendation is to use \u0027and\u0027 if there are two functions, and \u0027or\u0027 if there\u0027s a choice between the functions.\nUnless of course the function is actually called \"and/or\", then that\u0027s a naming convention.","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"},{"line_number":745,"context_line":"                LOG.info("}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_92d31960","line":742,"range":{"start_line":742,"start_character":31,"end_line":742,"end_character":55},"updated":"2019-08-22 20:43:29.000000000","message":"implicitly reserves remaining ?","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":739,"context_line":"                        \"The \u0027reserved_host_cpus\u0027 config option has been \""},{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"},{"line_number":745,"context_line":"                LOG.info("}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_313d79bc","line":742,"range":{"start_line":742,"start_character":31,"end_line":742,"end_character":55},"in_reply_to":"7faddb67_92d31960","updated":"2019-08-23 11:17:53.000000000","message":"Done","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":740,"context_line":"                        \"ignored since you have configured one of \u0027[compute] \""},{"line_number":741,"context_line":"                        \"cpu_shared_set\u0027 or \u0027[compute] cpu_dedicated_set\u0027 \""},{"line_number":742,"context_line":"                        \"which allow you to set exclude cores for use by \""},{"line_number":743,"context_line":"                        \"other host processes. Unset \u0027reserved_host_cpus\u0027\")"},{"line_number":744,"context_line":"            else:"},{"line_number":745,"context_line":"                LOG.info("},{"line_number":746,"context_line":"                    \"No host CPU configuration provided, meaning this host \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_9206b9cd","line":743,"range":{"start_line":743,"start_character":72,"end_line":743,"end_character":74},"updated":"2019-08-22 20:43:29.000000000","message":"\u0027.\"","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":744,"context_line":"            else:"},{"line_number":745,"context_line":"                LOG.info("},{"line_number":746,"context_line":"                    \"No host CPU configuration provided, meaning this host \""},{"line_number":747,"context_line":"                    \"will all host CPUs as both VCPUs and PCPUs. However, \""},{"line_number":748,"context_line":"                    \"this is bad behavior only intended to allow upgrades \""},{"line_number":749,"context_line":"                    \"and PCPUs will not be reported in a future release. \""},{"line_number":750,"context_line":"                    \"If you wish to use pinned instances on this host, you \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_92ea390c","line":747,"range":{"start_line":747,"start_character":21,"end_line":747,"end_character":29},"updated":"2019-08-22 20:43:29.000000000","message":"will report all?","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":744,"context_line":"            else:"},{"line_number":745,"context_line":"                LOG.info("},{"line_number":746,"context_line":"                    \"No host CPU configuration provided, meaning this host \""},{"line_number":747,"context_line":"                    \"will all host CPUs as both VCPUs and PCPUs. However, \""},{"line_number":748,"context_line":"                    \"this is bad behavior only intended to allow upgrades \""},{"line_number":749,"context_line":"                    \"and PCPUs will not be reported in a future release. \""},{"line_number":750,"context_line":"                    \"If you wish to use pinned instances on this host, you \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_716c51d0","line":747,"range":{"start_line":747,"start_character":21,"end_line":747,"end_character":29},"in_reply_to":"7faddb67_92ea390c","updated":"2019-08-23 11:17:53.000000000","message":"Done","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                    \"this is bad behavior only intended to allow upgrades \""},{"line_number":749,"context_line":"                    \"and PCPUs will not be reported in a future release. \""},{"line_number":750,"context_line":"                    \"If you wish to use pinned instances on this host, you \""},{"line_number":751,"context_line":"                    \"*must* configure \u0027[compute] cpu_dedicated_set\u0027\")"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"            return"},{"line_number":754,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_52428111","line":751,"range":{"start_line":751,"start_character":21,"end_line":751,"end_character":27},"updated":"2019-08-22 20:43:29.000000000","message":"\"must\" implies that, despite the fact we\u0027re reporting PCPUs, I\u0027ll be somehow blocked from creating (additional) pinned instances. I very well may be misunderstanding the design, but that doesn\u0027t sound right to me.","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                    \"this is bad behavior only intended to allow upgrades \""},{"line_number":749,"context_line":"                    \"and PCPUs will not be reported in a future release. \""},{"line_number":750,"context_line":"                    \"If you wish to use pinned instances on this host, you \""},{"line_number":751,"context_line":"                    \"*must* configure \u0027[compute] cpu_dedicated_set\u0027\")"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"            return"},{"line_number":754,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_320b45d6","line":751,"range":{"start_line":751,"start_character":66,"end_line":751,"end_character":68},"updated":"2019-08-22 20:43:29.000000000","message":"\u0027.\"","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                    \"this is bad behavior only intended to allow upgrades \""},{"line_number":749,"context_line":"                    \"and PCPUs will not be reported in a future release. \""},{"line_number":750,"context_line":"                    \"If you wish to use pinned instances on this host, you \""},{"line_number":751,"context_line":"                    \"*must* configure \u0027[compute] cpu_dedicated_set\u0027\")"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"            return"},{"line_number":754,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_f15fe10c","line":751,"range":{"start_line":751,"start_character":21,"end_line":751,"end_character":27},"in_reply_to":"7faddb67_52428111","updated":"2019-08-23 11:17:53.000000000","message":"Fair. I meant they must do this before upgrading. Hopefully that\u0027s clearer now","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":758,"context_line":"            raise exception.InternalError("},{"line_number":759,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":760,"context_line":"                \"cannot be defined alongside \u0027[compute] \""},{"line_number":761,"context_line":"                \"cpu_dedicated_set\u0027. Unset \u0027vcpu_pin_set\u0027\")"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        if cpu_shared_set:"},{"line_number":764,"context_line":"            LOG.warning("}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_12f2c9e4","line":761,"range":{"start_line":761,"start_character":56,"end_line":761,"end_character":58},"updated":"2019-08-22 20:43:29.000000000","message":"\u0027.\"","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":758,"context_line":"            raise exception.InternalError("},{"line_number":759,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":760,"context_line":"                \"cannot be defined alongside \u0027[compute] \""},{"line_number":761,"context_line":"                \"cpu_dedicated_set\u0027. Unset \u0027vcpu_pin_set\u0027\")"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        if cpu_shared_set:"},{"line_number":764,"context_line":"            LOG.warning("}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_115ddd14","line":761,"range":{"start_line":761,"start_character":56,"end_line":761,"end_character":58},"in_reply_to":"7faddb67_12f2c9e4","updated":"2019-08-23 11:17:53.000000000","message":"Done","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":5919,"context_line":""},{"line_number":5920,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5921,"context_line":"            if CONF.compute.cpu_dedicated_set:"},{"line_number":5922,"context_line":"                msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5923,"context_line":"                        \"more of the requested CPUs is not online. Online \""},{"line_number":5924,"context_line":"                        \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5925,"context_line":"            else:  # CONF.vcpu_pin_set"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_b2c5f55e","line":5922,"range":{"start_line":5922,"start_character":44,"end_line":5922,"end_character":61},"updated":"2019-08-22 20:43:29.000000000","message":"These two messages could be DRYd by parameterizing the option name. That doesn\u0027t count as message construction, since it\u0027s a token rather than a word.","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":5919,"context_line":""},{"line_number":5920,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5921,"context_line":"            if CONF.compute.cpu_dedicated_set:"},{"line_number":5922,"context_line":"                msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5923,"context_line":"                        \"more of the requested CPUs is not online. Online \""},{"line_number":5924,"context_line":"                        \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5925,"context_line":"            else:  # CONF.vcpu_pin_set"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_5191159a","line":5922,"range":{"start_line":5922,"start_character":44,"end_line":5922,"end_character":61},"in_reply_to":"7faddb67_b2c5f55e","updated":"2019-08-23 11:17:53.000000000","message":"Done","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":5961,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5962,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5963,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5964,"context_line":"                msg \u003d _(\"Invalid \u0027vcpu_pin_set\u0027 config: one or \""},{"line_number":5965,"context_line":"                        \"more of the requested CPUs is not online. Online \""},{"line_number":5966,"context_line":"                        \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5967,"context_line":"            else:  # CONF.compute.cpu_shared_set"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_729d3d6b","line":5964,"range":{"start_line":5964,"start_character":34,"end_line":5964,"end_character":46},"updated":"2019-08-22 20:43:29.000000000","message":"likewise above","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a572c195aac1668f24a38eff51051aff5dc9f33","unresolved":false,"context_lines":[{"line_number":5961,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5962,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5963,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5964,"context_line":"                msg \u003d _(\"Invalid \u0027vcpu_pin_set\u0027 config: one or \""},{"line_number":5965,"context_line":"                        \"more of the requested CPUs is not online. Online \""},{"line_number":5966,"context_line":"                        \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5967,"context_line":"            else:  # CONF.compute.cpu_shared_set"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_f1e28130","line":5964,"range":{"start_line":5964,"start_character":34,"end_line":5964,"end_character":46},"in_reply_to":"7faddb67_729d3d6b","updated":"2019-08-23 11:17:53.000000000","message":"Done","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"87779fb1366b12f08a119e052870357ba17ac537","unresolved":false,"context_lines":[{"line_number":6911,"context_line":"                \u0027max_unit\u0027: pcpus,"},{"line_number":6912,"context_line":"                \u0027step_size\u0027: 1,"},{"line_number":6913,"context_line":"                \u0027allocation_ratio\u0027: 1,"},{"line_number":6914,"context_line":"                \u0027reserved\u0027: 0,"},{"line_number":6915,"context_line":"            }"},{"line_number":6916,"context_line":""},{"line_number":6917,"context_line":"        # If a sharing DISK_GB provider exists in the provider tree, then our"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_92b9d9cc","line":6914,"range":{"start_line":6914,"start_character":28,"end_line":6914,"end_character":29},"updated":"2019-08-22 20:43:29.000000000","message":"shouldn\u0027t this get calculated as\n\n reserved_set \u003d all_host_cpus - (dedicated | shared)\n\n?\n\nOr did we decide to not report reserved at all?\n\n[Later, after checking the spec] Yeah, we did apparently.","commit_id":"9881da53cd621d32d0e30b6d30cdfd616724a4f2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        cpu_dedicated_set \u003d hardware.get_cpu_dedicated_set() or set()"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        # TODO(stephenfin): Remove this in U once we remove the \u0027vcpu_pin_set\u0027"},{"line_number":728,"context_line":"        # option"},{"line_number":729,"context_line":"        if not vcpu_pin_set:"},{"line_number":730,"context_line":"            if not (cpu_shared_set or cpu_dedicated_set):"},{"line_number":731,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_c7f3a708","line":728,"updated":"2019-08-29 14:57:19.000000000","message":"++","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                raise exception.InternalError("},{"line_number":735,"context_line":"                    \"The \u0027[compute] cpu_dedicated_set\u0027 and \u0027[compute] \""},{"line_number":736,"context_line":"                    \"cpu_shared_set\u0027 configuration options must be \""},{"line_number":737,"context_line":"                    \"disjoint.\")"},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"            if CONF.reserved_host_cpus:"},{"line_number":740,"context_line":"                raise exception.InternalError("}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_9da2e2fb","line":737,"updated":"2019-08-29 14:57:19.000000000","message":"++","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":5925,"context_line":"        # if it\u0027s defined, regardless of whether \u0027[compute] cpu_shared_set\u0027 is"},{"line_number":5926,"context_line":"        # also configured. This is legacy behavior required for upgrades that"},{"line_number":5927,"context_line":"        # should be removed in the future, when we can rely exclusively on"},{"line_number":5928,"context_line":"        # \u0027[compute] cpu_shared_set\u0027."},{"line_number":5929,"context_line":"        if CONF.vcpu_pin_set:"},{"line_number":5930,"context_line":"            # TODO(stephenfin): Remove this in U"},{"line_number":5931,"context_line":"            requested_cpus \u003d hardware.get_vcpu_pin_set()"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_3d2e4e8c","line":5928,"updated":"2019-08-29 14:57:19.000000000","message":"++","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":5932,"context_line":"        elif CONF.compute.cpu_shared_set:"},{"line_number":5933,"context_line":"            requested_cpus \u003d hardware.get_cpu_shared_set()"},{"line_number":5934,"context_line":"        elif CONF.compute.cpu_dedicated_set:"},{"line_number":5935,"context_line":"            return 0"},{"line_number":5936,"context_line":"        else:"},{"line_number":5937,"context_line":"            try:"},{"line_number":5938,"context_line":"                return self._host.get_cpu_count()"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_3d43ae41","line":5935,"updated":"2019-08-29 14:57:19.000000000","message":"cool, that makes the flag mutually exclusive.","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":6865,"context_line":"        }"},{"line_number":6866,"context_line":""},{"line_number":6867,"context_line":"        # NOTE(stephenfin): We have to optionally report these since placement"},{"line_number":6868,"context_line":"        # forbids reporting inventory with total\u003d0"},{"line_number":6869,"context_line":"        if vcpus:"},{"line_number":6870,"context_line":"            result[orc.VCPU] \u003d {"},{"line_number":6871,"context_line":"                \u0027total\u0027: vcpus,"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_87d36fd3","line":6868,"updated":"2019-08-29 14:57:19.000000000","message":"not sure the note is really needed, but okay.","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":6876,"context_line":"                \u0027reserved\u0027: CONF.reserved_host_cpus,"},{"line_number":6877,"context_line":"            }"},{"line_number":6878,"context_line":""},{"line_number":6879,"context_line":"        if pcpus:"},{"line_number":6880,"context_line":"            result[orc.PCPU] \u003d {"},{"line_number":6881,"context_line":"                \u0027total\u0027: pcpus,"},{"line_number":6882,"context_line":"                \u0027min_unit\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_5d678aeb","line":6879,"updated":"2019-08-29 14:57:19.000000000","message":"pcpus is always set to an integer but it can be 0, so that\u0027s why it works.","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":6884,"context_line":"                \u0027step_size\u0027: 1,"},{"line_number":6885,"context_line":"                \u0027allocation_ratio\u0027: 1,"},{"line_number":6886,"context_line":"                \u0027reserved\u0027: 0,"},{"line_number":6887,"context_line":"            }"},{"line_number":6888,"context_line":""},{"line_number":6889,"context_line":"        # If a sharing DISK_GB provider exists in the provider tree, then our"},{"line_number":6890,"context_line":"        # storage is shared, and we should not report the DISK_GB inventory in"}],"source_content_type":"text/x-python","patch_set":16,"id":"7faddb67_c7d167ce","line":6887,"updated":"2019-08-29 14:57:19.000000000","message":"I\u0027d have had arguments if you were not using this config option, but since you\u0027re populating the PCPU resources, you\u0027re actually using it. Cool.","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                return"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"            if not cpu_dedicated_set.isdisjoint(cpu_shared_set):"},{"line_number":735,"context_line":"                raise exception.InternalError("},{"line_number":736,"context_line":"                    \"The \u0027[compute] cpu_dedicated_set\u0027 and \u0027[compute] \""},{"line_number":737,"context_line":"                    \"cpu_shared_set\u0027 configuration options must be \""},{"line_number":738,"context_line":"                    \"disjoint.\")"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_d2c2e7e9","line":735,"range":{"start_line":735,"start_character":32,"end_line":735,"end_character":45},"updated":"2019-09-07 00:30:08.000000000","message":"you should have used invalid here and in the other\nplaces below.\n\nby defintion invlaid config with is an external input is not an internal error.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                return"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"            if not cpu_dedicated_set.isdisjoint(cpu_shared_set):"},{"line_number":735,"context_line":"                raise exception.InternalError("},{"line_number":736,"context_line":"                    \"The \u0027[compute] cpu_dedicated_set\u0027 and \u0027[compute] \""},{"line_number":737,"context_line":"                    \"cpu_shared_set\u0027 configuration options must be \""},{"line_number":738,"context_line":"                    \"disjoint.\")"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_2621abfc","line":735,"range":{"start_line":735,"start_character":32,"end_line":735,"end_character":45},"in_reply_to":"5faad753_d2c2e7e9","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":755,"context_line":""},{"line_number":756,"context_line":"        if cpu_shared_set:"},{"line_number":757,"context_line":"            LOG.warning("},{"line_number":758,"context_line":"                \"The \u0027[compute] cpu_shared_set\u0027 config option has been \""},{"line_number":759,"context_line":"                \"ignored in favor of the legacy \u0027vcpu_pin_set\u0027 config \""},{"line_number":760,"context_line":"                \"option. If you wish to use \u0027[compute] cpu_shared_set\u0027 \""},{"line_number":761,"context_line":"                \"to configure specific host CPUs used for \u0027VCPU\u0027 \""},{"line_number":762,"context_line":"                \"inventory, you must migrate the \u0027vcpu_pin_set\u0027 \""},{"line_number":763,"context_line":"                \"config option value to \u0027[compute] cpu_dedicated_set\u0027 and \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_12c2bf34","line":760,"range":{"start_line":758,"start_character":17,"end_line":760,"end_character":24},"updated":"2019-09-07 00:30:08.000000000","message":"this is wrong. it is not ignore. it will be used the way it was in stine to define the set of cpu to use for emulator treads. stating its ingnored is incorrect.\n\nif the statement above is not ture then this is an upgrade issue breakage.\n\ni would rephase thei section more along the linst of.\n\n\"The cpu_shared_set and vcpu_pin_set are both defied, falling back to legacy behavior. The vcpu_pin_set will continue to be use to device the availble host cpus for guest CPU and the cpu_shared_Set will be used for guest emulator_threads when hw:emulator_threads_policy\u003dshared is defiend in the flavor.\"","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":755,"context_line":""},{"line_number":756,"context_line":"        if cpu_shared_set:"},{"line_number":757,"context_line":"            LOG.warning("},{"line_number":758,"context_line":"                \"The \u0027[compute] cpu_shared_set\u0027 config option has been \""},{"line_number":759,"context_line":"                \"ignored in favor of the legacy \u0027vcpu_pin_set\u0027 config \""},{"line_number":760,"context_line":"                \"option. If you wish to use \u0027[compute] cpu_shared_set\u0027 \""},{"line_number":761,"context_line":"                \"to configure specific host CPUs used for \u0027VCPU\u0027 \""},{"line_number":762,"context_line":"                \"inventory, you must migrate the \u0027vcpu_pin_set\u0027 \""},{"line_number":763,"context_line":"                \"config option value to \u0027[compute] cpu_dedicated_set\u0027 and \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_66da43ea","line":760,"range":{"start_line":758,"start_character":17,"end_line":760,"end_character":24},"in_reply_to":"5faad753_12c2bf34","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        else:"},{"line_number":766,"context_line":"            LOG.warning("},{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92046f7d","line":768,"range":{"start_line":768,"start_character":54,"end_line":768,"end_character":59},"updated":"2019-09-07 00:30:08.000000000","message":"When? while reads strangely.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        else:"},{"line_number":766,"context_line":"            LOG.warning("},{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_a6e91b81","line":768,"range":{"start_line":768,"start_character":54,"end_line":768,"end_character":59},"in_reply_to":"5faad753_92046f7d","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":766,"context_line":"            LOG.warning("},{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_32f9fb7f","line":769,"range":{"start_line":769,"start_character":36,"end_line":769,"end_character":48},"updated":"2019-09-07 00:30:08.000000000","message":"this can be remove if you use when.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":766,"context_line":"            LOG.warning("},{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_e6ef1385","line":769,"range":{"start_line":769,"start_character":36,"end_line":769,"end_character":48},"in_reply_to":"5faad753_32f9fb7f","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""},{"line_number":773,"context_line":"                \"\u0027vcpu_pin_set\u0027 config option value to \u0027[compute] \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_52f6f791","line":770,"range":{"start_line":770,"start_character":30,"end_line":770,"end_character":33},"updated":"2019-09-07 00:30:08.000000000","message":"as can this","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""},{"line_number":773,"context_line":"                \"\u0027vcpu_pin_set\u0027 config option value to \u0027[compute] \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_12f07f90","line":770,"range":{"start_line":770,"start_character":43,"end_line":770,"end_character":50},"updated":"2019-09-07 00:30:08.000000000","message":"remove pinned.\n\nthis will be used for pinned and floating instances.\nsee https://that.guru/blog/cpu-resources/","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""},{"line_number":773,"context_line":"                \"\u0027vcpu_pin_set\u0027 config option value to \u0027[compute] \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_e694f3ea","line":770,"range":{"start_line":770,"start_character":43,"end_line":770,"end_character":50},"in_reply_to":"5faad753_12f07f90","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                \"The \u0027vcpu_pin_set\u0027 config option has been deprecated and \""},{"line_number":768,"context_line":"                \"will be removed in a future release. While defined, \""},{"line_number":769,"context_line":"                \"\u0027vcpu_pin_set\u0027 will continue to be used to calculate \u0027VCPU\u0027 \""},{"line_number":770,"context_line":"                \"inventory and to schedule pinned instances that have \u0027VCPU\u0027 \""},{"line_number":771,"context_line":"                \"allocations. If you wish to define specific host CPUs to be \""},{"line_number":772,"context_line":"                \"used for \u0027VCPU\u0027 or \u0027PCPU\u0027 inventory, you must migrate the \""},{"line_number":773,"context_line":"                \"\u0027vcpu_pin_set\u0027 config option value to \u0027[compute] \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_46faa742","line":770,"range":{"start_line":770,"start_character":30,"end_line":770,"end_character":33},"in_reply_to":"5faad753_52f6f791","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5909,"context_line":"        if not CONF.compute.cpu_dedicated_set:"},{"line_number":5910,"context_line":"            return 0"},{"line_number":5911,"context_line":""},{"line_number":5912,"context_line":"        requested_cpus \u003d hardware.get_cpu_dedicated_set()"},{"line_number":5913,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_1245dfb3","line":5912,"range":{"start_line":5912,"start_character":8,"end_line":5912,"end_character":22},"updated":"2019-09-07 00:30:08.000000000","message":"nit: technically this is not the requested cpus its the specific, defiend,selected or provided cpus.\n\nor to use a less generic variable the dedicated_cpus\n\nthe operator is not requesting cpus the are stating or declaring what cpus can be used.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5909,"context_line":"        if not CONF.compute.cpu_dedicated_set:"},{"line_number":5910,"context_line":"            return 0"},{"line_number":5911,"context_line":""},{"line_number":5912,"context_line":"        requested_cpus \u003d hardware.get_cpu_dedicated_set()"},{"line_number":5913,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_a6b7db86","line":5912,"range":{"start_line":5912,"start_character":8,"end_line":5912,"end_character":22},"in_reply_to":"5faad753_1245dfb3","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5913,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5916,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5917,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5918,"context_line":"            raise exception.Invalid(msg % {"},{"line_number":5919,"context_line":"                \u0027online\u0027: sorted(online_cpus),"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_720d338f","line":5916,"range":{"start_line":5916,"start_character":33,"end_line":5916,"end_character":42},"updated":"2019-09-07 00:30:08.000000000","message":"configured","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5913,"context_line":"        online_cpus \u003d self._host.get_online_cpus()"},{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5916,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5917,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5918,"context_line":"            raise exception.Invalid(msg % {"},{"line_number":5919,"context_line":"                \u0027online\u0027: sorted(online_cpus),"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_06c34fef","line":5916,"range":{"start_line":5916,"start_character":33,"end_line":5916,"end_character":42},"in_reply_to":"5faad753_720d338f","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5916,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5917,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5918,"context_line":"            raise exception.Invalid(msg % {"},{"line_number":5919,"context_line":"                \u0027online\u0027: sorted(online_cpus),"},{"line_number":5920,"context_line":"                \u0027req\u0027: sorted(requested_cpus)})"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_92122fb1","line":5917,"range":{"start_line":5917,"start_character":44,"end_line":5917,"end_character":53},"updated":"2019-09-07 00:30:08.000000000","message":"configured","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5914,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5915,"context_line":"            msg \u003d _(\"Invalid \u0027[compute] cpu_dedicated_set\u0027 config: one or \""},{"line_number":5916,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5917,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5918,"context_line":"            raise exception.Invalid(msg % {"},{"line_number":5919,"context_line":"                \u0027online\u0027: sorted(online_cpus),"},{"line_number":5920,"context_line":"                \u0027req\u0027: sorted(requested_cpus)})"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_e6bdd368","line":5917,"range":{"start_line":5917,"start_character":44,"end_line":5917,"end_character":53},"in_reply_to":"5faad753_92122fb1","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5929,"context_line":"        # NOTE(stephenfin): The use of the legacy \u0027vcpu_pin_set\u0027 option happens"},{"line_number":5930,"context_line":"        # if it\u0027s defined, regardless of whether \u0027[compute] cpu_shared_set\u0027 is"},{"line_number":5931,"context_line":"        # also configured. This is legacy behavior required for upgrades that"},{"line_number":5932,"context_line":"        # should be removed in the future, when we can rely exclusively on"},{"line_number":5933,"context_line":"        # \u0027[compute] cpu_shared_set\u0027."},{"line_number":5934,"context_line":"        if CONF.vcpu_pin_set:"},{"line_number":5935,"context_line":"            # TODO(stephenfin): Remove this in U"},{"line_number":5936,"context_line":"            requested_cpus \u003d hardware.get_vcpu_pin_set()"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_12739f17","line":5933,"range":{"start_line":5932,"start_character":43,"end_line":5933,"end_character":35},"updated":"2019-09-07 00:30:08.000000000","message":"this is when vcpu_pin_set is removed.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5933,"context_line":"        # \u0027[compute] cpu_shared_set\u0027."},{"line_number":5934,"context_line":"        if CONF.vcpu_pin_set:"},{"line_number":5935,"context_line":"            # TODO(stephenfin): Remove this in U"},{"line_number":5936,"context_line":"            requested_cpus \u003d hardware.get_vcpu_pin_set()"},{"line_number":5937,"context_line":"        elif CONF.compute.cpu_shared_set:"},{"line_number":5938,"context_line":"            requested_cpus \u003d hardware.get_cpu_shared_set()"},{"line_number":5939,"context_line":"        elif CONF.compute.cpu_dedicated_set:"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_72e9b37e","line":5936,"range":{"start_line":5936,"start_character":12,"end_line":5936,"end_character":26},"updated":"2019-09-07 00:30:08.000000000","message":"shared_cpus\n\nagain the operator declares what cpus can be used they do not request them. we validate that there declartion make sense but they do not make a requst.\n\nrequested_cpus only really makes sense wehn we are talking about asignment of cpus to a vm. with out a consume requested does not make sense.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5933,"context_line":"        # \u0027[compute] cpu_shared_set\u0027."},{"line_number":5934,"context_line":"        if CONF.vcpu_pin_set:"},{"line_number":5935,"context_line":"            # TODO(stephenfin): Remove this in U"},{"line_number":5936,"context_line":"            requested_cpus \u003d hardware.get_vcpu_pin_set()"},{"line_number":5937,"context_line":"        elif CONF.compute.cpu_shared_set:"},{"line_number":5938,"context_line":"            requested_cpus \u003d hardware.get_cpu_shared_set()"},{"line_number":5939,"context_line":"        elif CONF.compute.cpu_dedicated_set:"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_86ae5f2c","line":5936,"range":{"start_line":5936,"start_character":12,"end_line":5936,"end_character":26},"in_reply_to":"5faad753_72e9b37e","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5950,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5951,"context_line":"            msg \u003d _(\"Invalid \u0027%(config_opt)s\u0027 config: one or \""},{"line_number":5952,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5953,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5954,"context_line":""},{"line_number":5955,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5956,"context_line":"                config_opt \u003d \u0027vcpu_pin_set\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_52003735","line":5953,"range":{"start_line":5953,"start_character":44,"end_line":5953,"end_character":53},"updated":"2019-09-07 00:30:08.000000000","message":"configured","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5950,"context_line":"        if not requested_cpus.issubset(online_cpus):"},{"line_number":5951,"context_line":"            msg \u003d _(\"Invalid \u0027%(config_opt)s\u0027 config: one or \""},{"line_number":5952,"context_line":"                    \"more of the requested CPUs is not online. Online \""},{"line_number":5953,"context_line":"                    \"cpuset(s): %(online)s, requested cpuset(s): %(req)s\")"},{"line_number":5954,"context_line":""},{"line_number":5955,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5956,"context_line":"                config_opt \u003d \u0027vcpu_pin_set\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_26abeb1d","line":5953,"range":{"start_line":5953,"start_character":44,"end_line":5953,"end_character":53},"in_reply_to":"5faad753_52003735","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":5954,"context_line":""},{"line_number":5955,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5956,"context_line":"                config_opt \u003d \u0027vcpu_pin_set\u0027"},{"line_number":5957,"context_line":"            else:  # CONF.compute.cpu_shared_set"},{"line_number":5958,"context_line":"                config_opt \u003d \u0027[compute] cpu_shared_set\u0027"},{"line_number":5959,"context_line":""},{"line_number":5960,"context_line":"            raise exception.Invalid(msg % {"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_f2fcc33f","line":5957,"range":{"start_line":5957,"start_character":19,"end_line":5957,"end_character":48},"updated":"2019-09-07 00:30:08.000000000","message":"that kind of obvious from the string below but ok.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":5954,"context_line":""},{"line_number":5955,"context_line":"            if CONF.vcpu_pin_set:"},{"line_number":5956,"context_line":"                config_opt \u003d \u0027vcpu_pin_set\u0027"},{"line_number":5957,"context_line":"            else:  # CONF.compute.cpu_shared_set"},{"line_number":5958,"context_line":"                config_opt \u003d \u0027[compute] cpu_shared_set\u0027"},{"line_number":5959,"context_line":""},{"line_number":5960,"context_line":"            raise exception.Invalid(msg % {"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_46a8671e","line":5957,"range":{"start_line":5957,"start_character":19,"end_line":5957,"end_character":48},"in_reply_to":"5faad753_f2fcc33f","updated":"2019-09-09 10:05:49.000000000","message":"Done","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":6887,"context_line":"                \u0027min_unit\u0027: 1,"},{"line_number":6888,"context_line":"                \u0027max_unit\u0027: pcpus,"},{"line_number":6889,"context_line":"                \u0027step_size\u0027: 1,"},{"line_number":6890,"context_line":"                \u0027allocation_ratio\u0027: 1,"},{"line_number":6891,"context_line":"                \u0027reserved\u0027: 0,"},{"line_number":6892,"context_line":"            }"},{"line_number":6893,"context_line":""},{"line_number":6894,"context_line":"        # If a sharing DISK_GB provider exists in the provider tree, then our"}],"source_content_type":"text/x-python","patch_set":20,"id":"5faad753_52aef72e","line":6891,"range":{"start_line":6890,"start_character":15,"end_line":6891,"end_character":30},"updated":"2019-09-07 00:30:08.000000000","message":"we have correctly hard coded allocation_ratio to 1\nand reserved to 0 but i dont recall seeing a test wehree we change the (initial)cpu_allocation_ratio and asserted this is not changed.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"}],"releasenotes/notes/cpu-resources-d4e6a0c12681fa87.yaml":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0c3ffe2d581849a34441f589adf5ce1fadcf6402","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    A new configuration option, ``[compute] cpu_dedicated_set``, has been"},{"line_number":13,"context_line":"    added. This can be used to configure the host CPUs that should be used for"},{"line_number":14,"context_line":"    ``PCPU`` inventory."},{"line_number":15,"context_line":"deprecations:"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    The ``vcpu_pin_set`` configuration option has been deprecated. You should"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7faddb67_2a3362f8","line":14,"updated":"2019-08-29 14:57:19.000000000","message":"worth adding some upgrade note explaining we will no longer report offline CPUs as it can be a bit disruptive for some very weird usecase I can\u0027t think of.","commit_id":"cf8c5aa78452f64483c4f818b7f4c7f30bde910a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute nodes using the libvirt driver can now report ``PCPU`` inventory."},{"line_number":5,"context_line":"    This is consumed by instances with dedicated (pinned) CPUs. This can be"},{"line_number":6,"context_line":"    configured using the ``[compute] cpu_dedicated_set`` config option. A"},{"line_number":7,"context_line":"    legacy path using the now deprecated ``vcpu_pin_set`` config option is"},{"line_number":8,"context_line":"    provided to assist with upgrades. Refer to the help text of the ``[compute]"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"5faad753_d2674725","line":5,"range":{"start_line":5,"start_character":9,"end_line":5,"end_character":11},"updated":"2019-09-07 00:30:08.000000000","message":"\"will be\"\n\nwith this patch alone it is not.\n\nthat will only start when the translation function is introduced or they modified there flavors.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Compute nodes using the libvirt driver can now report ``PCPU`` inventory."},{"line_number":5,"context_line":"    This is consumed by instances with dedicated (pinned) CPUs. This can be"},{"line_number":6,"context_line":"    configured using the ``[compute] cpu_dedicated_set`` config option. A"},{"line_number":7,"context_line":"    legacy path using the now deprecated ``vcpu_pin_set`` config option is"},{"line_number":8,"context_line":"    provided to assist with upgrades. Refer to the help text of the ``[compute]"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"5faad753_e64b9384","line":5,"range":{"start_line":5,"start_character":9,"end_line":5,"end_character":11},"in_reply_to":"5faad753_d2674725","updated":"2019-09-09 10:05:49.000000000","message":"Eh, I get where you\u0027re coming from but that introduces a lot of complexity in an already complex bit of prose. I\u0027m going to rely on the reshaper reno to document this","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2726543c72ed101d8bb88a6903831ea432768df6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    A new configuration option, ``[compute] cpu_dedicated_set``, has been"},{"line_number":13,"context_line":"    added. This can be used to configure the host CPUs that should be used for"},{"line_number":14,"context_line":"    ``PCPU`` inventory."},{"line_number":15,"context_line":"deprecations:"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    The ``vcpu_pin_set`` configuration option has been deprecated. You should"},{"line_number":18,"context_line":"    migrate host CPU configuration to the ``[compute] cpu_dedicated_set`` or"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"5faad753_3276dbda","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":13},"updated":"2019-09-07 00:30:08.000000000","message":"we also should be deprecating reserved_host_cpus or whatever its called.","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d7d7ee822daf9c0a1eddef1542ec7eb57f9f6e5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    A new configuration option, ``[compute] cpu_dedicated_set``, has been"},{"line_number":13,"context_line":"    added. This can be used to configure the host CPUs that should be used for"},{"line_number":14,"context_line":"    ``PCPU`` inventory."},{"line_number":15,"context_line":"deprecations:"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    The ``vcpu_pin_set`` configuration option has been deprecated. You should"},{"line_number":18,"context_line":"    migrate host CPU configuration to the ``[compute] cpu_dedicated_set`` or"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"5faad753_8673bfe7","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":13},"in_reply_to":"5faad753_3276dbda","updated":"2019-09-09 10:05:49.000000000","message":"as noted elsewhere, we can\u0027t do this since other drivers use this still","commit_id":"56e70931926064fdeb35261185ee61e6e6e826fa"}]}
