)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5217e2a202aec9ec0c6cd061bff751ee54b20836","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"782901e7_7d06b677","updated":"2021-12-14 10:18:16.000000000","message":"-1 mostly due to the upgrade impact is not described","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3d98c808_71c72beb","updated":"2021-11-30 10:45:47.000000000","message":"While I think it\u0027s going on a good direction, I still have some concerns, at least abour rolling-upgrades.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"72c4892afaff8f233a1f2ef461e2b86d56cce5ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5760bac9_adfbca32","updated":"2022-01-14 09:12:01.000000000","message":"Procedural -2: We hit spec freeze [1]. If you are still working on this the please re-propose it to Z release once we have the directory created (we miss the Z release naming).\nDetails of the process of accepting feature requests can be found on [2].\nIf any questions left about the process, feel free to ping bauzas on #openstack-nova or please attend any Nova meeting [3].\n\nThanks.\n\n[1] http://lists.openstack.org/pipermail/openstack-discuss/2022-January/026530.html\n[2] https://docs.openstack.org/nova/latest/contributor/process.html#spec-and-blueprint-approval-freeze\n[3] https://wiki.openstack.org/wiki/Meetings/Nova\n\n","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b53e6df0_1e91d4c4","updated":"2021-12-17 10:22:37.000000000","message":"Thanks gibi and bauzas, addressed your comments.","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9788673140810f6aa05615ccb419d9a63ce130c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2a9db6d1_21a5bdfc","updated":"2022-01-11 12:49:20.000000000","message":"The upgrade section still needs some work.","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"26b0db4aeb92d1c716116db7e480d9a900e42578","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"49a70299_dd0acc35","updated":"2022-04-21 08:39:25.000000000","message":"Looks good, I only suggested a language cleanup for the upgrade section.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"939124e88e98f65b68813f96c261505c31f86860","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8a6dc351_56b0c163","updated":"2022-04-13 10:42:06.000000000","message":"Thanks gibi and bauzas for review.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"70075063_b34af52b","updated":"2022-04-21 12:26:31.000000000","message":"i\u0027m happy with the general design direction of this but the wording need work\n\ni have provided alternative wording inline if you update them i am +2","commit_id":"37d98e9d84af32014cf3f16f91209c18823763cc"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"2f98ba3355fa743dd549e755b7e973afb3c5220b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"43b17c08_46fa12ef","updated":"2022-04-21 12:27:10.000000000","message":"thanks gibi for review.","commit_id":"37d98e9d84af32014cf3f16f91209c18823763cc"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c8db0b3d_222ef3fe","updated":"2022-04-22 07:06:47.000000000","message":"thanks sean for rigorous review.","commit_id":"24ef4aabd9296a1a951b1b67704ff69d01711893"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1356547261901e5161123d26e697def1de069e1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7e3e6845_05e6f5eb","updated":"2022-04-22 13:03:26.000000000","message":"the upgrade wording coudl probably be improved but i think over all this is in good shape.\nso if other are ok with this i think we can proceed and address any nits with upgrade wordign in the release notes and docs.","commit_id":"24ef4aabd9296a1a951b1b67704ff69d01711893"}],"specs/yoga/approved/owner-nova-trait-usage.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and cyborg components to"},{"line_number":27,"context_line":"manage VGPU resources and distinguish these VGPU resources from nova and"},{"line_number":28,"context_line":"cyborg by using OWNER_NOVA and OWNER_CYBORG traits."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7fb1b0ef_4cb2cba1","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":11},"updated":"2021-11-30 10:45:47.000000000","message":"nit: or other resources in general that use the same resource classes between multiple services than just nova.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and cyborg components to"},{"line_number":27,"context_line":"manage VGPU resources and distinguish these VGPU resources from nova and"},{"line_number":28,"context_line":"cyborg by using OWNER_NOVA and OWNER_CYBORG traits."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ec44ace2_3016d028","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":11},"in_reply_to":"7fb1b0ef_4cb2cba1","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5217e2a202aec9ec0c6cd061bff751ee54b20836","unresolved":true,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":34,"context_line":"every Nova request group."},{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c09c5382_2acf20c7","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":25},"updated":"2021-12-14 10:18:16.000000000","message":"This needs to be clarified. I think you mean the pre-filter adds this to every Nova request group that is generated from the flavor. Do we support groups coming from image metadata today?","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":true,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":34,"context_line":"every Nova request group."},{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f91be4f1_b722cd85","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":25},"in_reply_to":"c09c5382_2acf20c7","updated":"2021-12-17 10:22:37.000000000","message":"IMO, we only need pre-filter from the flavor, the image metadata can be filtered by image_props_filter.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5217e2a202aec9ec0c6cd061bff751ee54b20836","unresolved":true,"context_lines":[{"line_number":34,"context_line":"every Nova request group."},{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"},{"line_number":38,"context_line":"cyborg provided VGPUs to keep the nova VGPU support to work."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b294e295_ba0dd95e","line":37,"range":{"start_line":37,"start_character":45,"end_line":37,"end_character":52},"updated":"2021-12-14 10:18:16.000000000","message":"No need to forbid. Nova need to request its own OWNER_NOVA trait but not need to forbid OWNER_CYBORG traits. The cyborg request will require the OWNER_CYBORG trait.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"every Nova request group."},{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"},{"line_number":38,"context_line":"cyborg provided VGPUs to keep the nova VGPU support to work."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"750aec73_bc70bf2b","line":37,"range":{"start_line":37,"start_character":45,"end_line":37,"end_character":52},"in_reply_to":"b294e295_ba0dd95e","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"},{"line_number":38,"context_line":"cyborg provided VGPUs to keep the nova VGPU support to work."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"38fc0991_0327b8fc","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":15},"updated":"2021-11-30 10:45:47.000000000","message":"micronit: VGPU usage from Cyborg","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":36,"context_line":"implying that inventories are provided by this service only."},{"line_number":37,"context_line":"Nova needs to add a pre-filter that actively forbids"},{"line_number":38,"context_line":"cyborg provided VGPUs to keep the nova VGPU support to work."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e185b261_9cdcdefb","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":15},"in_reply_to":"38fc0991_0327b8fc","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":75,"context_line":"Other deployer impact"},{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"None"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Developer impact"},{"line_number":81,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2b5ec9ea_55ff588c","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":4},"updated":"2021-11-30 10:45:47.000000000","message":"well, that means that operators will see new traits for all the Resource Providers.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Other deployer impact"},{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"None"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Developer impact"},{"line_number":81,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8be184bf_031268f3","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":4},"in_reply_to":"2b5ec9ea_55ff588c","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"55c45c3f_78e4071f","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"updated":"2021-11-30 10:45:47.000000000","message":"are you sure ? If you only upgrade all the nova services but one nova-compute service, that would mean that this old service won\u0027t provide the NOVA_OWNER trait.\n\nHere, you need to explain whether you would only ask for the NOVA_OWNER trait if all the nova-compute services are upgraded to Yoga, or you would be OK to not return some computes even if they have VGPU resources, but then that would be a performance issue and I\u0027m pretty sure operators wouldn\u0027t want it.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5217e2a202aec9ec0c6cd061bff751ee54b20836","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2912685b_b6d879bc","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"07584e79_b38011df","updated":"2021-12-14 10:18:16.000000000","message":"It think it is more complicated than that. The features that works today should still work during a rolling upgrade. So if the deployment is configured with nova VGPU feature today, and it is rolling upgraded to Yoga(with this spec implemented) then the pre-filter will apply the required OWNER_NOVA trait for nova VGPU flavors. However the computes that are still in Xena will not report OWNER_NOVA trait. So this will severly limit the nova VGPU feature during the rolling upgrade. \n\nI suggest to make the pre-filter optional with a config flag, but create the config flag already in a deprecated state. So that we can remove it in Z.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9c7ca6ee_c94c4897","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"14c71d1d_d4e4e05d","updated":"2021-12-17 10:22:37.000000000","message":"i am not sure whether we need the config flag, can we only check the nova-compute service version?","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"da43410bf181a15b4608a1972bbae9eb4981a3b5","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"14c71d1d_d4e4e05d","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"2912685b_b6d879bc","updated":"2021-12-14 14:42:26.000000000","message":"Agreed with this proposal, fwiw.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"939124e88e98f65b68813f96c261505c31f86860","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8ad84fa2_ec24c997","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"4204bed4_3f24c028","updated":"2022-04-13 10:42:06.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd8b585a73cb2a33812918619ad0ae7bbdd39100","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"07584e79_b38011df","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"55c45c3f_78e4071f","updated":"2021-12-01 01:15:34.000000000","message":"Yeah, good point. We should reject the user\u0027s request if he hasn\u0027s upgrade the nova-compute service and request OWNER_NOVA trait.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9788673140810f6aa05615ccb419d9a63ce130c0","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Upgrade impact"},{"line_number":86,"context_line":"--------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Implementation"},{"line_number":91,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4204bed4_3f24c028","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":4},"in_reply_to":"9c7ca6ee_c94c4897","updated":"2022-01-11 12:49:20.000000000","message":"you want to only enable the new pre-filter if all the computes providing VGPU resources are also upgraded to report the OWNER_* traits as well. With the minimum service version check you can ensure that the OWNER_NOVA is applied to the compute RPs in the cluster. So yes, you can rely on the min service version check to enable / disable the pre-filter","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Add OWNER_TRAIT for os_traits projects."},{"line_number":112,"context_line":"* Tag every ResourceProvider that nova creates with a OWNER_NOVA trait."},{"line_number":113,"context_line":"* Add pre-filter the trait for every Nova request group."},{"line_number":114,"context_line":"* Add related tests."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7b18f661_c3c2bff3","line":113,"updated":"2021-11-30 10:45:47.000000000","message":"what would be the default for this prefilter ?","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd8b585a73cb2a33812918619ad0ae7bbdd39100","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Add OWNER_TRAIT for os_traits projects."},{"line_number":112,"context_line":"* Tag every ResourceProvider that nova creates with a OWNER_NOVA trait."},{"line_number":113,"context_line":"* Add pre-filter the trait for every Nova request group."},{"line_number":114,"context_line":"* Add related tests."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e01b8c69_0b2675f3","line":113,"in_reply_to":"7b18f661_c3c2bff3","updated":"2021-12-01 01:15:34.000000000","message":"IMO, it depends on the configuration file. Of course, if Cyborg is not deployed, the default value is of course OWNER_NOVA.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Add OWNER_TRAIT for os_traits projects."},{"line_number":112,"context_line":"* Tag every ResourceProvider that nova creates with a OWNER_NOVA trait."},{"line_number":113,"context_line":"* Add pre-filter the trait for every Nova request group."},{"line_number":114,"context_line":"* Add related tests."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2eb3f120_197df506","line":113,"in_reply_to":"e01b8c69_0b2675f3","updated":"2021-12-17 10:22:37.000000000","message":"yes, the pre-filter for nova request group is OWNER_TRAIT.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5217e2a202aec9ec0c6cd061bff751ee54b20836","unresolved":true,"context_lines":[{"line_number":121,"context_line":"Testing"},{"line_number":122,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a18809f0_96138dda","line":124,"updated":"2021-12-14 10:18:16.000000000","message":"At least unit and functional tests are expected","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"da43410bf181a15b4608a1972bbae9eb4981a3b5","unresolved":true,"context_lines":[{"line_number":121,"context_line":"Testing"},{"line_number":122,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fc3ae8d0_c4adc8bf","line":124,"in_reply_to":"a18809f0_96138dda","updated":"2021-12-14 14:42:26.000000000","message":"Yup.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Testing"},{"line_number":122,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"71c764a7_736cfb50","line":124,"in_reply_to":"fc3ae8d0_c4adc8bf","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2773427e2f048fb2b8f09b0ffb61fa8accdb8586","unresolved":true,"context_lines":[{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"References"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2df203ad_ba87ace5","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"updated":"2021-11-30 10:45:47.000000000","message":"really ?","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"c8c7291f74772d4629be5cdb8120dd5254c665a3","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"References"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"06b1d677_05631251","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"in_reply_to":"20031fcd_c18a1c3b","updated":"2021-12-17 10:22:37.000000000","message":"Done","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd8b585a73cb2a33812918619ad0ae7bbdd39100","unresolved":true,"context_lines":[{"line_number":126,"context_line":"Documentation Impact"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"References"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"20031fcd_c18a1c3b","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"in_reply_to":"2df203ad_ba87ace5","updated":"2021-12-01 01:15:34.000000000","message":"No, we should modify the related docs with tarits and/or nova filter explain.","commit_id":"018cc63f8d35a9a78f69be4c0f8ffaa3fef23566"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9788673140810f6aa05615ccb419d9a63ce130c0","unresolved":true,"context_lines":[{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"The computes will not report ``OWNER_NOVA`` trait and the request with"},{"line_number":94,"context_line":"``OWNER_NOVA`` trait will be rejected if nova-compute service has not"},{"line_number":95,"context_line":"been upgrade."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Implementation"},{"line_number":98,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8fb5d134_c46729b2","line":95,"range":{"start_line":93,"start_character":0,"end_line":95,"end_character":13},"updated":"2022-01-11 12:49:20.000000000","message":"This is not correct, computes that are upgraded will report the trait. Computes that are not yet upgraded will not. So you need to make the prefilter optional. Either with a config option or with a minimum service version check. See PS1 comment for more details","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"939124e88e98f65b68813f96c261505c31f86860","unresolved":false,"context_lines":[{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"The computes will not report ``OWNER_NOVA`` trait and the request with"},{"line_number":94,"context_line":"``OWNER_NOVA`` trait will be rejected if nova-compute service has not"},{"line_number":95,"context_line":"been upgrade."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Implementation"},{"line_number":98,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4e85493f_e213bdbd","line":95,"range":{"start_line":93,"start_character":0,"end_line":95,"end_character":13},"in_reply_to":"124b749c_bc7c255f","updated":"2022-04-13 10:42:06.000000000","message":"Done","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"58517d9470d6a99aa90c768aec35492aa120d2d3","unresolved":true,"context_lines":[{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"The computes will not report ``OWNER_NOVA`` trait and the request with"},{"line_number":94,"context_line":"``OWNER_NOVA`` trait will be rejected if nova-compute service has not"},{"line_number":95,"context_line":"been upgrade."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Implementation"},{"line_number":98,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"124b749c_bc7c255f","line":95,"range":{"start_line":93,"start_character":0,"end_line":95,"end_character":13},"in_reply_to":"8fb5d134_c46729b2","updated":"2022-01-12 11:20:06.000000000","message":"Yup, what gibi said.","commit_id":"a48985208b6bda1473dbab2d9331fda6a176e7f2"}],"specs/zed/approved/owner-nova-trait-usage.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As nova and cyborg projects all report VGPU resource, we should be able to"},{"line_number":17,"context_line":"solve the shared VGPU resource class problem by each feature that nova and"},{"line_number":18,"context_line":"cyborg based, and only care about its own things. I.e. Nova should apply a"},{"line_number":19,"context_line":"pre-filter to filter for nova VGPU resource providers when the nova feature"},{"line_number":20,"context_line":"is in use. And cyborg should require a trait along with the VGPU rc in the"},{"line_number":21,"context_line":"device profile, when the cyborg based VGPU feature is in use."}],"source_content_type":"text/x-rst","patch_set":5,"id":"74322019_7af955ac","line":18,"range":{"start_line":16,"start_character":0,"end_line":18,"end_character":48},"updated":"2022-04-21 12:26:31.000000000","message":"this does not actually describe the problem.\nI would reword this as follows:\n\nToday in placement each resource class is typically only used by a single service.\nWith the introduction of VGPU support in cyborg both nova and cyborg now share ownership\nor usage of the VGPU resource class. This creates a usage problem where different\nworkflows are required to correctly consume the VGPU resource class based on which service created the inventory.\n\nAs both the nova and cyborg projects can report VGPU resources, we should be able to\nsolve the shared VGPU resource class problem by each service recording that they created or \"own\" the resource provider, however, that is not done today.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As nova and cyborg projects all report VGPU resource, we should be able to"},{"line_number":17,"context_line":"solve the shared VGPU resource class problem by each feature that nova and"},{"line_number":18,"context_line":"cyborg based, and only care about its own things. I.e. Nova should apply a"},{"line_number":19,"context_line":"pre-filter to filter for nova VGPU resource providers when the nova feature"},{"line_number":20,"context_line":"is in use. And cyborg should require a trait along with the VGPU rc in the"},{"line_number":21,"context_line":"device profile, when the cyborg based VGPU feature is in use."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1e4ba3ec_b09fc9c7","line":18,"range":{"start_line":16,"start_character":0,"end_line":18,"end_character":48},"in_reply_to":"74322019_7af955ac","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As nova and cyborg projects all report VGPU resource, we should be able to"},{"line_number":17,"context_line":"solve the shared VGPU resource class problem by each feature that nova and"},{"line_number":18,"context_line":"cyborg based, and only care about its own things. I.e. Nova should apply a"},{"line_number":19,"context_line":"pre-filter to filter for nova VGPU resource providers when the nova feature"},{"line_number":20,"context_line":"is in use. And cyborg should require a trait along with the VGPU rc in the"},{"line_number":21,"context_line":"device profile, when the cyborg based VGPU feature is in use."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8d07c280_5cbfd8f9","line":21,"range":{"start_line":18,"start_character":49,"end_line":21,"end_character":61},"updated":"2022-04-21 12:26:31.000000000","message":"this is not part of the problem desciption its describing waht we coudl do if we implemented this so it shoudl not be in this section so this should just be remvoed.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As nova and cyborg projects all report VGPU resource, we should be able to"},{"line_number":17,"context_line":"solve the shared VGPU resource class problem by each feature that nova and"},{"line_number":18,"context_line":"cyborg based, and only care about its own things. I.e. Nova should apply a"},{"line_number":19,"context_line":"pre-filter to filter for nova VGPU resource providers when the nova feature"},{"line_number":20,"context_line":"is in use. And cyborg should require a trait along with the VGPU rc in the"},{"line_number":21,"context_line":"device profile, when the cyborg based VGPU feature is in use."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"938272fa_bf6e0d13","line":21,"range":{"start_line":18,"start_character":49,"end_line":21,"end_character":61},"in_reply_to":"8d07c280_5cbfd8f9","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and other components to"},{"line_number":27,"context_line":"manage resources such as VGPU that use the same resource classes between"},{"line_number":28,"context_line":"multiple services and distinguish these resources from nova and other"},{"line_number":29,"context_line":"components by using different traits. Nova can use OWNER_NOVA trait while"},{"line_number":30,"context_line":"other components can use their own traits, for examples cyborg will use"},{"line_number":31,"context_line":"OWNER_CYBORG trait instead."}],"source_content_type":"text/x-rst","patch_set":5,"id":"e129cf36_b3855f3f","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":17},"updated":"2022-04-21 12:26:31.000000000","message":"so this is a use case but the rest of this section is not\n\nI would personally replace it with these 3 use cases instead.\n\nAs an operator, I would like to be able to deploy multiple services that can share the same resource class name without creating scheduling conflicts.\n\nAs an operator, I want to have a way to transition management of resources between OpenStack service using simple operations such as resizing an instance from a flavor that consumes VGPUs provided by nova to a flavor that uses VGPUs provided by cyborg.\n\nAs an end-user, I would like to be able to consume resources from nova and cyborg in a single instance without having to understand the detail of placement or scheduling.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and other components to"},{"line_number":27,"context_line":"manage resources such as VGPU that use the same resource classes between"},{"line_number":28,"context_line":"multiple services and distinguish these resources from nova and other"},{"line_number":29,"context_line":"components by using different traits. Nova can use OWNER_NOVA trait while"},{"line_number":30,"context_line":"other components can use their own traits, for examples cyborg will use"},{"line_number":31,"context_line":"OWNER_CYBORG trait instead."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1650a3be_513dcb35","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":17},"in_reply_to":"e129cf36_b3855f3f","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and other components to"},{"line_number":27,"context_line":"manage resources such as VGPU that use the same resource classes between"},{"line_number":28,"context_line":"multiple services and distinguish these resources from nova and other"},{"line_number":29,"context_line":"components by using different traits. Nova can use OWNER_NOVA trait while"},{"line_number":30,"context_line":"other components can use their own traits, for examples cyborg will use"},{"line_number":31,"context_line":"OWNER_CYBORG trait instead."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"03f19385_4774779c","line":31,"range":{"start_line":28,"start_character":17,"end_line":31,"end_character":27},"updated":"2022-04-21 12:26:31.000000000","message":"again this is implemation detail not part of the usecase so this should be deleted.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"As an openstack user, I would like to use both nova and other components to"},{"line_number":27,"context_line":"manage resources such as VGPU that use the same resource classes between"},{"line_number":28,"context_line":"multiple services and distinguish these resources from nova and other"},{"line_number":29,"context_line":"components by using different traits. Nova can use OWNER_NOVA trait while"},{"line_number":30,"context_line":"other components can use their own traits, for examples cyborg will use"},{"line_number":31,"context_line":"OWNER_CYBORG trait instead."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"83a8f671_db312382","line":31,"range":{"start_line":28,"start_character":17,"end_line":31,"end_character":27},"in_reply_to":"03f19385_4774779c","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":37,"context_line":"every Nova request group that is generated from the flavor."},{"line_number":38,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":39,"context_line":"implying that inventories are provided by this service only."}],"source_content_type":"text/x-rst","patch_set":5,"id":"096d7850_d726ded5","line":36,"range":{"start_line":36,"start_character":53,"end_line":36,"end_character":63},"updated":"2022-04-21 12:26:31.000000000","message":"pre-filter.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":37,"context_line":"every Nova request group that is generated from the flavor."},{"line_number":38,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":39,"context_line":"implying that inventories are provided by this service only."}],"source_content_type":"text/x-rst","patch_set":5,"id":"49eeda5d_c89245cb","line":36,"range":{"start_line":36,"start_character":53,"end_line":36,"end_character":63},"in_reply_to":"096d7850_d726ded5","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":37,"context_line":"every Nova request group that is generated from the flavor."},{"line_number":38,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":39,"context_line":"implying that inventories are provided by this service only."},{"line_number":40,"context_line":"Nova needs to add a pre-filter that actively requests its own OWNER_NOVA trait"},{"line_number":41,"context_line":"while cyborg request will require the OWNER_CYBORG trait to filter their own"},{"line_number":42,"context_line":"managed resources."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Alternatives"},{"line_number":45,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"2dabb054_8c44049a","line":42,"range":{"start_line":36,"start_character":63,"end_line":42,"end_character":18},"updated":"2022-04-21 12:26:31.000000000","message":"Nova will tag every ResourceProvider it creates with a OWNER_NOVA trait,\nimplying that inventories are provided by this service only.\n\nNova will provide a pre-filter that actively requests its own OWNER_NOVA trait\nwhile cyborg will require the OWNER_CYBORG trait via its device profile to filter their own managed resources.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"4bf0ce80613c2cff0414e4060b8349b8afc59414","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"This spec proposes adding a new OWNER_NOVA trait and pre-filter the trait for"},{"line_number":37,"context_line":"every Nova request group that is generated from the flavor."},{"line_number":38,"context_line":"Nova would tag every ResourceProvider it creates with a OWNER_NOVA trait,"},{"line_number":39,"context_line":"implying that inventories are provided by this service only."},{"line_number":40,"context_line":"Nova needs to add a pre-filter that actively requests its own OWNER_NOVA trait"},{"line_number":41,"context_line":"while cyborg request will require the OWNER_CYBORG trait to filter their own"},{"line_number":42,"context_line":"managed resources."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Alternatives"},{"line_number":45,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"08d21a2b_4f807d12","line":42,"range":{"start_line":36,"start_character":63,"end_line":42,"end_character":18},"in_reply_to":"2dabb054_8c44049a","updated":"2022-04-22 07:06:47.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"26b0db4aeb92d1c716116db7e480d9a900e42578","unresolved":true,"context_lines":[{"line_number":89,"context_line":"Upgrade impact"},{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"A new nova-compute service version will be bumped and used to check enable and"},{"line_number":94,"context_line":"disable the pre-filter with ``OWNER_NOVA`` traits. Computes that are upgraded"},{"line_number":95,"context_line":"to the version will report the ``OWNER_NOVA`` trait, computes that are not yet"},{"line_number":96,"context_line":"upgraded will not. The request with ``OWNER_NOVA`` trait will be rejected if"},{"line_number":97,"context_line":"nova-compute service hasn\u0027t been upgraded."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Implementation"},{"line_number":100,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b4ec6515_259aaec4","line":97,"range":{"start_line":92,"start_character":1,"end_line":97,"end_character":42},"updated":"2022-04-21 08:39:25.000000000","message":"Content looks good. I just suggest a cleanup of the language:\n\nWe need to make sure that the nova VGPU feature still works during a rolling upgrade to the nova version introducing the OWNER_NOVA trait.\n\nSo to ensure that the nova compute service version will be bumped to signal when a compute service is upgraded and therefore reports the OWNER_NOVA trait on its RPs. The pre-filter filtering on OWNER_NOVA will only be enabled if the minimum compute service version indicates that every compute service is now upgraded and therefore reporting the OWNER_NOVA trait.\n\nThis way during a rolling upgrade with old compute still present the pre-filter will not be enabled and the nova VGPU feature will work as today. But as soon as all the computes are upgraded the pre-filter will automatically start enforcing the OWNER_NOVA trait for all the nova VGPU feature requests.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"374202317c34be14762e00b0b2c80ccbecc441b3","unresolved":true,"context_lines":[{"line_number":89,"context_line":"Upgrade impact"},{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"A new nova-compute service version will be bumped and used to check enable and"},{"line_number":94,"context_line":"disable the pre-filter with ``OWNER_NOVA`` traits. Computes that are upgraded"},{"line_number":95,"context_line":"to the version will report the ``OWNER_NOVA`` trait, computes that are not yet"},{"line_number":96,"context_line":"upgraded will not. The request with ``OWNER_NOVA`` trait will be rejected if"},{"line_number":97,"context_line":"nova-compute service hasn\u0027t been upgraded."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Implementation"},{"line_number":100,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"053e6d43_b3afe1a0","line":97,"range":{"start_line":92,"start_character":1,"end_line":97,"end_character":42},"in_reply_to":"b4ec6515_259aaec4","updated":"2022-04-21 12:26:31.000000000","message":"+1\n\nthe alternative here is to have a fallback query without the owner trait for upgrades but I prefer the automatic approach of the min compute service version check so yes please update this.\n\nI would suggest the following:\n\nTo enable rolling upgrade a new compute service version will be introduced to indicate support for reporting owner traits. During an upgrade, the placement service must be upgraded before nova to ensure the new standard trait ``OWNER_NOVA`` is available. Then the nova controller services can be upgraded as normal. while the rolling upgrade is in progress a min compute service version check in the prefilter will prevent it from modifying the resource request until all compute services are upgraded. Once all compute services are upgraded the prefilter will be enabled for all new requests allowing resource classes to be shared between services.","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"2f98ba3355fa743dd549e755b7e973afb3c5220b","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Upgrade impact"},{"line_number":90,"context_line":"--------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The features that VGPU usage today still work during a rolling upgrade."},{"line_number":93,"context_line":"A new nova-compute service version will be bumped and used to check enable and"},{"line_number":94,"context_line":"disable the pre-filter with ``OWNER_NOVA`` traits. Computes that are upgraded"},{"line_number":95,"context_line":"to the version will report the ``OWNER_NOVA`` trait, computes that are not yet"},{"line_number":96,"context_line":"upgraded will not. The request with ``OWNER_NOVA`` trait will be rejected if"},{"line_number":97,"context_line":"nova-compute service hasn\u0027t been upgraded."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Implementation"},{"line_number":100,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"68cce6a8_84ca2fab","line":97,"range":{"start_line":92,"start_character":1,"end_line":97,"end_character":42},"in_reply_to":"b4ec6515_259aaec4","updated":"2022-04-21 12:27:10.000000000","message":"Done","commit_id":"5aec8e4c235ab90d6ac4902c8d9c63e522fb8e19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2c3db5712b0e529b5b0474401c74122e34f3b819","unresolved":true,"context_lines":[{"line_number":133,"context_line":"* Add OWNER_NOVA for os_traits project."},{"line_number":134,"context_line":"* Tag every ResourceProvider that nova creates with a OWNER_NOVA trait."},{"line_number":135,"context_line":"* Add pre-filter the trait for every Nova request group."},{"line_number":136,"context_line":"* Add related unit and functional tests."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Dependencies"},{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"530b5fe5_42f9e542","line":136,"updated":"2022-04-22 13:55:42.000000000","message":"that\u0027s what we agreed on the PTG.","commit_id":"24ef4aabd9296a1a951b1b67704ff69d01711893"}]}
