)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"657fbe209e0011ef7fcd90358985b405713c5109","unresolved":true,"context_lines":[{"line_number":14,"context_line":"service) while the rest are not."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I0f0520b0d01c85ff4a5f9fd7974262a8daf5e360"},{"line_number":17,"context_line":"Closes-Bug: #2002400"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"94164a51_2a9adcfc","line":17,"updated":"2023-01-10 17:03:47.000000000","message":"we had some discussion internally recenly about if ironic si supproted with host aggreates at all.\n\nyou add compute services to host aggreates not compute node via the api.\n\nironic shares multiple compute_nodes under one compute service.\n\nwe do not expect you to be able to add/remove indivigual compute node form an aggreate and with the current hashring behavior in the ironic driver that can move compute nodes between compute serivces its not clear that supprot ironic today is safe.\n\n\nwe need to think about this carefully before proceeding with this.","commit_id":"15dbef21563581372fcfb2de976fc7f307ff3967"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"1f391ddc46213abf9930d0cf27098c5ca8156ed9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9f1e12ad_ef503f2c","updated":"2023-01-10 16:14:52.000000000","message":".. and probably a release note won\u0027t hurt too","commit_id":"046f366ad654b816521119e74f00d4ed0ffcc7a6"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"a23e2a47fff1e78fdbcc4c79d4dd313a80ca783c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4e4784f0_a08cc5ee","updated":"2023-01-10 16:13:29.000000000","message":"functional tests fails should be fixed by (already merged) https://review.opendev.org/c/openstack/nova/+/869545","commit_id":"046f366ad654b816521119e74f00d4ed0ffcc7a6"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"10e61df646c3b19f2c434c5f02d4fbc50fd8077f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fde0be19_e08bdcb8","updated":"2023-01-10 16:13:51.000000000","message":"needs some unit test expansion though","commit_id":"046f366ad654b816521119e74f00d4ed0ffcc7a6"}],"nova/compute/api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d0a2bb0fa032c0abaff3395d64367d8b73bf132a","unresolved":true,"context_lines":[{"line_number":6646,"context_line":"        node_name \u003d nodes[0].hypervisor_hostname"},{"line_number":6647,"context_line":"        try:"},{"line_number":6648,"context_line":"            self.placement_client.aggregate_add_host("},{"line_number":6649,"context_line":"                context, aggregate.uuid, host_name\u003dnode_name)"},{"line_number":6650,"context_line":"        except (exception.ResourceProviderNotFound,"},{"line_number":6651,"context_line":"                exception.ResourceProviderAggregateRetrievalFailed,"},{"line_number":6652,"context_line":"                exception.ResourceProviderUpdateFailed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"adeb3143_f118894e","side":"PARENT","line":6649,"updated":"2023-01-10 17:46:44.000000000","message":"we decided a while ago to restrict ironic support for placement aggregates to map the existing nova behaviour, which was to have one compute as as host...","commit_id":"5e5b6751d32aa50dc372c55b5c2044d0dade51f4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d0a2bb0fa032c0abaff3395d64367d8b73bf132a","unresolved":true,"context_lines":[{"line_number":6647,"context_line":"            node_name \u003d node.hypervisor_hostname"},{"line_number":6648,"context_line":"            try:"},{"line_number":6649,"context_line":"                self.placement_client.aggregate_add_host("},{"line_number":6650,"context_line":"                    context, aggregate.uuid, host_name\u003dnode_name)"},{"line_number":6651,"context_line":"            except (exception.ResourceProviderNotFound,"},{"line_number":6652,"context_line":"                    exception.ResourceProviderAggregateRetrievalFailed,"},{"line_number":6653,"context_line":"                    exception.ResourceProviderUpdateFailed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"87aaaea1_3f080083","line":6650,"updated":"2023-01-10 17:46:44.000000000","message":"... accordingly, accepting this patch would create a behavioural difference between the semantics of a nova aggregate and a placement aggregate (in terms of automatical mapping).\n\nNobody prevents you to create another placement aggregate and add all the node-related Resource Providers but here we\u0027re discussing of changing an existing behaviour and I personnally feel this discussion should occur as a feature design and not as as bugfix.","commit_id":"15dbef21563581372fcfb2de976fc7f307ff3967"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e06eb39e32508f81454eff7df16bf7e6160d5144","unresolved":true,"context_lines":[{"line_number":6647,"context_line":"            node_name \u003d node.hypervisor_hostname"},{"line_number":6648,"context_line":"            try:"},{"line_number":6649,"context_line":"                self.placement_client.aggregate_add_host("},{"line_number":6650,"context_line":"                    context, aggregate.uuid, host_name\u003dnode_name)"},{"line_number":6651,"context_line":"            except (exception.ResourceProviderNotFound,"},{"line_number":6652,"context_line":"                    exception.ResourceProviderAggregateRetrievalFailed,"},{"line_number":6653,"context_line":"                    exception.ResourceProviderUpdateFailed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c421da90_c1c347bb","line":6650,"in_reply_to":"87aaaea1_3f080083","updated":"2023-01-10 18:03:54.000000000","message":"the primary differnt between placment and nova aggreates is captuures in the placment api ref\n\nhttps://docs.openstack.org/api-ref/placement/#delete-resource-provider-inventory\n\nalthough i find it simpler to read here\nhttps://github.com/openstack/placement/blob/master/api-ref/source/aggregates.inc\n\nthe imporant part is \n```\n* In Nova, a host aggregate associates a *nova-compute service* with\n  other nova-compute services. Placement aggregates are not specific\n  to a nova-compute service and are, in fact, not\n  compute-specific at all. A resource provider in the Placement API is\n  generic, and placement aggregates are simply groups of generic\n  resource providers. This is an important difference especially for\n  Ironic, which when used with Nova, has many Ironic baremetal nodes\n  attached to a single nova-compute service. In the Placement API,\n  each Ironic baremetal node is its own resource provider and can\n  therefore be associated to other Ironic baremetal nodes via a\n  placement aggregate association.\n```\n  \nas it stand today we expect you to be able to add the ironic compute serivces to nova host aggreate \nbut we do not expect the placement-mirror-host-aggregates feature to map all the compute nodes managed by that service to the pacment aggreate.\nhttps://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/placement-mirror-host-aggregates.html\n\nsupprot for ironic compute node maping to placment aggreates wwas out of scope fo that. change.\n\n\nso if we want to supprot automatic mirroign of the compute node rps for ironic that is a behavioral cahnge as sylvain noded.\n\ni do think there is merit in supporting host-aggreates with ironic and with palcement mirroring but  this would be a new feaure.","commit_id":"15dbef21563581372fcfb2de976fc7f307ff3967"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"feba481ba6153f89f80687f73ae141e790687986","unresolved":true,"context_lines":[{"line_number":6647,"context_line":"            node_name \u003d node.hypervisor_hostname"},{"line_number":6648,"context_line":"            try:"},{"line_number":6649,"context_line":"                self.placement_client.aggregate_add_host("},{"line_number":6650,"context_line":"                    context, aggregate.uuid, host_name\u003dnode_name)"},{"line_number":6651,"context_line":"            except (exception.ResourceProviderNotFound,"},{"line_number":6652,"context_line":"                    exception.ResourceProviderAggregateRetrievalFailed,"},{"line_number":6653,"context_line":"                    exception.ResourceProviderUpdateFailed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d661dd07_516198da","line":6650,"in_reply_to":"c421da90_c1c347bb","updated":"2023-09-29 10:41:10.000000000","message":"So right now we already add 1st ironic host into the aggregate in placement, why we shouldn\u0027t do the same for other ironic hosts? The order of hosts returned by ironic driver is not deterministic. Maybe we should handle this case differently for different compute drivers? without changing behaviour globally?","commit_id":"15dbef21563581372fcfb2de976fc7f307ff3967"}]}
