)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e8055215a6da6ee39156ab0e9ceafb382f1c0784","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d4b419ec_8dea63dd","updated":"2026-10-19 18:34:22.000000000","message":"AFAICT this is safe to do for our existing deployments. I\u0027m attempting to get a little more coverage on that here:\n\nhttps://review.opendev.org/c/openstack/grenade/+/1011350\n\nLocally I don\u0027t seem to have any trouble with making the change and instances before/after the change seem fine and get updated at hard reboot or live migration time.\n\nHowever, I encourage critical review of the default change and certainly any more testing anyone can think of.","commit_id":"6541bdc29f5de5a38234945ce6643c24563fc829"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9dde92808589cfc598300500eb80a6bdab424945","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c82e0058_064b99df","updated":"2026-10-26 15:54:07.000000000","message":"Actually, I just added more words to the description, which may resolve the concern, so I\u0027ll push those up.","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f17bcd4c243fbf6e16a67fa9f729b6e31bbb1051","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"08f65225_6d6cf094","updated":"2026-10-26 13:58:21.000000000","message":"I\u0027ll fix the test and the stale config db columns thing.. I\u0027ll wait for your reply on the consistency suggestion. Thanks!","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c7f80d9bd4419bb94e11ab0b3b6d6eac3c02a63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7546f1e8_363d22d7","updated":"2026-10-26 11:05:36.000000000","message":"couple of small things.","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9a68c7e9b2b61b4e84500f5a35e119922dca18c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0268d728_bac88ebd","updated":"2026-10-29 14:58:58.000000000","message":"Er, doc failure is reproducible locally but seems non-sensical as it refers to a line that doesn\u0027t exist. I assume because of generation of that config text, but I\u0027m not sure how to see or adjust. AFAICT, this doesn\u0027t change the format of the config text in a way that would have caused such an issue. I\u0027ll look more after my next few calls.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f007c88fb2a0c9a4a9f3da7ada1efdc1d6edabe8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7b086193_025d202f","updated":"2026-10-27 17:20:13.000000000","message":"I finished with the local testing. All looks good. Lets have a devstack patch to show that our Gate also happy with the new default naming and then I will switch to +2 here too","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"51ab8e30e0972c90d0535d6ca6275720404e4d24","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9359f276_489792a5","updated":"2026-10-27 15:37:53.000000000","message":"for some strange reason devstack deploys nova with a hardcoded default `instance_name_template \u003d instance-%08x` so our devstack testing does not test the new behavior. \n\nhttps://github.com/openstack/devstack/blob/11862b2cae9d643eac81a85fa2ad75148cea71c3/lib/nova#L455\n\nWe should change that now and see if our tempest jobs are happy or not.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a15ecc253ba16d28eb5935cc00199f2106c046a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a71ef1e3_80e7e6f9","updated":"2026-10-28 10:10:23.000000000","message":"lets land the devstack patch first then recheck this to see it is green","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f4769d8830267c321b2b8b9782cbf0ac56042fcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"75cba33e_a3fecb27","updated":"2026-10-29 12:58:23.000000000","message":"recheck the devstack change has been landed https://review.opendev.org/c/openstack/devstack/+/1012535","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b827936e2a09f4a65ef3eaab530897317d87770e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f5769054_ff7f99ff","in_reply_to":"0268d728_bac88ebd","updated":"2026-10-29 15:44:51.000000000","message":"The functional test failure is unrelated, I will file / fix it separtely.\nThe tempest tests shows that the new template work well e.g. https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_15f/openstack/15f0848cf633466cb3f4298de217b232/controller/logs/libvirt/libvirt/qemu/\n\nSo when the doc is fixed I will upgrade to +2.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"aff01d88f19f2bc44cc993209e1a977a69a6d29b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"81043d27_38f98147","in_reply_to":"7b086193_025d202f","updated":"2026-10-27 17:28:06.000000000","message":"Roger that, devstack patch here:\n\nhttps://review.opendev.org/c/openstack/devstack/+/1012535\n\nand since I never linked it, here\u0027s a grenade patch I used to test the change-during-upgrade path:\n\nhttps://review.opendev.org/c/openstack/grenade/+/1011350","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"}],"doc/notification_samples/common_payloads/InstanceCreatePayload.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c7f80d9bd4419bb94e11ab0b3b6d6eac3c02a63","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    ],"},{"line_number":19,"context_line":"    \"tags\": [\"tag\"],"},{"line_number":20,"context_line":"    \"trusted_image_certificates\": [\"cert-id-1\", \"cert-id-2\"],"},{"line_number":21,"context_line":"    \"instance_name\": \"instance-178b0921-8f85-4257-88b6-2e743b5a975c\""},{"line_number":22,"context_line":"  },"},{"line_number":23,"context_line":"  \"nova_object.name\": \"InstanceCreatePayload\","},{"line_number":24,"context_line":"  \"nova_object.version\": \"1.13\""}],"source_content_type":"application/json","patch_set":2,"id":"adefa2c4_632e1a4b","line":21,"updated":"2026-10-26 11:05:36.000000000","message":"+1 thanks","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"}],"nova/conf/compute.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c7f80d9bd4419bb94e11ab0b3b6d6eac3c02a63","unresolved":true,"context_lines":[{"line_number":1563,"context_line":"This template controls the creation of the database name of an instance. This"},{"line_number":1564,"context_line":"is *not* the display name you enter when creating an instance (via Horizon"},{"line_number":1565,"context_line":"or CLI). Changes to this value will take effect when an instance is hard-"},{"line_number":1566,"context_line":"rebooted or live-migrated (config on the source dictates the value used)."},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Possible values:"},{"line_number":1569,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1730db0d_f579ca36","line":1566,"updated":"2026-10-26 11:05:36.000000000","message":"maybe we want to mention that if this is changed then it should change across all compute nodes within the same live-migration domain. Otherwise the source deciding what name is OK to apply on the dest breaks down.\n\n(See as well from https://review.opendev.org/c/openstack/nova/+/1011366/1//COMMIT_MSG#15 )","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f17bcd4c243fbf6e16a67fa9f729b6e31bbb1051","unresolved":true,"context_lines":[{"line_number":1563,"context_line":"This template controls the creation of the database name of an instance. This"},{"line_number":1564,"context_line":"is *not* the display name you enter when creating an instance (via Horizon"},{"line_number":1565,"context_line":"or CLI). Changes to this value will take effect when an instance is hard-"},{"line_number":1566,"context_line":"rebooted or live-migrated (config on the source dictates the value used)."},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Possible values:"},{"line_number":1569,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ee233e6c_75b6305f","line":1566,"in_reply_to":"1730db0d_f579ca36","updated":"2026-10-26 13:58:21.000000000","message":"See my reply to that comment for an example. I think it\u0027s fine to suggest that it _should_ be the same, and/or maybe quickly explain *why*, but I don\u0027t think it\u0027s really a strict requirement anymore. At least in live migration v2, I experienced a graceful failure when a conflict happens because the migration sort of fails immediately before anything is transferred.","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4d91c06ba2307f16b5c90c01b286b03a62aae383","unresolved":false,"context_lines":[{"line_number":1563,"context_line":"This template controls the creation of the database name of an instance. This"},{"line_number":1564,"context_line":"is *not* the display name you enter when creating an instance (via Horizon"},{"line_number":1565,"context_line":"or CLI). Changes to this value will take effect when an instance is hard-"},{"line_number":1566,"context_line":"rebooted or live-migrated (config on the source dictates the value used)."},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"Possible values:"},{"line_number":1569,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"8740ac69_681e5dcf","line":1566,"in_reply_to":"ee233e6c_75b6305f","updated":"2026-10-30 09:20:18.000000000","message":"Done","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c7f80d9bd4419bb94e11ab0b3b6d6eac3c02a63","unresolved":true,"context_lines":[{"line_number":1569,"context_line":""},{"line_number":1570,"context_line":"* A string which either uses the instance database ID (like the"},{"line_number":1571,"context_line":"  default)"},{"line_number":1572,"context_line":"* A string with a list of named database columns, for example ``%(id)d``"},{"line_number":1573,"context_line":"  or ``%(uuid)s`` or ``%(hostname)s``."},{"line_number":1574,"context_line":"\"\"\"),"},{"line_number":1575,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"f3d9a939_84d0cb14","line":1572,"updated":"2026-10-26 11:05:36.000000000","message":"can we fix this misleading doc. It is not DB columns it is object fields.","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f17bcd4c243fbf6e16a67fa9f729b6e31bbb1051","unresolved":false,"context_lines":[{"line_number":1569,"context_line":""},{"line_number":1570,"context_line":"* A string which either uses the instance database ID (like the"},{"line_number":1571,"context_line":"  default)"},{"line_number":1572,"context_line":"* A string with a list of named database columns, for example ``%(id)d``"},{"line_number":1573,"context_line":"  or ``%(uuid)s`` or ``%(hostname)s``."},{"line_number":1574,"context_line":"\"\"\"),"},{"line_number":1575,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"a9cf6c31_2c078f22","line":1572,"in_reply_to":"f3d9a939_84d0cb14","updated":"2026-10-26 13:58:21.000000000","message":"Acknowledged","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b32392e395d7db9425050da0754187d495633406","unresolved":true,"context_lines":[{"line_number":1575,"context_line":"* A string which either uses the instance database ID (like the"},{"line_number":1576,"context_line":"  default)"},{"line_number":1577,"context_line":"* A string with a list of named instance object attributes, for example"},{"line_number":1578,"context_line":"``%(id)d`` or ``%(uuid)s`` or ``%(hostname)s``."},{"line_number":1579,"context_line":"\"\"\"),"},{"line_number":1580,"context_line":"]"},{"line_number":1581,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1d21628d_91d28681","line":1578,"updated":"2026-10-29 15:58:08.000000000","message":"Ah, it\u0027s right here, rewrapping snipped the leading whitespace from this line.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"}],"nova/tests/unit/virt/ironic/test_driver.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c7f80d9bd4419bb94e11ab0b3b6d6eac3c02a63","unresolved":true,"context_lines":[{"line_number":592,"context_line":"        expected_calls \u003d [mock.call(mock.ANY, instances[0].uuid),"},{"line_number":593,"context_line":"                          mock.call(mock.ANY, instances[1].uuid)]"},{"line_number":594,"context_line":"        mock_inst_by_uuid.assert_has_calls(expected_calls)"},{"line_number":595,"context_line":"        self.assertCountEqual("},{"line_number":596,"context_line":"            [\u0027instance-%s\u0027 % inst.uuid for inst in instances], response)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    @mock.patch.object(ironic_driver.IronicDriver, \u0027_refresh_cache\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"834d8364_0c56bc6e","line":595,"updated":"2026-10-26 11:05:36.000000000","message":"can we use instance.name on the two instances to compare not just the number of instances in the response?","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f17bcd4c243fbf6e16a67fa9f729b6e31bbb1051","unresolved":true,"context_lines":[{"line_number":592,"context_line":"        expected_calls \u003d [mock.call(mock.ANY, instances[0].uuid),"},{"line_number":593,"context_line":"                          mock.call(mock.ANY, instances[1].uuid)]"},{"line_number":594,"context_line":"        mock_inst_by_uuid.assert_has_calls(expected_calls)"},{"line_number":595,"context_line":"        self.assertCountEqual("},{"line_number":596,"context_line":"            [\u0027instance-%s\u0027 % inst.uuid for inst in instances], response)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    @mock.patch.object(ironic_driver.IronicDriver, \u0027_refresh_cache\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9694df34_7240c16f","line":595,"in_reply_to":"834d8364_0c56bc6e","updated":"2026-10-26 13:58:21.000000000","message":"This was definitely my idea and not some LLM\u0027s silly solution ..... :P","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9dde92808589cfc598300500eb80a6bdab424945","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        expected_calls \u003d [mock.call(mock.ANY, instances[0].uuid),"},{"line_number":593,"context_line":"                          mock.call(mock.ANY, instances[1].uuid)]"},{"line_number":594,"context_line":"        mock_inst_by_uuid.assert_has_calls(expected_calls)"},{"line_number":595,"context_line":"        self.assertCountEqual("},{"line_number":596,"context_line":"            [\u0027instance-%s\u0027 % inst.uuid for inst in instances], response)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    @mock.patch.object(ironic_driver.IronicDriver, \u0027_refresh_cache\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bccff234_e500b016","line":595,"in_reply_to":"9694df34_7240c16f","updated":"2026-10-26 15:54:07.000000000","message":"Done","commit_id":"3a695e5557697ed2d67067491c8fbca5e4a6d716"}],"releasenotes/notes/instance-name-template-change-d7c5ed9e7ed1394e.yaml":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f007c88fb2a0c9a4a9f3da7ada1efdc1d6edabe8","unresolved":true,"context_lines":[{"line_number":8,"context_line":"    instances when a hard reboot (or similar) action is triggered, and is also"},{"line_number":9,"context_line":"    updated during live migration. Note that the value that the API shows to"},{"line_number":10,"context_line":"    clients is computed on the fly and not actually what the instance is using"},{"line_number":11,"context_line":"    in libvirt, so if any nodes have this overridden, they must match for"},{"line_number":12,"context_line":"    consistency. Existing deployments with the old default encoded in their"},{"line_number":13,"context_line":"    config are encouraged to revert to the new UUID-based default."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"77f011e1_062bed2f","line":11,"updated":"2026-10-27 17:20:13.000000000","message":"This also means that VMs that hasn\u0027t been moved or rebooted since the upgrade to the new defeault will report a different name on the API than what is in libvirt regardless if the config changed on all the compute already. We cannot really fix this easily but I really want the support folks to know this as for such VMs finding the correlation between the instance on the API and instance on the hypervisor should be done by ignoring the API value and relying purely on fact that nova already adds the the UUID of the instance into the libvirt domain XML.\n\nI don\u0027t know how to word this. So I won\u0027t block on this.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"aff01d88f19f2bc44cc993209e1a977a69a6d29b","unresolved":true,"context_lines":[{"line_number":8,"context_line":"    instances when a hard reboot (or similar) action is triggered, and is also"},{"line_number":9,"context_line":"    updated during live migration. Note that the value that the API shows to"},{"line_number":10,"context_line":"    clients is computed on the fly and not actually what the instance is using"},{"line_number":11,"context_line":"    in libvirt, so if any nodes have this overridden, they must match for"},{"line_number":12,"context_line":"    consistency. Existing deployments with the old default encoded in their"},{"line_number":13,"context_line":"    config are encouraged to revert to the new UUID-based default."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ad2e339c_15249c0f","line":11,"in_reply_to":"77f011e1_062bed2f","updated":"2026-10-27 17:28:06.000000000","message":"Yep, it\u0027s quite unfortunate that we have a locally-generated string in the API response. One option would be for operators to change the template in the API\u0027s config to `not-necessarily-valid-%(uuid)s` or maybe just `%(uuid)s` to avoid even looking like it matches in some of the cases.","commit_id":"f52348b85f38ce2ef0269a4938b197e4a80985d4"}]}
