)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7617330a20bfac6567f6c17ff3081b25d187cdd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1221725c_5ae90675","updated":"2023-11-09 10:06:00.000000000","message":"Hi Sean and Sylvain,\n\nThanks for the detailed explanation.\nI will update this spec.","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94b086bae84ffaf81443f2c06fc845fe38e09d95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"57626eca_270ab1a0","updated":"2023-12-06 11:28:56.000000000","message":"im more or less happy with this as proposed","commit_id":"346d77f7c6f9586e73a94c4332e5ac922c027bc8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"be949fe606ccd1eba4a0d4ce98fa0a114c125eb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4b52430a_83b74627","updated":"2023-12-06 14:35:31.000000000","message":"so you added details about image props and how you would use this with filters but that\u0027s OK with me.","commit_id":"346d77f7c6f9586e73a94c4332e5ac922c027bc8"}],"specs/2024.1/approved/libvirt-maxphysaddr-support.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5963e27bed121dadab425d0fe2f301eb67f4df0f","unresolved":true,"context_lines":[{"line_number":58,"context_line":"to check the scheduled host supports this feature."},{"line_number":59,"context_line":"``trait:COMPUTE_ADDRESS_SPACE_PASSTHROUGH\u003drequired`` is automatically added"},{"line_number":60,"context_line":"if ``hw:maxphysaddr_mode\u003dpassthrough`` is specified in flavor extra_specs."},{"line_number":61,"context_line":"And same for ``hw:maxphysaddr_mode\u003demulate``."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Passthrough and emulate modes have different properties. So let\u0027s consider"},{"line_number":64,"context_line":"the two separately."}],"source_content_type":"text/x-rst","patch_set":1,"id":"4c02e902_96ad8e69","line":61,"updated":"2023-11-08 10:26:27.000000000","message":"i assume this will be done by adding a new prefilter or extending \n\nResourceRequest.from_request_spec\n\nhttps://github.com/openstack/nova/blob/b64ecb0cc776bd3eced674b0f879bb23c8a4b486/nova/scheduler/utils.py#L80C9-L199\n\ni would personnlay add a new _translate_address_space function like this\n\nhttps://github.com/openstack/nova/blob/b64ecb0cc776bd3eced674b0f879bb23c8a4b486/nova/scheduler/utils.py#L288-L303\n\nwhich will include the requried traits for COMPUTE_ADDRESS_SPACE_PASSTHROUGH or COMPUTE_ADDRESS_SPACE_EMULATED\n\nautomatically.\n\nthis is not somethign that admins should need to do\n\nyou can and suoudl supprot that as both an image property and flvor  extra spec.","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7e244f7a46d932e5ca4d586da6edfab4e3d5df97","unresolved":false,"context_lines":[{"line_number":58,"context_line":"to check the scheduled host supports this feature."},{"line_number":59,"context_line":"``trait:COMPUTE_ADDRESS_SPACE_PASSTHROUGH\u003drequired`` is automatically added"},{"line_number":60,"context_line":"if ``hw:maxphysaddr_mode\u003dpassthrough`` is specified in flavor extra_specs."},{"line_number":61,"context_line":"And same for ``hw:maxphysaddr_mode\u003demulate``."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Passthrough and emulate modes have different properties. So let\u0027s consider"},{"line_number":64,"context_line":"the two separately."}],"source_content_type":"text/x-rst","patch_set":1,"id":"29933b06_d47636e5","line":61,"in_reply_to":"044af8f3_1f4ccf4c","updated":"2023-11-10 02:33:05.000000000","message":"Done","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7617330a20bfac6567f6c17ff3081b25d187cdd6","unresolved":true,"context_lines":[{"line_number":58,"context_line":"to check the scheduled host supports this feature."},{"line_number":59,"context_line":"``trait:COMPUTE_ADDRESS_SPACE_PASSTHROUGH\u003drequired`` is automatically added"},{"line_number":60,"context_line":"if ``hw:maxphysaddr_mode\u003dpassthrough`` is specified in flavor extra_specs."},{"line_number":61,"context_line":"And same for ``hw:maxphysaddr_mode\u003demulate``."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Passthrough and emulate modes have different properties. So let\u0027s consider"},{"line_number":64,"context_line":"the two separately."}],"source_content_type":"text/x-rst","patch_set":1,"id":"044af8f3_1f4ccf4c","line":61,"in_reply_to":"4c02e902_96ad8e69","updated":"2023-11-09 10:06:00.000000000","message":"I was thinking of the same approach [1].\nIt just needs to be improved to support both image properties and flavor extra_specs.\nI will work on it when this spec is merged.\n\n[1] https://review.opendev.org/c/openstack/nova/+/895761","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5963e27bed121dadab425d0fe2f301eb67f4df0f","unresolved":true,"context_lines":[{"line_number":77,"context_line":"hypervisor can be obtained by using libvirt capabilities [4]_. Therefore,"},{"line_number":78,"context_line":"``ComputeCapabilitiesFilter`` can be used to compare the number of bits in"},{"line_number":79,"context_line":"scheduling.  For example, this can be accomplished by adding"},{"line_number":80,"context_line":"``capabilities:cpu_info:maxphysaddr:bits\u003e\u003d42`` automatically."},{"line_number":81,"context_line":"Cold migration and live migration can also be realized with this filter"},{"line_number":82,"context_line":"and ``COMPUTE_ADDRESS_SPACE_EMULATED`` trait."},{"line_number":83,"context_line":"So the overall flavor extra_specs look like the following::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"af73ada8_40613c40","line":80,"updated":"2023-11-08 10:26:27.000000000","message":"the compute capabities filter is valid for this specific case\nalthough the json filter can also be used.","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7617330a20bfac6567f6c17ff3081b25d187cdd6","unresolved":true,"context_lines":[{"line_number":77,"context_line":"hypervisor can be obtained by using libvirt capabilities [4]_. Therefore,"},{"line_number":78,"context_line":"``ComputeCapabilitiesFilter`` can be used to compare the number of bits in"},{"line_number":79,"context_line":"scheduling.  For example, this can be accomplished by adding"},{"line_number":80,"context_line":"``capabilities:cpu_info:maxphysaddr:bits\u003e\u003d42`` automatically."},{"line_number":81,"context_line":"Cold migration and live migration can also be realized with this filter"},{"line_number":82,"context_line":"and ``COMPUTE_ADDRESS_SPACE_EMULATED`` trait."},{"line_number":83,"context_line":"So the overall flavor extra_specs look like the following::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba7c066c_22e7dbeb","line":80,"in_reply_to":"af73ada8_40613c40","updated":"2023-11-09 10:06:00.000000000","message":"I had not considered this. I will add it to the Alternatives section of this spec.\nI am aware that JsonFilter is a filter for the child elements of HostState that allows numerical comparisons.\nSince HostState contains cpu_info, it should be able to do the same thing as the ComputeCapabilitiesFilter.\n \nHowever, as stated in the warning [1], I think JsonFilter is vulnerable to changes in HostState and its children attributes.\nSo I would use ComputeCapabilitiesFilter and ImagePropertiesFilter.\n\n[1] https://docs.openstack.org/nova/latest/admin/scheduling.html#jsonfilter","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7e244f7a46d932e5ca4d586da6edfab4e3d5df97","unresolved":false,"context_lines":[{"line_number":77,"context_line":"hypervisor can be obtained by using libvirt capabilities [4]_. Therefore,"},{"line_number":78,"context_line":"``ComputeCapabilitiesFilter`` can be used to compare the number of bits in"},{"line_number":79,"context_line":"scheduling.  For example, this can be accomplished by adding"},{"line_number":80,"context_line":"``capabilities:cpu_info:maxphysaddr:bits\u003e\u003d42`` automatically."},{"line_number":81,"context_line":"Cold migration and live migration can also be realized with this filter"},{"line_number":82,"context_line":"and ``COMPUTE_ADDRESS_SPACE_EMULATED`` trait."},{"line_number":83,"context_line":"So the overall flavor extra_specs look like the following::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f471df38_fb813a76","line":80,"in_reply_to":"ba7c066c_22e7dbeb","updated":"2023-11-10 02:33:05.000000000","message":"Done","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5963e27bed121dadab425d0fe2f301eb67f4df0f","unresolved":true,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note:: Since ComputeCapabilitiesFilter only supports flavor extra_specs"},{"line_number":90,"context_line":"          and not image properties [5]_, this proposal is out of scope for"},{"line_number":91,"context_line":"          image properties."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Alternatives"},{"line_number":94,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ee38332f_170c96bc","line":91,"updated":"2023-11-08 10:26:27.000000000","message":"in general this is not something we woudl normlly want to support in the falvor\n\nthe adress speace requirement is a property of the workoad which is ment to eb encoded in the image. \n\nim ok with supporting it in both but i belive doing this in the flavor only is incorrect. \n\norgianblly flavor were for capstiy and images were for hardware emulation\n\ni.e. the emulated nic model is set in the image only \nthe adress space requriement is an emulation/hardware requireemnt and typiclaly would be done via an image property as a reustl\n\nover the laft few years  we have relaxed that a bit and allowed emulation/hardware requests to also be in the flavor but not solely via the flavor.\n\nso i woudl like to see this supproted in the image too.\n\nim not sure why i didnt push back on this last cycle to be honest.\n\nfor the basic requried trait for passthrough or emulate support i thinink that should be done via placment automtacially via the ResourceRequest.from_request_spec as i noted above.\n\nfor `bits\u003e\u003d42` capabilities:cpu_info:maxphysaddr:bits\u003e\u003d42` is a approch that is valid we should also extend the image properiets filter to supprot this.\n\ntoday wee already supprot a gretherdan or equal too comparison for the \nimg_hv_requested_version image property\n\nhttps://github.com/openstack/nova/blob/b64ecb0cc776bd3eced674b0f879bb23c8a4b486/nova/scheduler/filters/image_props_filter.py#L83-L95\n\n\nso we can supprot the same \u003e\u003d behavior for bits without the complexity of the capablities filter.\n\n\nthe image proerties filter will also be a better user/admin ux as it will not require requesting the same thing twice.\n\nseting hw_maxphysaddr_bits\u003d42 in the image will be all that is required to enable the feature and schdule based on it.","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7617330a20bfac6567f6c17ff3081b25d187cdd6","unresolved":true,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note:: Since ComputeCapabilitiesFilter only supports flavor extra_specs"},{"line_number":90,"context_line":"          and not image properties [5]_, this proposal is out of scope for"},{"line_number":91,"context_line":"          image properties."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Alternatives"},{"line_number":94,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"274a85a0_784069e4","line":91,"in_reply_to":"1969b447_46cdb0bb","updated":"2023-11-09 10:06:00.000000000","message":"Thank you for your detailed explanation!\n\nI understand the need to support this feature in image properties.\nSo I will rewrite the spec to support both image properties and flavor extra_specs.\n \n* Use ResourceRequest.from_request_spec if the user specifies \"maxphysaddr_mode\" in either flavor or image\n* If \"maxphysaddr_bits\" is specified for image, use ImagePropertiesFilter with numerical comparison like img_hv_requested_version image property\n* If \"maxphysaddr_bits\" is specified for flavor, use ComputeCapabilitiesFilter with numerical comparison","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7e244f7a46d932e5ca4d586da6edfab4e3d5df97","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note:: Since ComputeCapabilitiesFilter only supports flavor extra_specs"},{"line_number":90,"context_line":"          and not image properties [5]_, this proposal is out of scope for"},{"line_number":91,"context_line":"          image properties."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Alternatives"},{"line_number":94,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e26277b8_e76593a9","line":91,"in_reply_to":"274a85a0_784069e4","updated":"2023-11-10 02:33:05.000000000","message":"Done","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"440461c610776afa77ed07e4c53125e36fc996cd","unresolved":true,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note:: Since ComputeCapabilitiesFilter only supports flavor extra_specs"},{"line_number":90,"context_line":"          and not image properties [5]_, this proposal is out of scope for"},{"line_number":91,"context_line":"          image properties."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Alternatives"},{"line_number":94,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1969b447_46cdb0bb","line":91,"in_reply_to":"ee38332f_170c96bc","updated":"2023-11-08 14:26:47.000000000","message":"Sean has a great alternative, looks good to me.","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2077b1a7d3800acd9dc6a05f8be850ff768317f9","unresolved":true,"context_lines":[{"line_number":184,"context_line":"----------"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This spec is addressed across multiple dev cycles."},{"line_number":187,"context_line":"The merged and missing items are shown below, respectively."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Merged Items"},{"line_number":190,"context_line":"^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c4a7e701_1f390af4","line":187,"updated":"2023-11-07 13:32:32.000000000","message":"thanks for updating the spec","commit_id":"4bac406db031d014399a76138641c5b21920e751"},{"author":{"_account_id":31652,"name":"Nobuhiro MIKI","email":"nmiki@lycorp.co.jp","username":"nmiki"},"change_message_id":"7e244f7a46d932e5ca4d586da6edfab4e3d5df97","unresolved":false,"context_lines":[{"line_number":184,"context_line":"----------"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"This spec is addressed across multiple dev cycles."},{"line_number":187,"context_line":"The merged and missing items are shown below, respectively."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Merged Items"},{"line_number":190,"context_line":"^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a357227b_8eac0961","line":187,"in_reply_to":"c4a7e701_1f390af4","updated":"2023-11-10 02:33:05.000000000","message":"Ack","commit_id":"4bac406db031d014399a76138641c5b21920e751"}]}
