)]}'
{"id":"openstack%2Fnova~922421","triplet_id":"openstack%2Fnova~master~I7498cab86329b6b5dcd17be9bfa8099dba515efd","project":"openstack/nova","branch":"master","topic":"add-nova-resize-logs-upstream","attention_set":{"28356":{"account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"last_update":"2024-06-20 20:55:51.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2024-06-20 21:45:58.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}},"hashtags":[],"change_id":"I7498cab86329b6b5dcd17be9bfa8099dba515efd","subject":"Block VM instance resize to flavor with different aggregates","status":"NEW","created":"2024-06-20 16:28:47.000000000","updated":"2024-06-20 21:45:58.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":7,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"8ba62b98c7d74ce58938afd1a57b3cea0d6827c7","_number":922421,"virtual_id_number":922421,"owner":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2024-06-20 20:55:51.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-2,"date":"2024-06-20 20:00:34.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-06-20 17:02:15.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2024-06-20 18:23:55.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2024-06-20 18:36:13.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"}],"messages":[{"id":"a5835a3470cc0272054998aab488b50d5180dfbf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 16:28:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"747e414fd5b1ed6e892f40febfb78626eb80e05a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-06-20 17:02:15.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6f9b938f7e7548b3ab5de2d11c504152\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/628f1ad1a8774d84a3734b83f2d906ee : SUCCESS in 10m 38s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/3e215ee5ad264563ace08c7c01a6e9c3 : SUCCESS in 31m 46s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"f8face93cedba28e43cba7ad1f0e1140cd466180","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-06-20 18:23:55.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/48568b8da38d40b0853c90433a6b5525\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6232f49fd96040acab3aacc88d3450c4 : SUCCESS in 1h 03m 39s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/380e466ccfb34c60902825f2556d481c : SUCCESS in 1h 32m 50s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/728d30aa62d24cdf8d99f137212cd9b4 : SUCCESS in 56m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/eeab34ed8cf548ffba32555340bd934c : SUCCESS in 21m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/30ace33b424e4790b8f4200220649332 : SUCCESS in 6m 43s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/ee121885fc754e6d9cca6c2ececb81f1 : SUCCESS in 12m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ce64a27e8f354e41b443c38bc3b6339e : SUCCESS in 13m 24s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/9a39b54ba4f04664a0c7224e19b1d393 : SUCCESS in 16m 20s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d48ee628ef9a4373a93e2b9a369adb60 : SUCCESS in 10m 06s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/417e44d1348f4abe8602ffed3bc0c614 : SUCCESS in 1h 00m 44s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/ce2f6e5ac0734f2ca564c3c82bc47648 : SUCCESS in 1h 33m 43s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/a7edd12fe2ac49f5ad5ef5394404d779 : SUCCESS in 51m 14s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/b128b08c6aa8421b8d20c90deec6cb13 : SUCCESS in 46m 46s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/c34727c89828495982b9cb868e299de8 : SUCCESS in 1h 50m 38s\n- nova-next https://zuul.opendev.org/t/openstack/build/eb59116e02bb446f8fcfd6109618f305 : SUCCESS in 1h 47m 22s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/146ad51e6d15409b8eb72409c9f75acf : SUCCESS in 47m 45s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/aa61f150c9644ddaa097befd1296aa15 : SUCCESS in 4m 22s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/0d80718eec5c4dbf99dff8b65d61183f : FAILURE in 19m 29s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/d47a38e671f6432b82130d8063e1d36e : FAILURE in 25m 10s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/e9adad9eee074487b4f7e76d4e4c0c6b : FAILURE in 24m 58s\n- tempest-integrated-compute-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/6080cea1c5aa4713beaf1431cef775f2 : SUCCESS in 1h 40m 57s\n- tempest-integrated-compute-rbac-old-defaults https://zuul.opendev.org/t/openstack/build/fe6e1e8f005047169f46d00dc571f62d : SUCCESS in 1h 37m 23s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/66196aa400cb4131a62796870d466542 : SUCCESS in 1h 19m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/769ea8f39fde45d7b9c1981be9e430dc : SUCCESS in 1h 08m 22s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/9f2d0fba7c6b4da799eeabedd714068b : SUCCESS in 36m 42s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/911301ad37954c7495d9d937f57254d8 : SUCCESS in 31m 44s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"936a17eb18c75fab2f787b2d4508e0f3b2f40c05","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 18:33:19.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"9bdc4c17753bf92bf664ba633bdb89fdcb73387f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 18:35:36.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7dd2164a4d686e491bbbad70e8a2084fa8a14732","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-06-20 18:36:13.000000000","message":"Patch Set 2: Code-Review-2\n\nCopied votes on follow-up patch sets have been updated:\n* Code-Review-2 has been copied to patch set 3 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\").\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"55a7e5c007bbd07df3ab25662989c243c0b1b1e2","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 18:42:00.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"4b77b3981b51dd1680808659151aacbb7d4897dc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-06-20 18:54:23.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e2058b26aa454fc0838daad1fff9af37\n\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/891dd47b1b01404691dd3cef074a763d : SUCCESS in 18m 02s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/9632c4afa7334f28a2d0429c31cd82ee : SUCCESS in 16m 07s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"30d11366f11016cca9c01a80569736785b4ede5e","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-06-20 20:00:34.000000000","message":"Patch Set 3: Code-Review-2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"6bcb90f2097d3a6d392f1081f6980e4743f9ba06","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 20:06:51.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"e9cdfef4de25e3fee3f10bea3cd283eaabec9c67","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-06-20 20:27:49.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"fdeacd3ddeda482d0ccbfacd004faa7e801fe431","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2024-06-20 20:33:45.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"63b90fdbcfc4ba553580f32464d3759b7d3140c7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-06-20 20:55:51.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/162fe4a181d84d7aac43465b6963be28\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/70e5f1904f7d40b498be11427f502501 : SUCCESS in 1h 05m 24s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/35e22e0a88794648a60dd523bb00c03d : SUCCESS in 1h 52m 56s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fcc9edfadf4947b7b5f84871c93220a8 : SUCCESS in 1h 06m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e5648f7d30014add9ba3409837ea45ed : SUCCESS in 23m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/20d1de018f8c4ff086c0a069f832c8d1 : SUCCESS in 6m 59s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/2f204727f7614fb4a665a8d58f195418 : SUCCESS in 11m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b234a23fd9ef4a34bacdc56a81a5453b : SUCCESS in 9m 17s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f8d8e7ac43c04261aaeff74589d45d8b : SUCCESS in 17m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/edc2dbbd987846f7aa6aa538de7e033b : SUCCESS in 10m 40s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/ad907abc2ab046dfaf91e21f4ebe1e76 : SUCCESS in 1h 01m 53s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/bc216763eb464bf2953e49cd0eb6fb4b : SUCCESS in 2h 15m 38s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/002d00b70ed3446894280835a3110689 : SUCCESS in 52m 56s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/ce2a45bbffed4da5942363ebccf596e9 : SUCCESS in 52m 59s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/caa371a7c04b4584bb5e206170c043de : SUCCESS in 2h 04m 19s\n- nova-next https://zuul.opendev.org/t/openstack/build/27cbea5d1ee14107afb26a5c0b032b44 : SUCCESS in 1h 46m 51s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/7485bc5fa8204800b628a439abc64754 : SUCCESS in 47m 01s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/12fc5e17e3314a2eb6988ddec2b67611 : SUCCESS in 4m 27s (non-voting)\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/d47d8fe11aa54466bec2a1a1a090243b : FAILURE in 18m 16s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/8d0715bd62d648b9b1891ee8c1a6ac3f : FAILURE in 25m 54s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/0178ef69a7924893afc1f825dbf6a2d6 : FAILURE in 22m 38s\n- tempest-integrated-compute-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/0d53ec7902ff45f1be500d7991e6be37 : SUCCESS in 1h 52m 58s\n- tempest-integrated-compute-rbac-old-defaults https://zuul.opendev.org/t/openstack/build/4718e9525a5f43caa5f2a5478daed623 : TIMED_OUT in 2h 03m 43s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/747dbe3414304f78ab3e7c4f11fecba1 : SUCCESS in 1h 18m 52s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2e58441e9ebe451bb459323671ca8245 : SUCCESS in 1h 02m 03s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/228e9ab0ead24281a0d661b3d4011aec : SUCCESS in 33m 39s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/8cc5ec552da64bcfb6535fe63dd21b39 : SUCCESS in 39m 05s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"8ba62b98c7d74ce58938afd1a57b3cea0d6827c7","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-06-20 21:45:58.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"b5b6c000c174f451a2639c6179b3c0465ccdff07","revisions":{"abd55de592df56fb504d9b441236cce6d60ff50b":{"kind":"REWORK","_number":1,"created":"2024-06-20 16:28:47.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/21/922421/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/21/922421/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/21/922421/1"}}},"commit":{"parents":[{"commit":"7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5","subject":"Merge \"add functional repoducer for bug 2065927\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 16:19:24.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 16:28:19.000000000","tz":-180},"subject":"Block VM instance resize to flavor with different aggregates","message":"Block VM instance resize to flavor with different aggregates\n\nWhen deploying an OpenStack cloud, one normally segregates/separates the\nhosts on the cloud according to their capabilities. Therefore, the use\nof host aggregates and linking/binding these aggregates with \"flavor\nfamilies\" is used to separate physical server characteristics such as\nphysical servers with processors AMD, Intel (different families), and so\non.\n\nHowever, OpenStack (Nova) allows the resize of a VM instance between\nflavors that have different aggregates, which will trigger a VM machine\nto a physical server where the processor might be different, or where it\nmight have some characteristic that breaks the resize because it\ntriggers a VM migration as well.\n\nThis patch might also be useful to address/work around the situation\nreported in [1], where a resizing is moving a VM between Nova hosts that\nhave been set up differently. In scenarios where the Nova hosts are\nconfigured differently, such as some with a Ceph backend and others with\na local NVME SSD for Nova disks, these host groups are segregated into\nhost aggregates, and then the allocation of VMs on them is controlled by\ndifferent flavor families.  Therefore, this patch can also be useful to\navoid misunderstandings and data loss that happens if we allow such a\nprocess (because Nova is not prepared to execute the migration of Nova\ndisks between different storage backends/setups).\n\n[1] https://bugs.launchpad.net/nova/+bug/1803331\n\nChange-Id: I7498cab86329b6b5dcd17be9bfa8099dba515efd\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/abd55de592df56fb504d9b441236cce6d60ff50b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/abd55de592df56fb504d9b441236cce6d60ff50b"}]},"branch":"refs/heads/master"},"a3ceb3825c80d347ea58563d811906001259757e":{"kind":"REWORK","_number":2,"created":"2024-06-20 18:33:19.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/21/922421/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/21/922421/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/21/922421/2"}}},"commit":{"parents":[{"commit":"7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5","subject":"Merge \"add functional repoducer for bug 2065927\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 16:19:24.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 18:32:55.000000000","tz":-180},"subject":"Block VM instance resize to flavor with different aggregates","message":"Block VM instance resize to flavor with different aggregates\n\nWhen deploying an OpenStack cloud, one normally segregates/separates the\nhosts on the cloud according to their capabilities. Therefore, the use\nof host aggregates and linking/binding these aggregates with \"flavor\nfamilies\" is used to separate physical server characteristics such as\nphysical servers with processors AMD, Intel (different families), and so\non.\n\nHowever, OpenStack (Nova) allows the resize of a VM instance between\nflavors that have different aggregates, which will trigger a VM machine\nto a physical server where the processor might be different, or where it\nmight have some characteristic that breaks the resize because it\ntriggers a VM migration as well.\n\nThis patch might also be useful to address/work around the situation\nreported in [1], where a resizing is moving a VM between Nova hosts that\nhave been set up differently. In scenarios where the Nova hosts are\nconfigured differently, such as some with a Ceph backend and others with\na local NVME SSD for Nova disks, these host groups are segregated into\nhost aggregates, and then the allocation of VMs on them is controlled by\ndifferent flavor families.  Therefore, this patch can also be useful to\navoid misunderstandings and data loss that happens if we allow such a\nprocess (because Nova is not prepared to execute the migration of Nova\ndisks between different storage backends/setups).\n\n[1] https://bugs.launchpad.net/nova/+bug/1803331\n\nChange-Id: I7498cab86329b6b5dcd17be9bfa8099dba515efd\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a3ceb3825c80d347ea58563d811906001259757e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a3ceb3825c80d347ea58563d811906001259757e"}]},"branch":"refs/heads/master"},"b5b6c000c174f451a2639c6179b3c0465ccdff07":{"kind":"REWORK","_number":3,"created":"2024-06-20 18:35:36.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/21/922421/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/21/922421/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/21/922421/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/21/922421/3"}}},"commit":{"parents":[{"commit":"7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5","subject":"Merge \"add functional repoducer for bug 2065927\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7dc4b1ea627d864a0ee2745cc9de4336fc0ba7b5"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 16:19:24.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2024-06-20 18:35:14.000000000","tz":-180},"subject":"Block VM instance resize to flavor with different aggregates","message":"Block VM instance resize to flavor with different aggregates\n\nWhen deploying an OpenStack cloud, one normally segregates/separates the\nhosts on the cloud according to their capabilities. Therefore, the use\nof host aggregates and linking/binding these aggregates with \"flavor\nfamilies\" is used to separate physical server characteristics such as\nphysical servers with processors AMD, Intel (different families), and so\non.\n\nHowever, OpenStack (Nova) allows the resize of a VM instance between\nflavors that have different aggregates, which will trigger a VM machine\nto a physical server where the processor might be different, or where it\nmight have some characteristic that breaks the resize because it\ntriggers a VM migration as well.\n\nThis patch might also be useful to address/work around the situation\nreported in [1], where a resizing is moving a VM between Nova hosts that\nhave been set up differently. In scenarios where the Nova hosts are\nconfigured differently, such as some with a Ceph backend and others with\na local NVME SSD for Nova disks, these host groups are segregated into\nhost aggregates, and then the allocation of VMs on them is controlled by\ndifferent flavor families.  Therefore, this patch can also be useful to\navoid misunderstandings and data loss that happens if we allow such a\nprocess (because Nova is not prepared to execute the migration of Nova\ndisks between different storage backends/setups).\n\n[1] https://bugs.launchpad.net/nova/+bug/1803331\n\nChange-Id: I7498cab86329b6b5dcd17be9bfa8099dba515efd\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b5b6c000c174f451a2639c6179b3c0465ccdff07"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b5b6c000c174f451a2639c6179b3c0465ccdff07"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Code-Review\u003dMIN"],"failing_atoms":["label:Code-Review\u003dMAX"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
