)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ab28c24cdb0e57d549292b023ad1048129e25331","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7c993a71_476fba6c","updated":"2024-08-21 11:44:02.000000000","message":"+1 while i check if the libvirt fixture is hardcoded to retrun x86_64 as the host architecutre.\n\ni belive it is but if not this would fail if ran on arm.","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8907b8cc53ce9fc39e588354340373e68813859e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0d0786de_3ff3557b","updated":"2024-08-21 11:51:33.000000000","message":"by the way in ci we can see this is what will be reported\n\n\na346-18d3109722e8\u0027,required_traits\u003dset([\u0027CUSTOM_VNIC_TYPE_NORMAL\u0027]),resources\u003d{NET_PACKET_RATE_KILOPACKET_PER_SEC\u003d100},use_same_provider\u003dTrue)] to allocations {\u00272f78cae1-c74c-4c03-97d9-3251cb7fe047\u0027: {\u0027resources\u0027: {\u0027DISK_GB\u0027: 1, \u0027MEMORY_MB\u0027: 192, \u0027VCPU\u0027: 1}, \u0027generation\u0027: 165}, \u0027dede2e29-3146-583b-a0fc-824635338f28\u0027: {\u0027resources\u0027: {\u0027NET_PACKET_RATE_KILOPACKET_PER_SEC\u0027: 100}, \u0027generation\u0027: 13}, \u002730e7ffcb-860c-5881-a7b5-ff7f9816b052\u0027: {\u0027resources\u0027: {\u0027NET_BW_IGR_KILOBIT_PER_SEC\u0027: 1000}, \u0027generation\u0027: 26}} with traits {\u00272f78cae1-c74c-4c03-97d9-3251cb7fe047\u0027: {\u0027COMPUTE_IMAGE_TYPE_ISO\u0027, \u0027COMPUTE_NET_VIF_MODEL_SPAPR_VLAN\u0027, \u0027COMPUTE_STORAGE_BUS_USB\u0027, \u0027COMPUTE_STORAGE_BUS_SCSI\u0027, \u0027COMPUTE_GRAPHICS_MODEL_QXL\u0027, \u0027COMPUTE_STORAGE_BUS_IDE\u0027, \u0027COMPUTE_NET_ATTACH_INTERFACE_WITH_TAG\u0027, \u0027COMPUTE_GRAPHICS_MODEL_VGA\u0027, \u0027COMPUTE_NET_VIF_MODEL_E1000E\u0027, \u0027COMPUTE_IMAGE_TYPE_ARI\u0027, \u0027COMPUTE_VIOMMU_MODEL_AUTO\u0027, \u0027HW_CPU_X86_SSE41\u0027, \u0027COMPUTE_NET_ATTACH_INTERFACE\u0027, \u0027HW_CPU_X86_SSE\u0027, \u0027COMPUTE_RESCUE_BFV\u0027, \u0027HW_ARCH_X86_64\u0027, \u0027COMPUTE_VOLUME_EXTEND\u0027, \u0027COMPUTE_IMAGE_TYPE_AKI\u0027, \u0027COMPUTE_VOLUME_MULTI_ATTACH\u0027, \u0027COMPUTE_STORAGE_BUS_FDC\u0027, \u0027COMPUTE_IMAGE_TYPE_QCOW2\u0027, \u0027COMPUTE_NET_VIF_MODEL_PCNET\u0027, \u0027COMPUTE_STORAGE_BUS_SATA\u0027, \u0027COMPUTE_NET_VIF_MODEL_E1000\u0027, \u0027COMPUTE_GRAPHICS_MODEL_BOCHS\u0027, \u0027COMPUTE_GRAPHICS_MODEL_NONE\u0027, \u0027COMPUTE_VIOMMU_MODEL_INTEL\u0027, \u0027COMPUTE_NET_VIF_MODEL_NE2K_PCI\u0027, \u0027COMPUTE_NET_VIF_MODEL_VIRTIO\u0027, \u0027COMPUTE_TRUSTED_CERTS\u0027, \u0027COMPUTE_STORAGE_BUS_VIRTIO\u0027, \u0027COMPUTE_NET_VIF_MODEL_VMXNET3\u0027, \u0027HW_CPU_X86_SSE2\u0027, \u0027COMPUTE_VOLUME_ATTACH_WITH_TAG\u0027, \u0027COMPUTE_NET_VIF_MODEL_RTL8139\u0027, \u0027COMPUTE_GRAPHICS_MODEL_CIRRUS\u0027, \u0027COMPUTE_IMAGE_TYPE_RAW\u0027, \u0027COMPUTE_SOCKET_PCI_NUMA_AFFINITY\u0027, \u0027HW_CPU_X86_MMX\u0027, \u0027COMPUTE_NET_VIRTIO_PACKED\u0027, \u0027COMPUTE_ACCELERATORS\u0027, \u0027COMPUTE_NODE\u0027, \u0027COMPUTE_DEVICE_TAGGING\u0027, \u0027COMPUTE_GRAPHICS_MODEL_VIRTIO\u0027, \u0027COMPUTE_IMAGE_TYPE_AMI\u0027, \u0027COMPUTE_GRAPHICS_MODEL_VMVGA\u0027, \u0027HW_CPU_X86_SSSE3\u0027, \u0027HW_CPU_X86_SSE42\u0027}, \u0027dede2e29-3146-583b-a0fc-824635338f28\u0027: {\u0027CUSTOM_VNIC_TYPE_NORMAL\u0027, \u0027CUSTOM_VNIC_TYPE_DIRECT\u0027, \u0027CUSTOM_VNIC_TYPE_SMART_NIC\u0027, \u0027CUSTOM_VNIC_TYPE_VDPA\u0027}, \u002730e7ffcb-860c-5881-a7b5-ff7f9816b052\u0027: {\u0027CUSTOM_VNIC_TYPE_VDPA\u0027, \u0027CUSTOM_VNIC_TYPE_NORMAL\u0027, \u0027CUSTOM_VNIC_TYPE_DIRECT\u0027, \u0027CUSTOM_VNIC_TYPE_SMART_NIC\u0027, \u0027CUSTOM_PHYSNET_PUBLIC\u0027}} {{(pid\u003d46531) map_requested_resources_to_providers /opt/stack/nova/nova/objects/request_spec.py:1045}}\n\n\n\nHW_ARCH_X86_64\n\nhowever the emulation ones are still wrong\n\n Trait \u0027HW_COMPUTE_ARCH_X86_64\u0027 is not valid;","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64731c618b455bda4c01c2724ba003e652b767b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c83698b0_405b0dab","updated":"2024-08-21 11:47:07.000000000","message":"yep it is\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/fixtures/libvirt.py#L793","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"95fb4062f5eb305a60d70acbd3704d90ca66ec3f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ac69cd22_00bdaec9","in_reply_to":"0d0786de_3ff3557b","updated":"2024-08-22 07:43:17.000000000","message":"is this from placement logs or compute ?","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"92f7f1cbf634c99df4b163ca68a1d15bbf930496","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1a6394e8_ef5f8ba9","in_reply_to":"405bc380_2a78ab9b","updated":"2024-08-26 04:41:50.000000000","message":"Acknowledged","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"46e63e39b5b3a4746e0b109443bb307046b0ef75","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"405bc380_2a78ab9b","in_reply_to":"ac69cd22_00bdaec9","updated":"2024-08-22 13:18:02.000000000","message":"its form the nova-compute agent log","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86d2e27e_d3e796bd","updated":"2024-10-02 21:20:26.000000000","message":"This is a soft -1 for fragility of the methods and/or functional tests which passed CI on PS2 with a wrong trait.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"92f7f1cbf634c99df4b163ca68a1d15bbf930496","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0e918a5f_29a95208","updated":"2024-08-26 04:41:50.000000000","message":"recheck \nnova-grenade-multinode; grenade.sh; tempest tests failed.\nAll failed because `\"Host \u0027np0038249690\u0027 is not mapped to any cell\"`","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"3598bf58f76b7e8527ee2139ca37438ce1a446a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d53f997a_5366aeb0","updated":"2024-08-22 10:34:16.000000000","message":"recheck \ntempest test_shelve_unshelve_server\nsimmilar reported here\nhttps://bugs.launchpad.net/nova/+bug/1646212\nhttps://bugs.launchpad.net/nova/+bug/2016967","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8a304671fa689b4fee86dc937f8a88268be7f608","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"20593bd3_de11cbe7","updated":"2024-08-26 08:03:06.000000000","message":"recheck unrealted fail nova-grenade-multinode with same error \n`Aug 26 05:32:42.139434 np0038273125 nova-conductor[80528]: ERROR nova.conductor.manager [None req-ae792897-ae07-4129-8110-d560391d0024 tempest-AttachInterfacesUnderV243Test-1095584745 tempest-AttachInterfacesUnderV243Test-1095584745-project-member] No host-to-cell mapping found for selected host np0038273128. Setup is incomplete.: nova.exception.HostMappingNotFound: Host \u0027np0038273128\u0027 is not mapped to any cel`","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8923d4d9d9a15bf80ff091a4d5a11ca11a5cf418","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bd08a54c_a44bea16","updated":"2024-10-04 14:55:44.000000000","message":"check experimental\n\nthe last error, I might need rebase too.\n`BadRequestException: 400: Client Error for url: https://10.0.18.188/compute/v2.1/servers, Compute host np0038709833 could not be found.`","commit_id":"c515c7ef6a81615b10e18386782d69b03a4539e5"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"9dc4e395cc42902736c8825d3c9ecf0e61257654","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7d7d438d_9b4ce947","updated":"2024-10-04 14:58:21.000000000","message":"recheck experimental","commit_id":"c515c7ef6a81615b10e18386782d69b03a4539e5"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0303acf37286b3467d5e9e033acb2f9047d9bb9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"10fc8a29_b3279522","updated":"2024-10-06 10:47:07.000000000","message":"all traits are listed here\nhttps://zuul.opendev.org/t/openstack/build/19daff71ee664ba39bca4aa8a4584a69/log/controller/logs/screen-n-cpu.txt#60554","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"9963369a9d27554618bb09ab10e523538e05251f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f4ef5db5_2e30c51c","updated":"2024-10-07 01:59:36.000000000","message":"recheck failed on test - test_volume_boot_pattern.TestVolumeBootPattern.test_image_defined_boot_from_volume\nSSH access request timeout, server booted eventually.","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d80a4ff4831c3f14c9566406b8f09e9fc3b685ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6887b037_4da95ad5","updated":"2024-10-07 06:29:03.000000000","message":"recheck unrealted fail https://bugs.launchpad.net/nova/+bug/2083812","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"108abe4aea9a3213c2e5a6eb1c3857d8752b4fc1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e3212d2f_9fac49f5","updated":"2024-10-06 10:47:25.000000000","message":"recheck unrealted ssh key error","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"87e7dae53f009f000f038a926594e9d606dff0df","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"864b065b_93cf7252","in_reply_to":"10fc8a29_b3279522","updated":"2024-10-07 02:08:42.000000000","message":"[\u0027COMPUTE_ACCELERATORS\u0027,\n \u0027COMPUTE_ARCH_AARCH64\u0027,\n \u0027COMPUTE_ARCH_MIPSEL\u0027,\n \u0027COMPUTE_ARCH_PPC64LE\u0027,\n \u0027COMPUTE_ARCH_RISCV64\u0027,\n \u0027COMPUTE_ARCH_S390X\u0027,\n \u0027COMPUTE_ARCH_X86_64\u0027,\n \n \n \u0027COMPUTE_DEVICE_TAGGING\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_BOCHS\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_CIRRUS\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_NONE\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_QXL\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_VGA\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_VIRTIO\u0027,\n \u0027COMPUTE_GRAPHICS_MODEL_VMVGA\u0027,\n \u0027COMPUTE_IMAGE_TYPE_AKI\u0027,\n \u0027COMPUTE_IMAGE_TYPE_AMI\u0027,\n \u0027COMPUTE_IMAGE_TYPE_ARI\u0027,\n \u0027COMPUTE_IMAGE_TYPE_ISO\u0027,\n \u0027COMPUTE_IMAGE_TYPE_QCOW2\u0027,\n \u0027COMPUTE_IMAGE_TYPE_RAW\u0027,\n \u0027COMPUTE_NET_ATTACH_INTERFACE\u0027,\n \u0027COMPUTE_NET_ATTACH_INTERFACE_WITH_TAG\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_E1000\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_E1000E\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_LAN9118\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_NE2K_PCI\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_PCNET\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_RTL8139\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_SPAPR_VLAN\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_VIRTIO\u0027,\n \u0027COMPUTE_NET_VIF_MODEL_VMXNET3\u0027,\n \u0027COMPUTE_NET_VIRTIO_PACKED\u0027,\n \u0027COMPUTE_NODE\u0027,\n \u0027COMPUTE_RESCUE_BFV\u0027,\n \u0027COMPUTE_SOCKET_PCI_NUMA_AFFINITY\u0027,\n \u0027COMPUTE_STORAGE_BUS_FDC\u0027,\n \u0027COMPUTE_STORAGE_BUS_IDE\u0027,\n \u0027COMPUTE_STORAGE_BUS_SATA\u0027,\n \u0027COMPUTE_STORAGE_BUS_SCSI\u0027,\n \u0027COMPUTE_STORAGE_BUS_USB\u0027,\n \u0027COMPUTE_STORAGE_BUS_VIRTIO\u0027,\n \u0027COMPUTE_TRUSTED_CERTS\u0027,\n \u0027COMPUTE_VIOMMU_MODEL_AUTO\u0027,\n \u0027COMPUTE_VIOMMU_MODEL_INTEL\u0027,\n \u0027COMPUTE_VIOMMU_MODEL_SMMUV3\u0027,\n \u0027COMPUTE_VOLUME_ATTACH_WITH_TAG\u0027,\n \u0027COMPUTE_VOLUME_EXTEND\u0027,\n \u0027COMPUTE_VOLUME_MULTI_ATTACH\u0027,\n \n \u0027HW_ARCH_X86_64\u0027,\n \u0027HW_CPU_X86_MMX\u0027,\n \u0027HW_CPU_X86_SSE\u0027,\n \u0027HW_CPU_X86_SSE2\u0027,\n \u0027HW_CPU_X86_SSE41\u0027,\n \u0027HW_CPU_X86_SSE42\u0027,\n \u0027HW_CPU_X86_SSSE3\u0027]","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"eeb09df6878b71d1b3a4ccb97d7d3ef76bd70f8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b5e4b7b7_aaee9346","updated":"2024-10-08 19:48:27.000000000","message":"The new functional test looks good but it looks like you lost the changes from PS4 when you rebased? I\u0027m not sure if that was intentional.","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"1a78e39da910d58bdfdc4bd422a58fd09ac465d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a70e0a05_43a8c3c7","updated":"2024-10-08 02:32:50.000000000","message":"recheck unrelated fail\nnova-multi-cell - tempet - test_volume_boot_pattern.TestVolumeBootPattern.test_image_defined_boot_from_volume","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a672dbdf2373439c5dad84e167373e1d331b3366","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"57109cef_e50aad4f","in_reply_to":"b5e4b7b7_aaee9346","updated":"2024-10-09 02:56:55.000000000","message":"thanks Mel, for noticing, it was unintentional","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"be5105979a85d51d218b58bc3d56bcbfed86ec90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4dd5c4e6_e4b08e69","updated":"2024-10-09 19:38:58.000000000","message":"This looks good to me, thanks","commit_id":"ab18f3763c096d1f4c0da6ad825d670dd5a06b94"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a03498b393c60b706fea53de33df66d2cf6e3ae2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1b699923_72cec8cf","updated":"2024-10-16 09:34:35.000000000","message":"we see HW_ARCH_X86_64, COMPUTE_ARCH_X86_64, COMPUTE_ARCH_RISCV64,COMPUTE_ARCH_PPC64LE,COMPUTE_ARCH_S390X,COMPUTE_ARCH_MIPSEL,COMPUTE_ARCH_AARCH6 as expected.\n\nthere are proably other listed but didnt fully parse V\n\nOct 09 03:26:07.488791 np0038748302 nova-compute[30617]: DEBUG nova.scheduler.client.report [None req-bc6213e8-d58e-445e-9193-8e267cebe8b9 tempest-ServerActionsTestOtherB-877618284 tempest-ServerActionsTestOtherB-877618284-project-member] Refreshing trait associations for resource provider 97b09672-f497-4da3-ba5a-a6c78c5710af, traits: HW_CPU_X86_SSE,COMPUTE_GRAPHICS_MODEL_NONE,COMPUTE_NET_VIF_MODEL_VMXNET3,HW_ARCH_X86_64,COMPUTE_NET_VIF_MODEL_E1000E,COMPUTE_IMAGE_TYPE_QCOW2,COMPUTE_ARCH_X86_64,COMPUTE_STORAGE_BUS_VIRTIO,COMPUTE_IMAGE_TYPE_RAW,HW_CPU_X86_SSE41,COMPUTE_VOLUME_EXTEND,COMPUTE_ARCH_AARCH64,COMPUTE_IMAGE_TYPE_AMI,COMPUTE_GRAPHICS_MODEL_VIRTIO,COMPUTE_GRAPHICS_MODEL_VMVGA,COMPUTE_ARCH_RISCV64,COMPUTE_ARCH_PPC64LE,COMPUTE_ARCH_S390X,COMPUTE_ARCH_MIPSEL,COMPUTE_IMAGE_TYPE_ARI,COMPUTE_NODE,COMPUTE_ACCELERATORS,COMPUTE_NET_VIF_MODEL_SPAPR_VLAN,COMPUTE_NET_ATTACH_INTERFACE,COMPUTE_STORAGE_BUS_IDE,COMPUTE_GRAPHICS_MODEL_CIRRUS,COMPUTE_NET_VIF_MODEL_PCNET,HW_CPU_X86_SSE42,COMPUTE_NET_VIF_MODEL_LAN9118,COMPUTE_NET_VIF_MODEL_E1000,COMPUTE_NET_VIF_MODEL_NE2K_PCI,HW_CPU_X86_MMX,COMPUTE_SOCKET_PCI_NUMA_AFFINITY,HW_CPU_X86_SSSE3,COMPUTE_IMAGE_TYPE_ISO,COMPUTE_STORAGE_BUS_SCSI,COMPUTE_NET_ATTACH_INTERFACE_WITH_TAG,COMPUTE_NET_VIRTIO_PACKED,COMPUTE_STORAGE_BUS_FDC,HW_CPU_X86_SSE2,COMPUTE_DEVICE_TAGGING,COMPUTE_GRAPHICS_MODEL_VGA,COMPUTE_VIOMMU_MODEL_AUTO,COMPUTE_TRUSTED_CERTS,COMPUTE_STORAGE_BUS_SATA,COMPUTE_VOLUME_ATTACH_WITH_TAG,COMPUTE_NET_VIF_MODEL_VIRTIO,COMPUTE_IMAGE_TYPE_AKI,COMPUTE_VOLUME_MULTI_ATTACH,COMPUTE_RESCUE_BFV,COMPUTE_STORAGE_BUS_USB,COMPUTE_GRAPHICS_MODEL_BOCHS,COMPUTE_NET_VIF_MODEL_RTL8139,COMPUTE_GRAPHICS_MODEL_QXL,COMPUTE_VIOMMU_MODEL_SMMUV3,COMPUTE_VIOMMU_MODEL_INTEL {{(pid\u003d30617) _refresh_associations /opt/stack/nova/nova/scheduler/client/report.py:839}}\n\nthose seam to line up correctly to the architeture list in https://zuul.opendev.org/t/openstack/build/05b6765baf7748659c98546d6866bc53/log/compute1/logs/screen-n-cpu.txt#950\n\nso this seam to be workign as intended.","commit_id":"ab18f3763c096d1f4c0da6ad825d670dd5a06b94"}],"nova/tests/functional/regressions/test_bug_2062425.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":true,"context_lines":[{"line_number":45,"context_line":"            image_uuid\u003duuids.cpu_arch_image,"},{"line_number":46,"context_line":"            networks\u003d\u0027none\u0027,"},{"line_number":47,"context_line":"            expected_state\u003d\u0027ACTIVE\u0027"},{"line_number":48,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"7426a2f1_17a3bdbd","line":48,"updated":"2024-10-02 21:20:26.000000000","message":"Would it be possible to add a test that will cover the `COMPUTE_ARCH_X84_64` trait? This test must be covering only `HW_ARCH_X86_64` because it passed on PS2 that had the wrong emulation arch trait.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0303acf37286b3467d5e9e033acb2f9047d9bb9e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            image_uuid\u003duuids.cpu_arch_image,"},{"line_number":46,"context_line":"            networks\u003d\u0027none\u0027,"},{"line_number":47,"context_line":"            expected_state\u003d\u0027ACTIVE\u0027"},{"line_number":48,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"98584fe2_6bebba1c","line":48,"in_reply_to":"5a70c811_b8377d75","updated":"2024-10-06 10:47:07.000000000","message":"Done","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8923d4d9d9a15bf80ff091a4d5a11ca11a5cf418","unresolved":true,"context_lines":[{"line_number":45,"context_line":"            image_uuid\u003duuids.cpu_arch_image,"},{"line_number":46,"context_line":"            networks\u003d\u0027none\u0027,"},{"line_number":47,"context_line":"            expected_state\u003d\u0027ACTIVE\u0027"},{"line_number":48,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a70c811_b8377d75","line":48,"in_reply_to":"7426a2f1_17a3bdbd","updated":"2024-10-04 14:55:44.000000000","message":"ack, will add.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"580fc454fd09467b527ab11b50b30f49e1abc4b8","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    def test_server_create_with_valid_emul_arch(self):"},{"line_number":52,"context_line":"        emul_arch \u003d \"x86_64\""},{"line_number":53,"context_line":"        emul_image \u003d copy.deepcopy(self.glance.image1)"},{"line_number":54,"context_line":"        emul_image[\u0027properties\u0027][\u0027hw_emulation_architecture\u003d\u0027] \u003d emul_arch"},{"line_number":55,"context_line":"        emul_image[\u0027id\u0027] \u003d uuids.emul_image"},{"line_number":56,"context_line":"        self.glance.create(None, emul_image)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"81f1d1d2_a270213d","line":54,"range":{"start_line":54,"start_character":59,"end_line":54,"end_character":60},"updated":"2024-10-07 14:27:37.000000000","message":"is this typo here, or this \u003d sign is required ?","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"02e9fd447a22dbd5eb7cab1a1a468ad6e7f613d8","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    def test_server_create_with_valid_emul_arch(self):"},{"line_number":52,"context_line":"        emul_arch \u003d \"x86_64\""},{"line_number":53,"context_line":"        emul_image \u003d copy.deepcopy(self.glance.image1)"},{"line_number":54,"context_line":"        emul_image[\u0027properties\u0027][\u0027hw_emulation_architecture\u003d\u0027] \u003d emul_arch"},{"line_number":55,"context_line":"        emul_image[\u0027id\u0027] \u003d uuids.emul_image"},{"line_number":56,"context_line":"        self.glance.create(None, emul_image)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5189e52a_197b7dae","line":54,"range":{"start_line":54,"start_character":59,"end_line":54,"end_character":60},"in_reply_to":"1fd45009_0fb70c4a","updated":"2024-10-07 16:23:49.000000000","message":"this is seting correctly in image property\n```\n{\u0027id\u0027: \u002735224d94-3a10-4a5a-921c-6c3332cc1d03\u0027, \u0027name\u0027: \u0027fakeimage123456\u0027, \u0027created_at\u0027: datetime.datetime(2011, 1, 1, 1, 2, 3), \u0027updated_at\u0027: datetime.datetime(2011, 1, 1, 1, 2, 3), \u0027deleted_at\u0027: None, \u0027deleted\u0027: False, \u0027status\u0027: \u0027active\u0027, \u0027is_public\u0027: False, \u0027container_format\u0027: \u0027raw\u0027, \u0027disk_format\u0027: \u0027raw\u0027, \u0027size\u0027: \u002725165824\u0027, \u0027min_ram\u0027: 0, \u0027min_disk\u0027: 0, \u0027protected\u0027: False, \u0027visibility\u0027: \u0027public\u0027, \u0027tags\u0027: [\u0027tag1\u0027, \u0027tag2\u0027], \n\n\u0027properties\u0027: \n{\u0027kernel_id\u0027: \u0027nokernel\u0027, \u0027ramdisk_id\u0027: \u0027nokernel\u0027, \n\u0027architecture\u0027: \u0027x86_64\u0027, \n\u0027hw_emulation_architecture\u003d\u0027: \u0027x86_64\u0027}\n}\n```","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a672dbdf2373439c5dad84e167373e1d331b3366","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def test_server_create_with_valid_emul_arch(self):"},{"line_number":52,"context_line":"        emul_arch \u003d \"x86_64\""},{"line_number":53,"context_line":"        emul_image \u003d copy.deepcopy(self.glance.image1)"},{"line_number":54,"context_line":"        emul_image[\u0027properties\u0027][\u0027hw_emulation_architecture\u003d\u0027] \u003d emul_arch"},{"line_number":55,"context_line":"        emul_image[\u0027id\u0027] \u003d uuids.emul_image"},{"line_number":56,"context_line":"        self.glance.create(None, emul_image)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c676b651_65bc338f","line":54,"range":{"start_line":54,"start_character":59,"end_line":54,"end_character":60},"in_reply_to":"5189e52a_197b7dae","updated":"2024-10-09 02:56:55.000000000","message":"Done","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"911aee77905073010a23d6e346798685a07ca82b","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    def test_server_create_with_valid_emul_arch(self):"},{"line_number":52,"context_line":"        emul_arch \u003d \"x86_64\""},{"line_number":53,"context_line":"        emul_image \u003d copy.deepcopy(self.glance.image1)"},{"line_number":54,"context_line":"        emul_image[\u0027properties\u0027][\u0027hw_emulation_architecture\u003d\u0027] \u003d emul_arch"},{"line_number":55,"context_line":"        emul_image[\u0027id\u0027] \u003d uuids.emul_image"},{"line_number":56,"context_line":"        self.glance.create(None, emul_image)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1fd45009_0fb70c4a","line":54,"range":{"start_line":54,"start_character":59,"end_line":54,"end_character":60},"in_reply_to":"81f1d1d2_a270213d","updated":"2024-10-07 15:03:58.000000000","message":"it was a typo, strange it did not fail :(","commit_id":"458f1e3e8855628c7154d6e4d2d8993df48c84a9"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"02e9fd447a22dbd5eb7cab1a1a468ad6e7f613d8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a7d4d691_fa3ca31e","line":63,"updated":"2024-10-07 16:23:49.000000000","message":"to reproduce the typo issue, it\u0027s working via test, but special char \"\u003d\" did not added as part of key while setting property for real image `hw_emulation_architecture\\\u003d\u003dx86_64`\n\nbut it took `hw_emulation_architectur\u003dx86_64` (\u0027e\u0027 is missing in the key)\nand guest got created/accessed too!!","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a672dbdf2373439c5dad84e167373e1d331b3366","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9878b9d6_2e56d07d","line":63,"in_reply_to":"7b8ecb43_6c9ce347","updated":"2024-10-09 02:56:55.000000000","message":"Acknowledged","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"eeb09df6878b71d1b3a4ccb97d7d3ef76bd70f8e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7b8ecb43_6c9ce347","line":63,"in_reply_to":"a7d4d691_fa3ca31e","updated":"2024-10-08 19:48:27.000000000","message":"I think there isn\u0027t any validation of image properties, so if you typo it, you will still get a server created but the invalid image property will just be ignored and the scheduler will pick any available compute host.","commit_id":"3bea09ff7e3ba5b8273e5d9fe71acf601772cff7"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":true,"context_lines":[{"line_number":3604,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":3605,"context_line":"        traits \u003d drvr._get_cpu_emulation_arch_traits()"},{"line_number":3606,"context_line":"        # traits must be a dict object"},{"line_number":3607,"context_line":"        self.assertDictEqual(traits, expected)"},{"line_number":3608,"context_line":""},{"line_number":3609,"context_line":"    def test_get_guest_memory_backing_config_file_backed(self):"},{"line_number":3610,"context_line":"        self.flags(file_backed_memory\u003d1024, group\u003d\"libvirt\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"6fd54061_d12f4cae","line":3607,"updated":"2024-10-02 21:20:26.000000000","message":"Nit: this is usually (expected, actual) so that if it fails, the error message will not mislead.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8923d4d9d9a15bf80ff091a4d5a11ca11a5cf418","unresolved":false,"context_lines":[{"line_number":3604,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":3605,"context_line":"        traits \u003d drvr._get_cpu_emulation_arch_traits()"},{"line_number":3606,"context_line":"        # traits must be a dict object"},{"line_number":3607,"context_line":"        self.assertDictEqual(traits, expected)"},{"line_number":3608,"context_line":""},{"line_number":3609,"context_line":"    def test_get_guest_memory_backing_config_file_backed(self):"},{"line_number":3610,"context_line":"        self.flags(file_backed_memory\u003d1024, group\u003d\"libvirt\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"190a9a19_262f547e","line":3607,"in_reply_to":"6fd54061_d12f4cae","updated":"2024-10-04 14:55:44.000000000","message":"I checked it many places, and I think people don\u0027t really follow this properly.\ninside unitetest where these fucntions are defined, its like first and second.\n\nand verification msg is somewat like first !\u003d second.\n\nIn nova, its used as:\n\n```\nstack@amit-devstack:~/nova/nova/tests$ ag -Q \"assertEqual(actua\" | wc -l\n36\nstack@amit-devstack:~/nova/nova/tests$ ag -Q \"assertEqual(expec\" | wc -l\n577\n```\n\nspecifically for `assertDictEqual`\n```\nstack@amit-devstack:~/nova/nova/tests$ ag -Q \"assertDictEqual(expec\" | wc -l\n32\nstack@amit-devstack:~/nova/nova/tests$ ag -Q \"assertDictEqual(actual\" | wc -l\n0\nstack@amit-devstack:~/nova/nova/tests$ ag -Q \"assertDictEqual(\" | wc -l\n60\n\n```\n\nso as per above will go with `(expected, actual)`, thanks.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"87034e5d7e49f42a41b5c513011e57ce2e87aa78","unresolved":true,"context_lines":[{"line_number":13115,"context_line":"        \"\"\""},{"line_number":13116,"context_line":"        arch \u003d self._host.get_capabilities().host.cpu.arch.upper()"},{"line_number":13117,"context_line":"        # we only set for valid arch, rest will be assumed invalid"},{"line_number":13118,"context_line":"        return {\u0027HW_ARCH_\u0027 + arch: arch in ot.hw.arch.TRAITS}"},{"line_number":13119,"context_line":""},{"line_number":13120,"context_line":"    def _get_cpu_emulation_arch_traits(self):"},{"line_number":13121,"context_line":"        \"\"\"Get CPU arch emulation traits"}],"source_content_type":"text/x-python","patch_set":1,"id":"859c6f49_13c73e12","line":13118,"updated":"2024-08-19 13:04:33.000000000","message":"note to others.\n\nwhile we should not be generating invalid traits\n\nwe handle that in a common place for all \"staitc traits\"\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L9470-L9473\n\nso we dont need to actully check if the trait exits here.\nit will get done later.","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":true,"context_lines":[{"line_number":13115,"context_line":"        \"\"\""},{"line_number":13116,"context_line":"        arch \u003d self._host.get_capabilities().host.cpu.arch.upper()"},{"line_number":13117,"context_line":"        # we only set for valid arch, rest will be assumed invalid"},{"line_number":13118,"context_line":"        return {\u0027HW_ARCH_\u0027 + arch: arch in ot.hw.arch.TRAITS}"},{"line_number":13119,"context_line":""},{"line_number":13120,"context_line":"    def _get_cpu_emulation_arch_traits(self):"},{"line_number":13121,"context_line":"        \"\"\"Get CPU arch emulation traits"}],"source_content_type":"text/x-python","patch_set":1,"id":"11276584_c5a89626","line":13118,"in_reply_to":"859c6f49_13c73e12","updated":"2024-10-02 21:20:26.000000000","message":"I note that while traits do get checked for validity at that time, nothing fails so you won\u0027t know something is wrong until you either inspect the logs or a server create fails because of the missing trait.","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"5f4263d8f04d6256ac0807e8e7953bf84d85c5b3","unresolved":true,"context_lines":[{"line_number":13122,"context_line":"        \"\"\""},{"line_number":13123,"context_line":"        # get list of architecture supported by host for"},{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"}],"source_content_type":"text/x-python","patch_set":1,"id":"69a59d35_a9dea683","line":13125,"updated":"2024-08-20 14:51:12.000000000","message":"Two things:\n\n1. this should be capabilities, not domain capabilities, since that\u0027s where libvirt is expected to report supported emulation architectures (ref: https://libvirt.org/formatcaps.html#guest-capabilities)\n\n2. You might be hitting https://gitlab.com/libvirt/libvirt/-/issues/387, which causes libvirt to incorrectly not report anything here.","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"6128eb07e32816fbf0c765f1fef40a11f2b18b6b","unresolved":true,"context_lines":[{"line_number":13122,"context_line":"        \"\"\""},{"line_number":13123,"context_line":"        # get list of architecture supported by host for"},{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"}],"source_content_type":"text/x-python","patch_set":1,"id":"b1d91881_d7491973","line":13125,"in_reply_to":"0a896e61_7f9f3262","updated":"2024-08-21 10:33:14.000000000","message":"from libvirt host.py; get_domain_capabilities is  internally calling get_capabilites, and filtering arch by guest, it\u0027s like:\n\n```\n  \u003cguest\u003e\n    \u003cos_type\u003ehvm\u003c/os_type\u003e\n    \u003carch name\u003d\u0027alpha\u0027\u003e\n      \u003cwordsize\u003e64\u003c/wordsize\u003e\n      \u003cemulator\u003e/usr/bin/qemu-system-alpha\u003c/emulator\u003e\n      ...\n  \u003c/guest\u003e\n\n  \u003cguest\u003e\n    \u003cos_type\u003ehvm\u003c/os_type\u003e\n    \u003carch name\u003d\u0027armv6l\u0027\u003e\n      \u003cwordsize\u003e32\u003c/wordsize\u003e\n      \u003cemulator\u003e/usr/bin/qemu-system-arm\u003c/emulator\u003e\n      ...\n  \u003c/guest\u003e\n\n  \u003cguest\u003e\n    \u003cos_type\u003ehvm\u003c/os_type\u003e\n    \u003carch name\u003d\u0027armv7l\u0027\u003e\n      \u003cwordsize\u003e32\u003c/wordsize\u003e\n      \u003cemulator\u003e/usr/bin/qemu-system-arm\u003c/emulator\u003e\n      ...\n  \u003c/guest\u003e\n\n  \u003cguest\u003e\n    \u003cos_type\u003ehvm\u003c/os_type\u003e\n    \u003carch name\u003d\u0027aarch64\u0027\u003e\n      \u003cwordsize\u003e64\u003c/wordsize\u003e\n      \u003cemulator\u003e/usr/bin/qemu-system-aarch64\u003c/emulator\u003e\n      ...\n  \u003c/guest\u003e\n\n```\n\nthen validate with \"virsh domcapabilities --arch alpha \" xml\n\nand overall object becomes \n{\n\u0027alpha\u0027: {parsed_xml}, \n\u0027aarch64\u0027: {parsed_xml} \n...\n...}","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fbcb150928c95686d2c46638221b5fb42ebd03e9","unresolved":false,"context_lines":[{"line_number":13122,"context_line":"        \"\"\""},{"line_number":13123,"context_line":"        # get list of architecture supported by host for"},{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"}],"source_content_type":"text/x-python","patch_set":1,"id":"c3f4da08_abb75407","line":13125,"in_reply_to":"1bfe5b93_8fe4838b","updated":"2024-09-05 06:09:15.000000000","message":"Done","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a5763b827f46967706232500d1d666df3712eb0d","unresolved":true,"context_lines":[{"line_number":13122,"context_line":"        \"\"\""},{"line_number":13123,"context_line":"        # get list of architecture supported by host for"},{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"}],"source_content_type":"text/x-python","patch_set":1,"id":"0a896e61_7f9f3262","line":13125,"in_reply_to":"69a59d35_a9dea683","updated":"2024-08-20 15:35:44.000000000","message":"no i told Amit to use domain capabilities since that returns a dict of all the capablitys for each installed emulator keyed by architeture.\n\nthe capablities api just returns the info for the current host architecutre and is not correct here.","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ab28c24cdb0e57d549292b023ad1048129e25331","unresolved":true,"context_lines":[{"line_number":13122,"context_line":"        \"\"\""},{"line_number":13123,"context_line":"        # get list of architecture supported by host for"},{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"}],"source_content_type":"text/x-python","patch_set":1,"id":"1bfe5b93_8fe4838b","line":13125,"in_reply_to":"b1d91881_d7491973","updated":"2024-08-21 11:44:02.000000000","message":"yep\n\nif we used get_capabilites driectly we woudl ahve to reimpmenet that\nwhich is why i said to use get_domain_capabilities().keys() to avoid duplicating the code.","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"87034e5d7e49f42a41b5c513011e57ce2e87aa78","unresolved":true,"context_lines":[{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"}],"source_content_type":"text/x-python","patch_set":1,"id":"921d5ed9_39f27a9d","line":13127,"updated":"2024-08-19 13:04:33.000000000","message":"this is incorrect\n\nAug 19 10:32:09.148183 np0038215392 nova-compute[91443]: DEBUG nova.virt.libvirt.driver [None req-b98f0071-813d-49c9-9e02-1a23530f54a0 None None] Trait \u0027HW_EMULATION_ARCH_X86_64\u0027 is not valid; ignoring. {{(pid\u003d91443) static_traits /opt/stack/nova/nova/virt/libvirt/driver.py:9472}}\n\nits `HW_COMPUTE_ARCH_` not `HW_EMULATION_ARCH_`\n\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/arch.py\n\n\nyou should also have unit tests for both these new functions","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4788318e7bfbd953a14cd39741e7ab2418c0298b","unresolved":false,"context_lines":[{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_EMULATION_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"}],"source_content_type":"text/x-python","patch_set":1,"id":"3930e4cd_bc2d286f","line":13127,"in_reply_to":"921d5ed9_39f27a9d","updated":"2024-08-21 06:48:27.000000000","message":"Done","commit_id":"09cbd7a5531e0729077021eb9f3da883432b1462"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e90a5b7b566c0418f9f31d48a906358e1b9aa9b4","unresolved":true,"context_lines":[{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"}],"source_content_type":"text/x-python","patch_set":2,"id":"08b70bdb_ee781942","line":13127,"range":{"start_line":13127,"start_character":11,"end_line":13127,"end_character":15},"updated":"2024-08-21 11:52:07.000000000","message":"you need to remove HW_\n\n Trait \u0027HW_COMPUTE_ARCH_X86_64\u0027 is not valid;","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"95fb4062f5eb305a60d70acbd3704d90ca66ec3f","unresolved":false,"context_lines":[{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"}],"source_content_type":"text/x-python","patch_set":2,"id":"2c81184a_fa3053b0","line":13127,"range":{"start_line":13127,"start_character":11,"end_line":13127,"end_character":15},"in_reply_to":"08b70bdb_ee781942","updated":"2024-08-22 07:43:17.000000000","message":"Yes, after removing HW_ from trait, now resource provider is updating this as well locally.\n```\n| COMPUTE_ARCH_X86_64                   |\n| HW_ARCH_X86_64                        |\n```\n\nit was not earlier, but I though may be because HOST I was testing it in, does not emulate!","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"46e63e39b5b3a4746e0b109443bb307046b0ef75","unresolved":false,"context_lines":[{"line_number":13124,"context_line":"        # hw emulation"},{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"HW_COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"}],"source_content_type":"text/x-python","patch_set":2,"id":"fb437fcc_4a187d29","line":13127,"range":{"start_line":13127,"start_character":11,"end_line":13127,"end_character":15},"in_reply_to":"2c81184a_fa3053b0","updated":"2024-08-22 13:18:02.000000000","message":"all libvirt nodes support emulation if they have qemu binaries for other architectures installed.\n\nthat the whole point of the feature\n\nto allow native instances to use kvm acceleration and allow non-native instances to be emulated via qemu without kvm acceleration. \n\ntechnialy all vms are using emulation as kvm is just a hardware acclerated kernel module that offload the emulation of the cpu form qemu ot either the kernel module or hardware.\nqemu is alwasy emulating the other devices like disk contoler or vidoe devices.\n\nemulationin this contxt its more used to descibe the processor emulation but even for native architrues there is still some degree of emulation invovled as we can choose sepciifc hardware models \"skylake\" or add/remove feature flags\n\nso in a stict sense we are always emultating the cpu but in the lose sense we use it in openstack we generally refer to it as emulation if its a non natitve architecutre.","commit_id":"2be930eba5f1d2f06d177a7eabbf025a72c8ec7c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":true,"context_lines":[{"line_number":13115,"context_line":"        \"\"\""},{"line_number":13116,"context_line":"        arch \u003d self._host.get_capabilities().host.cpu.arch.upper()"},{"line_number":13117,"context_line":"        # we only set for valid arch, rest will be assumed invalid"},{"line_number":13118,"context_line":"        return {\u0027HW_ARCH_\u0027 + arch: arch in ot.hw.arch.TRAITS}"},{"line_number":13119,"context_line":""},{"line_number":13120,"context_line":"    def _get_cpu_emulation_arch_traits(self):"},{"line_number":13121,"context_line":"        \"\"\"Get CPU arch emulation traits"}],"source_content_type":"text/x-python","patch_set":3,"id":"68be1642_318a0d37","line":13118,"range":{"start_line":13118,"start_character":43,"end_line":13118,"end_character":60},"updated":"2024-10-02 21:20:26.000000000","message":"Similar comment here.","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8923d4d9d9a15bf80ff091a4d5a11ca11a5cf418","unresolved":false,"context_lines":[{"line_number":13115,"context_line":"        \"\"\""},{"line_number":13116,"context_line":"        arch \u003d self._host.get_capabilities().host.cpu.arch.upper()"},{"line_number":13117,"context_line":"        # we only set for valid arch, rest will be assumed invalid"},{"line_number":13118,"context_line":"        return {\u0027HW_ARCH_\u0027 + arch: arch in ot.hw.arch.TRAITS}"},{"line_number":13119,"context_line":""},{"line_number":13120,"context_line":"    def _get_cpu_emulation_arch_traits(self):"},{"line_number":13121,"context_line":"        \"\"\"Get CPU arch emulation traits"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f39645b_d9de07d7","line":13118,"range":{"start_line":13118,"start_character":43,"end_line":13118,"end_character":60},"in_reply_to":"68be1642_318a0d37","updated":"2024-10-04 14:55:44.000000000","message":"Done","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bec42120205013eab6cfa421347ff497d4b80b9","unresolved":true,"context_lines":[{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"},{"line_number":13131,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"07b2f366_49d3acf2","line":13128,"range":{"start_line":13128,"start_character":48,"end_line":13128,"end_character":70},"updated":"2024-10-02 21:20:26.000000000","message":"Hm.. I\u0027m concerned about the fact that PS2 passed all of CI while generating an invalid trait. From previous review comments, I understand that `\"Trait \u0027%s\u0027 is not valid; ignoring.\"` will be logged in the nova-compute log but obviously that doesn\u0027t cause any failure. If Sean hadn\u0027t noticed it, we would have merged this patch thinking we fixed all the bugs when we didn\u0027t.\n\nI\u0027m wondering if we can make this a bit safer and catchable by unit tests by using `ot.get_traits()` or `ot.get_traits(prefix\u003d\u0027COMPUTE_ARCH_\u0027)` [1] instead of `ot.compute.arch.TRAITS`. Example of what I mean (you could also do as a dict comprehension; I didn\u0027t bc it was long):\n```\ntraits \u003d {}\nfor arch in caps:\n    trait \u003d \u0027COMPUTE_ARCH_\u0027 + arch.upper()\n    if trait in os.get_traits(prefix\u003d\u0027COMPUTE_ARCH_\u0027):\n        traits[trait] \u003d True\nreturn traits\n```\nThat way, your unit test would have caught the problem because wrong trait `HW_COMPUTE_ARCH_X86_64` would not have been returned by this method.\n\nMaybe if we had a functional test that covers the emulation arch traits piece, it would have caught the bug.\n\nI still think it\u0027s safer to only allow valid traits to be returned from these methods.\n\n[1] https://github.com/openstack/os-traits/blob/70ecafa3fa761e5d6756895e5ad47f9d2c7fd9dc/os_traits/__init__.py#L96","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8923d4d9d9a15bf80ff091a4d5a11ca11a5cf418","unresolved":true,"context_lines":[{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"},{"line_number":13131,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"c20deaf1_8846401d","line":13128,"range":{"start_line":13128,"start_character":48,"end_line":13128,"end_character":70},"in_reply_to":"07b2f366_49d3acf2","updated":"2024-10-04 14:55:44.000000000","message":"ack, I updated the code here to be sure that we get trait as per correct prefix.\n\nnote (because it took me sometime to remember):\nIn PS2, the invalid one was created because, setting here `HW_COMPUTE_ARCH_` instead of `COMPUTE_ARCH_`.\ninvalid one did not came from `ot.compute.arch.TRAITS`, because it is  essentially taking it from [1].\n\n[1] https://github.com/openstack/os-traits/blob/70ecafa3fa761e5d6756895e5ad47f9d2c7fd9dc/os_traits/compute/arch.py,","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0303acf37286b3467d5e9e033acb2f9047d9bb9e","unresolved":false,"context_lines":[{"line_number":13125,"context_line":"        caps \u003d self._host.get_domain_capabilities().keys()"},{"line_number":13126,"context_line":"        cpu_arch_emulation \u003d {"},{"line_number":13127,"context_line":"            \"COMPUTE_ARCH_\" + arch.upper(): True"},{"line_number":13128,"context_line":"            for arch in caps if arch.upper() in ot.compute.arch.TRAITS"},{"line_number":13129,"context_line":"        }"},{"line_number":13130,"context_line":"        return cpu_arch_emulation"},{"line_number":13131,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"85777bc4_e326eb5e","line":13128,"range":{"start_line":13128,"start_character":48,"end_line":13128,"end_character":70},"in_reply_to":"c20deaf1_8846401d","updated":"2024-10-06 10:47:07.000000000","message":"Done","commit_id":"eea4dc3367f945ecd1798f871c00fd414fbaa2b4"}]}
