)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"92c06b899ebb227173d479d0693b527edaa691b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"87cbbc44_499e2b76","updated":"2024-08-29 09:00:20.000000000","message":"apart from doc job, the other fail on nova-multi-cell job is unrelated \nTestSecurityGroupsBasicOps.test_boot_into_disabled_port_security_network_without_secgroup\n\nit\u0027s because of SSH timeout to instance, because its taking time to boot properly.\n\n```\nno interfaces have a carrier\nOK\nchecking http://169.254.169.254/2009-04-04/instance-id\nfailed 1/20: up 22.54. request failed\nfailed 2/20: up 24.81. request failed\nfailed 3/20: up 27.05. request failed\nfailed 4/20: up 29.29. request failed\nfailed 5/20: up 78.73. request failed\nfailed 6/20: up 127.98. request failed\n```","commit_id":"b472c61be4676d6701a6408a55f2406fda8e3a37"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"550114ea1000ebb81a776302747a132ebc3e043f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6819e1fc_1b371ed4","updated":"2024-08-30 06:34:30.000000000","message":"recheck\nthe gate -1 is because of docs-job bug, which is fixes now, so this is good to review","commit_id":"b472c61be4676d6701a6408a55f2406fda8e3a37"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"438a227da82cbf38dec87de7e00d8856a0934e7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8adc132b_db2965dc","updated":"2024-09-05 11:10:35.000000000","message":"recheck unrelated SSH timeout\nfinal erro show tempest.lib.exceptions.TimeoutException: Request timed out on wait_for_ssh, also ssh authentication failed\n\nbut logs shows VM booted properly, \nalso there are logs for Volume \u003cid\u003e could not be found, so it tried to do show_volume sometime.","commit_id":"b472c61be4676d6701a6408a55f2406fda8e3a37"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"9e4f3b7d05623ac5c200d32b6498af6352040c21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"abaa2c6b_9c07b24a","updated":"2024-09-05 06:07:27.000000000","message":"recheck unrelated test failed\ntempest-integrated-compute-enforce-scope-new-defaults job tempest volume test test_volume_upload failed while uploading volume in glance as image.","commit_id":"b472c61be4676d6701a6408a55f2406fda8e3a37"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"2dc16ad763663fbf76aa344d4ae06d3addce318d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f0bad93f_428e4f3c","updated":"2025-12-02 23:25:56.000000000","message":"I\u0027m a little curious as to the \"why\" for this change, it\u0027s not well described in the commit message and does not have an associated bug.","commit_id":"bb4de056cf21f7f20248f6019f46d475d4801c92"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"87ce6017dfba92a711546d5979b4f4e1dfb7ea20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"cb5ca9c9_03bfdd23","updated":"2024-10-16 09:44:58.000000000","message":"lets see what mel thinks of the previosu two patches btu i think this is good as is\n\nlooking at the ironic job we can see the x86 trait is reported properly\n\nOct 11 03:01:57.522430 np0038774873 nova-compute[107289]: DEBUG nova.scheduler.client.report [None req-724195f5-7d1f-44d0-94bd-f48906f50004 None None] Refreshing trait associations for resource provider 6eae36cd-f205-4912-85a6-5e5ca0dc1201, traits: COMPUTE_IMAGE_TYPE_RAW,COMPUTE_NODE,COMPUTE_IMAGE_TYPE_QCOW2,HW_ARCH_X86_64,CUSTOM_GOLD,COMPUTE_IMAGE_TYPE_AMI,COMPUTE_NET_ATTACH_INTERFACE {{(pid\u003d107289) _refresh_associations /opt/stack/nova/nova/scheduler/client/report.py:839}}","commit_id":"bb4de056cf21f7f20248f6019f46d475d4801c92"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4b3874f2034ed6c675733a44227bd83b5fb611af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2633c619_23f3de3d","updated":"2024-10-11 02:02:23.000000000","message":"recheck deployment issue","commit_id":"bb4de056cf21f7f20248f6019f46d475d4801c92"}],"nova/tests/unit/virt/ironic/test_driver.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"bd293aa986a19870162b5d9b761c13d320fa6d11","unresolved":true,"context_lines":[{"line_number":1088,"context_line":"        mock_res_used.assert_called_once_with(mock_nfc.return_value)"},{"line_number":1089,"context_line":"        mock_res_unavail.assert_called_once_with(mock_nfc.return_value)"},{"line_number":1090,"context_line":"        result \u003d self.ptree.data(mock.sentinel.nodename).traits"},{"line_number":1091,"context_line":"        self.assertTrue(set(traits).issubset(result))"},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"        # A different set of traits - we should replace (for now)."},{"line_number":1094,"context_line":"        traits \u003d [\u0027trait1\u0027, \u0027trait7\u0027, \u0027trait42\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"50ec267f_93b7ba72","line":1091,"updated":"2024-08-22 08:09:51.000000000","message":"we can mock _get_cpu_traits returning {} here too, but this serves as a unit tests for it, hence like this.","commit_id":"bd3d3852972448a5a8a65b0e4af5e984e85abbdb"}],"nova/tests/unit/virt/ironic/utils.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"2dc16ad763663fbf76aa344d4ae06d3addce318d","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        \u0027driver\u0027: kw.get(\u0027driver\u0027, \u0027fake\u0027),"},{"line_number":56,"context_line":"        \u0027driver_info\u0027: kw.get(\u0027driver_info\u0027, {}),"},{"line_number":57,"context_line":"        # as every ironic node will have an underlying arch"},{"line_number":58,"context_line":"        \u0027properties\u0027: kw.get(\u0027properties\u0027, {\u0027cpu_arch\u0027: \u0027x86_64\u0027}),"},{"line_number":59,"context_line":"        \u0027reservation\u0027: kw.get(\u0027reservation\u0027),"},{"line_number":60,"context_line":"        \u0027is_maintenance\u0027: kw.get(\u0027is_maintenance\u0027),"},{"line_number":61,"context_line":"        \u0027network_interface\u0027: kw.get(\u0027network_interface\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"ddd659a0_238374f6","line":58,"updated":"2025-12-02 23:25:56.000000000","message":"Does it reflect some kind of nova assumption that it\u0027s x86 if we don\u0027t know otherwise? Ironic has several deployments in production which deploy ARM (aarch64) hardware. It seems to me those would continue to work in this case as they should\u0027ve already had properties set.","commit_id":"bb4de056cf21f7f20248f6019f46d475d4801c92"}],"nova/virt/ironic/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"84fead0a438c2f783fb629fe294659d7327739fa","unresolved":true,"context_lines":[{"line_number":971,"context_line":"            traits.update("},{"line_number":972,"context_line":"                {\u0027HW_ARCH_\u0027 + arch.upper(): True}"},{"line_number":973,"context_line":"            )"},{"line_number":974,"context_line":"        return traits"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def get_available_resource(self, nodename):"},{"line_number":977,"context_line":"        \"\"\"Retrieve resource information."}],"source_content_type":"text/x-python","patch_set":1,"id":"5deb524c_3ec6723f","line":974,"updated":"2024-08-21 11:55:15.000000000","message":"this is not correct.\n\nfor any given ironic node it shoudl have only one architeture.\n\nyou should use _parse_node_properties(node)[\u0027cpu_arch\u0027] to get the arch","commit_id":"bfecda1f75efac2a9e4c60ce2082c10a5919ef75"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"550114ea1000ebb81a776302747a132ebc3e043f","unresolved":false,"context_lines":[{"line_number":971,"context_line":"            traits.update("},{"line_number":972,"context_line":"                {\u0027HW_ARCH_\u0027 + arch.upper(): True}"},{"line_number":973,"context_line":"            )"},{"line_number":974,"context_line":"        return traits"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def get_available_resource(self, nodename):"},{"line_number":977,"context_line":"        \"\"\"Retrieve resource information."}],"source_content_type":"text/x-python","patch_set":1,"id":"e9339a6e_380a3a32","line":974,"in_reply_to":"08b8a8ec_4c9a7ef8","updated":"2024-08-30 06:34:30.000000000","message":"Done","commit_id":"bfecda1f75efac2a9e4c60ce2082c10a5919ef75"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0eb417f927fb37180cf9ed9464aac31340f2b469","unresolved":true,"context_lines":[{"line_number":971,"context_line":"            traits.update("},{"line_number":972,"context_line":"                {\u0027HW_ARCH_\u0027 + arch.upper(): True}"},{"line_number":973,"context_line":"            )"},{"line_number":974,"context_line":"        return traits"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def get_available_resource(self, nodename):"},{"line_number":977,"context_line":"        \"\"\"Retrieve resource information."}],"source_content_type":"text/x-python","patch_set":1,"id":"08b8a8ec_4c9a7ef8","line":974,"in_reply_to":"5deb524c_3ec6723f","updated":"2024-08-22 07:43:28.000000000","message":"ack, supported_archs (which were supported_instances originally) were arch of guest(s)\nI thought its all arches this node can support as a host.\n\nbut yes, a node can have only one HOST arch","commit_id":"bfecda1f75efac2a9e4c60ce2082c10a5919ef75"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"84fead0a438c2f783fb629fe294659d7327739fa","unresolved":true,"context_lines":[{"line_number":261,"context_line":"        \"\"\""},{"line_number":262,"context_line":"        return node_obj.instance_id is not None"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def _parse_node_properties(self, node):"},{"line_number":265,"context_line":"        \"\"\"Helper method to parse the node\u0027s properties.\"\"\""},{"line_number":266,"context_line":"        properties \u003d {}"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f3968614_d22e4595","line":264,"updated":"2024-08-21 11:55:15.000000000","message":"you sould call this on the node object to get the proepreis and then read \nproperties[\u0027cpu_arch\u0027]","commit_id":"74b2687d9d7bb17cb8fdf8b9b3bcd78680e12526"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0eb417f927fb37180cf9ed9464aac31340f2b469","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        \"\"\""},{"line_number":262,"context_line":"        return node_obj.instance_id is not None"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def _parse_node_properties(self, node):"},{"line_number":265,"context_line":"        \"\"\"Helper method to parse the node\u0027s properties.\"\"\""},{"line_number":266,"context_line":"        properties \u003d {}"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff27ff49_ca9d907b","line":264,"in_reply_to":"f3968614_d22e4595","updated":"2024-08-22 07:43:28.000000000","message":"Done","commit_id":"74b2687d9d7bb17cb8fdf8b9b3bcd78680e12526"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2bab95f351a856c725672ba97f2c37ae2d330fe","unresolved":true,"context_lines":[{"line_number":966,"context_line":"        supported archs example [(x86_64, i686, baremetal, hvm)]"},{"line_number":967,"context_line":"        \"\"\""},{"line_number":968,"context_line":"        # hw_arch trait"},{"line_number":969,"context_line":"        node_arch \u003d self._parse_node_properties(node)[\u0027cpu_arch\u0027]"},{"line_number":970,"context_line":"        return {\u0027HW_ARCH_\u0027 + node_arch.upper(): True}"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"    def get_available_resource(self, nodename):"}],"source_content_type":"text/x-python","patch_set":3,"id":"f55c6233_b9a85a79","line":969,"updated":"2024-08-22 13:37:02.000000000","message":"```suggestion\n        node_arch \u003d self._parse_node_properties(node)[\u0027cpu_arch\u0027] or \u0027\u0027\n```\nself._parse_node_properties(node)[\u0027cpu_arch\u0027] can be None\n\nand that will raise an error\n```\n\u003e\u003e\u003e \u0027test\u0027+None\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nTypeError: can only concatenate str (not \"NoneType\") to str\n```","commit_id":"bd3d3852972448a5a8a65b0e4af5e984e85abbdb"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4b3874f2034ed6c675733a44227bd83b5fb611af","unresolved":false,"context_lines":[{"line_number":966,"context_line":"        supported archs example [(x86_64, i686, baremetal, hvm)]"},{"line_number":967,"context_line":"        \"\"\""},{"line_number":968,"context_line":"        # hw_arch trait"},{"line_number":969,"context_line":"        node_arch \u003d self._parse_node_properties(node)[\u0027cpu_arch\u0027]"},{"line_number":970,"context_line":"        return {\u0027HW_ARCH_\u0027 + node_arch.upper(): True}"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"    def get_available_resource(self, nodename):"}],"source_content_type":"text/x-python","patch_set":3,"id":"4b158650_59bb0fa2","line":969,"in_reply_to":"590c4100_fd097a37","updated":"2024-10-11 02:02:23.000000000","message":"Done","commit_id":"bd3d3852972448a5a8a65b0e4af5e984e85abbdb"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"92c06b899ebb227173d479d0693b527edaa691b3","unresolved":true,"context_lines":[{"line_number":966,"context_line":"        supported archs example [(x86_64, i686, baremetal, hvm)]"},{"line_number":967,"context_line":"        \"\"\""},{"line_number":968,"context_line":"        # hw_arch trait"},{"line_number":969,"context_line":"        node_arch \u003d self._parse_node_properties(node)[\u0027cpu_arch\u0027]"},{"line_number":970,"context_line":"        return {\u0027HW_ARCH_\u0027 + node_arch.upper(): True}"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"    def get_available_resource(self, nodename):"}],"source_content_type":"text/x-python","patch_set":3,"id":"590c4100_fd097a37","line":969,"in_reply_to":"ab0e5eba_5ca5c17c","updated":"2024-08-29 09:00:20.000000000","message":"considering it will return `None` too, if Nova does not support the node arch\nsupported ones are https://github.com/openstack/nova/blob/master/nova/objects/fields.py#L207-L219\n\n```\n(\"i386\", \"i486\", \"i586\"): newname \u003d cls.I686\n\n(\"x86_32\", \"x86_32p\"): newname \u003d cls.I686\n\n\"amd64\": newname \u003d cls.X86_64\n\n```\n\nwhen underlying cpu_arch is not supported, we should not set trait at all, instead of adding (\u0027\u0027) to pre-fix.\n\"HW_ARCH\" + \u0027\u0027 --\u003e HW_ARCH","commit_id":"bd3d3852972448a5a8a65b0e4af5e984e85abbdb"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"7f5491c51d238590ee2250d03363b63c111c4031","unresolved":true,"context_lines":[{"line_number":966,"context_line":"        supported archs example [(x86_64, i686, baremetal, hvm)]"},{"line_number":967,"context_line":"        \"\"\""},{"line_number":968,"context_line":"        # hw_arch trait"},{"line_number":969,"context_line":"        node_arch \u003d self._parse_node_properties(node)[\u0027cpu_arch\u0027]"},{"line_number":970,"context_line":"        return {\u0027HW_ARCH_\u0027 + node_arch.upper(): True}"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"    def get_available_resource(self, nodename):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ab0e5eba_5ca5c17c","line":969,"in_reply_to":"f55c6233_b9a85a79","updated":"2024-08-22 14:29:58.000000000","message":"it will sure fail at None.upper() \n\nbut is it a valid scenario to be None.\nshouldn\u0027t every host will have cpu_arch  ?","commit_id":"bd3d3852972448a5a8a65b0e4af5e984e85abbdb"}]}
