)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c57a56006c99c29746827392e7398a9ef874e11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"043aded4_b535bb4d","updated":"2024-02-09 20:28:21.000000000","message":"I think this makes a lot of sense to do, just from a standpoint of do the needful, not over-do it. This is also important because we\u0027re looking at ways to reduce our overall job count and load, to streamline/minimize excess deployments. As previously stated in less specific terms, we would have done a deployment which would not really have been needful as the underlying changes, if I\u0027m recalling them correctly, were just for filtering of what to load into nova-compute to sync into placement.\n\nThanks Jay for focusing on the needful!","commit_id":"2f9c534574be16918366c500838da8d015cf5ffb"}],"specs/2024.1/approved/ironic-shards.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc5a6eaa126b6594739167ea1bf78e33a2f91017","unresolved":true,"context_lines":[{"line_number":421,"context_line":"  * Test now polls placement, ensuring none of nodes with invalid or None"},{"line_number":422,"context_line":"    shard keys appear in placement."},{"line_number":423,"context_line":"  * Test will repeat polling looking for invalid nodes for a configurable time,"},{"line_number":424,"context_line":"    if none are found when that time has fully elapsed, the test has passed."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"Documentation Impact"},{"line_number":427,"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":3,"id":"0ffc1ec7_b0166f3d","line":424,"updated":"2024-02-25 12:42:56.000000000","message":"while this all sound fine im generally not a fan of time depent tests like this.\nit should work temepest tests should generally avoid depending on external state.\n\nin this case i would genereally just assert that all compute nodes must be online and registered in placment before tempest is run which remove the need for pooling entirely as the state should not be changign during the test execution. \n\nwhat I was expecting was, a multinode job to be created where there are 3 grops of fake ironic node (shard\u003da, shard\u003db, and no shard set or shard\u003dc), one compute node configred to use shard A and the other compute node is configured to use shard B.\n\ni would write the test get all hypervisors form the nova api, grab all RPs form placement, and grab all ironic nodes.\n\nfor each RP that is a also a compute node (intersection of hpervirors list and RPs on hypervisor_hostname \u003d\u003d RP.name)\nand that is also a ironic node (intersection on rp.name \u003d\u003d node.uuid)\nassert node.shard in (a,b)\n\nthis show that we can have multiple compute services and each service only reports the corresponding shard\n\nwe could get a little more complext like ensuring nodes shard a an b share a conductor group but we could have them be seperate cells in nova or something like that but that is kind of beyond ht scope here. it would show we can scale nova and ironic independtly but we dont expect there to be any depency there anyway hence overkill for now.\n\nthe design requires more then one nova-compute service to have more then one ironic shard so from a nova perspective that si the most important thing to test.\n\n\ntesting that filtering the ironic nodes by shard is in scope of a tempest.ironic.api test but that does not need compute nodes to validate.\n\nthe consumetion of ironic nodes form nova should not need to validate that ironic node list supports filtering on shard key. it should assert that if a ironic node with a given shard key exits a correspodning hypervior/compute node and placment rp is created as that is the scope of the nova integration.","commit_id":"ded1c95f509b334e038e3ab4c9bf495ee0eb60e1"}]}
