)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"c96da36fd622ff185ad2d92370e22ea2a78249e1","unresolved":true,"context_lines":[{"line_number":2209,"context_line":"        if isinstance(specs, dict):"},{"line_number":2210,"context_line":"            for tune_opt in tune_opts:"},{"line_number":2211,"context_line":"                if tune_opt in specs:"},{"line_number":2212,"context_line":"                    block_io_tune[tune_opt] \u003d specs[tune_opt]"},{"line_number":2213,"context_line":""},{"line_number":2214,"context_line":"        return block_io_tune"},{"line_number":2215,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7285eb66_d81cd744","line":2212,"updated":"2026-09-21 20:15:30.000000000","message":"libvirt expects those values to be integer:\n\n      File \"/usr/lib/python3/dist-packages/libvirt.py\", line 2633, in setBlockIoTune\n        ret \u003d libvirtmod.virDomainSetBlockIoTune(self._o, disk, params, flags)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    TypeError: an integer is required\n\nNothing in Cinder QoS specs API enforces those values to be integer, they can be string. Hence I suggest casting them to int()","commit_id":"d8ade41975a9824e39536032310a55005a754967"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"2e8ac1ffd376f00787fb5128de8cd661e5baa0e5","unresolved":true,"context_lines":[{"line_number":2209,"context_line":"        if isinstance(specs, dict):"},{"line_number":2210,"context_line":"            for tune_opt in tune_opts:"},{"line_number":2211,"context_line":"                if tune_opt in specs:"},{"line_number":2212,"context_line":"                    block_io_tune[tune_opt] \u003d specs[tune_opt]"},{"line_number":2213,"context_line":""},{"line_number":2214,"context_line":"        return block_io_tune"},{"line_number":2215,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a0e8d887_06daaa85","line":2212,"in_reply_to":"7285eb66_d81cd744","updated":"2026-10-07 20:28:32.000000000","message":"I\u0027m super sorry for a long response, fixed.","commit_id":"d8ade41975a9824e39536032310a55005a754967"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"413f9d09cabbbecd14c9024b88b3a32017ae37b7","unresolved":false,"context_lines":[{"line_number":2209,"context_line":"        if isinstance(specs, dict):"},{"line_number":2210,"context_line":"            for tune_opt in tune_opts:"},{"line_number":2211,"context_line":"                if tune_opt in specs:"},{"line_number":2212,"context_line":"                    block_io_tune[tune_opt] \u003d specs[tune_opt]"},{"line_number":2213,"context_line":""},{"line_number":2214,"context_line":"        return block_io_tune"},{"line_number":2215,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7ead7295_6dff3dc1","line":2212,"in_reply_to":"a0e8d887_06daaa85","updated":"2026-10-07 20:45:35.000000000","message":"Thanks","commit_id":"d8ade41975a9824e39536032310a55005a754967"}]}
