)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-08-18 13:51:58 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add sorce dev parsing for vdpa interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change extends the guest xml parsing such that"},{"line_number":10,"context_line":"the source device path can be extreacted from interface"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"710a69a3_f934a728","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"updated":"2022-08-19 11:45:20.000000000","message":"Add source","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ddffe363211730bdafcda81f945a1d8d0ade3533","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-08-18 13:51:58 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add sorce dev parsing for vdpa interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change extends the guest xml parsing such that"},{"line_number":10,"context_line":"the source device path can be extreacted from interface"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"bf9cbeca_dc9e3d78","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"in_reply_to":"710a69a3_f934a728","updated":"2022-08-22 14:12:11.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":true,"context_lines":[{"line_number":11,"context_line":"elements of type vdpa."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is required to identify the interface to remove when"},{"line_number":14,"context_line":"detaching a vdpa port form a domian."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change fixes a latent bug in the libvirt fixutre"},{"line_number":17,"context_line":"related to the domain xml generation for vdpa interfaces."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"c90b3022_ab2d4296","line":14,"range":{"start_line":14,"start_character":29,"end_line":14,"end_character":35},"updated":"2022-08-19 10:44:02.000000000","message":"nit: domain","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ddffe363211730bdafcda81f945a1d8d0ade3533","unresolved":false,"context_lines":[{"line_number":11,"context_line":"elements of type vdpa."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is required to identify the interface to remove when"},{"line_number":14,"context_line":"detaching a vdpa port form a domian."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change fixes a latent bug in the libvirt fixutre"},{"line_number":17,"context_line":"related to the domain xml generation for vdpa interfaces."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f4a9ff9_fcdc8d40","line":14,"range":{"start_line":14,"start_character":29,"end_line":14,"end_character":35},"in_reply_to":"c90b3022_ab2d4296","updated":"2022-08-22 14:12:11.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1f70cb53_0a05a6bc","updated":"2022-08-19 10:44:02.000000000","message":"I only have nits inline that can be fixed in a follow up so I\u0027m +2. But if you need to respin this for other reasons then please fix the inline comments here.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"39aa6d86_0090abd2","updated":"2022-08-19 11:45:20.000000000","message":"Let\u0027s not use asserts, please","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1bac38f4b59ce27fc354fe078afb8ca18a2ed7f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7f1e9ad8_8e745ccc","updated":"2022-08-19 11:18:50.000000000","message":"this needs a compute service bump since i cant assume just because the api is upgraded the compute are. so this will intoduce 62 and the final patch will intoduce 63","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cc144e6cb1274d7b6939ce3f6c6532dfdc23a30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"61caffdd_0da60535","updated":"2022-08-22 14:21:17.000000000","message":"Looks good","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"df2c5161f96d840454d712a8951b7873c168966b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1455d902_75b66785","updated":"2022-08-24 03:57:37.000000000","message":"recheck https://review.opendev.org/c/openstack/nova/+/854132 ise now merged","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ab31ec2992b089c893681ae957bc5ce9e5f21424","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ff19e223_9eedad6b","updated":"2022-08-24 08:28:59.000000000","message":"recheck missing ca-bundle.pem ?\n\n2022-08-24 04:24:56.951442 | compute1 |   \"msg\": \"Warning: Permanently added \u0027198.72.124.22\u0027 (ECDSA) to the list of known hosts.\\r\\nrsync: [sender] link_stat \\\"/var/lib/zuul/builds/b024e0a708664257afe076cc4a3fb400/work/ca-bundle.pem\\\" failed: No such file or directory (2)\\nrsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender\u003d3.2.3]\\n\",","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d94fe3e39e6ee17f54597cec2055a451125740cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"769e054e_e4fd179d","updated":"2022-08-23 09:21:29.000000000","message":"recheck timeout","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"}],"doc/source/admin/vdpa.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":4,"context_line":".. versionadded:: 23.0.0 (Wallaby)"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"   Introduced support for vDPA."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. important::"},{"line_number":9,"context_line":"   The functionality described below is only supported by the"},{"line_number":10,"context_line":"   libvirt/KVM virt driver."}],"source_content_type":"text/x-rst","patch_set":6,"id":"4bbcf56c_ff65696c","line":7,"updated":"2022-08-19 11:45:20.000000000","message":"nit:\n\n  .. versionchanged:: 26.0.0 (Zed)\n\n     Added support for most instance move operations (except live migration),\n     the instance suspend/resume operations, and the interface attach/detach\n     operations.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":4,"context_line":".. versionadded:: 23.0.0 (Wallaby)"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"   Introduced support for vDPA."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. important::"},{"line_number":9,"context_line":"   The functionality described below is only supported by the"},{"line_number":10,"context_line":"   libvirt/KVM virt driver."}],"source_content_type":"text/x-rst","patch_set":6,"id":"d73cdcf6_4ea1b1f0","line":7,"in_reply_to":"4bbcf56c_ff65696c","updated":"2022-08-22 12:45:48.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":83,"context_line":"25.x.y: (planned) api block removal backported to stable/Yoga"},{"line_number":84,"context_line":"24.x.y: (planned) api block removal backported to stable/Xena"},{"line_number":85,"context_line":"23.x.y: (planned) api block removal backported to stable/wallaby"},{"line_number":86,"context_line":"26.0.0: support for vdpa interface attach/detach is introduced."},{"line_number":87,"context_line":"26.0.0: (in progress)  suspend/resume and hot plug live migration"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dd523330_0a3a826d","line":86,"updated":"2022-08-19 11:45:20.000000000","message":"Can you use the \u0027versionchanged\u0027 directive instead? See above.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":83,"context_line":"25.x.y: (planned) api block removal backported to stable/Yoga"},{"line_number":84,"context_line":"24.x.y: (planned) api block removal backported to stable/Xena"},{"line_number":85,"context_line":"23.x.y: (planned) api block removal backported to stable/wallaby"},{"line_number":86,"context_line":"26.0.0: support for vdpa interface attach/detach is introduced."},{"line_number":87,"context_line":"26.0.0: (in progress)  suspend/resume and hot plug live migration"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2cc037ed_52f54542","line":86,"in_reply_to":"dd523330_0a3a826d","updated":"2022-08-22 12:45:48.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"087a9cd070216b19f8517c063f658d04950869fa","unresolved":true,"context_lines":[{"line_number":68,"context_line":"vDPA lifecycle operations"},{"line_number":69,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"To boot a VM with vDPA ports they must first be created in neutron."},{"line_number":72,"context_line":"To do this the normal SR-IOV workflow is used where by the port is first created"},{"line_number":73,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"74fc5aed_def5cc33","line":71,"range":{"start_line":71,"start_character":7,"end_line":71,"end_character":12},"updated":"2022-08-22 17:03:10.000000000","message":"an instance","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"087a9cd070216b19f8517c063f658d04950869fa","unresolved":true,"context_lines":[{"line_number":68,"context_line":"vDPA lifecycle operations"},{"line_number":69,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"To boot a VM with vDPA ports they must first be created in neutron."},{"line_number":72,"context_line":"To do this the normal SR-IOV workflow is used where by the port is first created"},{"line_number":73,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"c44813e8_8ff75d36","line":71,"range":{"start_line":71,"start_character":29,"end_line":71,"end_character":33},"updated":"2022-08-22 17:03:10.000000000","message":"the ports","commit_id":"6f1c7ab2e704e057055e3c80370c33abcc502787"}],"nova/tests/functional/libvirt/test_pci_sriov_servers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":true,"context_lines":[{"line_number":1277,"context_line":"        self._detach_interface(server, vdpa_port[\u0027id\u0027])"},{"line_number":1278,"context_line":"        # ensure the port is no longer owned by the vm"},{"line_number":1279,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1280,"context_line":"        self.assertEqual(\u0027\u0027, port[\u0027device_id\u0027])"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"    def test_shelve_offload(self):"},{"line_number":1283,"context_line":"        hostname \u003d self.start_vdpa_compute()"}],"source_content_type":"text/x-python","patch_set":6,"id":"e741ca4a_dca206e4","line":1280,"updated":"2022-08-19 10:44:02.000000000","message":"we could assert that the binding:profile is also cleaned up","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":1277,"context_line":"        self._detach_interface(server, vdpa_port[\u0027id\u0027])"},{"line_number":1278,"context_line":"        # ensure the port is no longer owned by the vm"},{"line_number":1279,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1280,"context_line":"        self.assertEqual(\u0027\u0027, port[\u0027device_id\u0027])"},{"line_number":1281,"context_line":""},{"line_number":1282,"context_line":"    def test_shelve_offload(self):"},{"line_number":1283,"context_line":"        hostname \u003d self.start_vdpa_compute()"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff259dbb_301b42b4","line":1280,"in_reply_to":"e741ca4a_dca206e4","updated":"2022-08-22 12:45:48.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}],"nova/virt/libvirt/designer.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":163,"context_line":"    # This should not happen in real code but can happen in tests"},{"line_number":164,"context_line":"    # due to incomplete mocks/fixtures so just assert on it to catch"},{"line_number":165,"context_line":"    # new cases where this is regressed."},{"line_number":166,"context_line":"    assert dev_path not in (None, \u0027\u0027), ("},{"line_number":167,"context_line":"        \"dev_path is required to be a non empty path \""},{"line_number":168,"context_line":"        f\"called with: {dev_path}\""},{"line_number":169,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"c1b7610d_e6a5f0aa","line":166,"updated":"2022-08-19 11:45:20.000000000","message":"We don\u0027t usually use asserts in production code since they can be disabled by enabling optimization. It might make more sense to raise an explicit exception here?\n\nhttps://stackoverflow.com/questions/4777113/what-does-python-optimization-o-or-pythonoptimize-do","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":true,"context_lines":[{"line_number":163,"context_line":"    # This should not happen in real code but can happen in tests"},{"line_number":164,"context_line":"    # due to incomplete mocks/fixtures so just assert on it to catch"},{"line_number":165,"context_line":"    # new cases where this is regressed."},{"line_number":166,"context_line":"    assert dev_path not in (None, \u0027\u0027), ("},{"line_number":167,"context_line":"        \"dev_path is required to be a non empty path \""},{"line_number":168,"context_line":"        f\"called with: {dev_path}\""},{"line_number":169,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"254b3838_b45c1663","line":166,"in_reply_to":"c1b7610d_e6a5f0aa","updated":"2022-08-22 12:45:48.000000000","message":"we discussed this on irc.\n\nthe fact that they are disabeld in production code was why i chose to keep my debugging test in the patch as i explictly did not want to intoduce a runtime check that raiased an expction.\n\nwe agreed to just remove them instead.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    # due to incomplete mocks/fixtures so just assert on it to catch"},{"line_number":165,"context_line":"    # new cases where this is regressed."},{"line_number":166,"context_line":"    assert dev_path not in (None, \u0027\u0027), ("},{"line_number":167,"context_line":"        \"dev_path is required to be a non empty path \""},{"line_number":168,"context_line":"        f\"called with: {dev_path}\""},{"line_number":169,"context_line":"    )"},{"line_number":170,"context_line":"    conf.net_type \u003d \"vdpa\""}],"source_content_type":"text/x-python","patch_set":6,"id":"8f32de0b_71c060f0","line":167,"updated":"2022-08-19 11:45:20.000000000","message":"nit: flake8 will let you mark this with an f-string prefix just so things align up","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"433ce58735d79260a1a62645bc2160aae86c8385","unresolved":true,"context_lines":[{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if cfg:"},{"line_number":257,"context_line":"            LOG.debug(f\u0027looking for interface given config:\\n{cfg}\u0027)"},{"line_number":258,"context_line":"            interfaces \u003d self.get_all_devices("},{"line_number":259,"context_line":"                type(cfg), from_persistent_config)"},{"line_number":260,"context_line":"            if not interfaces:"}],"source_content_type":"text/x-python","patch_set":4,"id":"0bfafe20_e8f6780a","line":257,"range":{"start_line":257,"start_character":12,"end_line":257,"end_character":68},"updated":"2022-08-17 10:26:19.000000000","message":"this is causing the unit test failure.\nits only one test i think so ill just fix that test to pass a valid object.","commit_id":"daebea0dff4f36a5785be6ca9c75a01b882bacfb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":true,"context_lines":[{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if cfg:"},{"line_number":257,"context_line":"            LOG.debug(f\u0027looking for interface given config:\\n{cfg}\u0027)"},{"line_number":258,"context_line":"            interfaces \u003d self.get_all_devices("},{"line_number":259,"context_line":"                type(cfg), from_persistent_config)"},{"line_number":260,"context_line":"            if not interfaces:"}],"source_content_type":"text/x-python","patch_set":4,"id":"476f907d_645ce56c","line":257,"range":{"start_line":257,"start_character":12,"end_line":257,"end_character":68},"in_reply_to":"0bfafe20_e8f6780a","updated":"2022-08-19 10:44:02.000000000","message":"cfg is not pretty printed now. so either \\n is unnecessary or we should format cfg to be multiline","commit_id":"daebea0dff4f36a5785be6ca9c75a01b882bacfb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if cfg:"},{"line_number":257,"context_line":"            LOG.debug(f\u0027looking for interface given config:\\n{cfg}\u0027)"},{"line_number":258,"context_line":"            interfaces \u003d self.get_all_devices("},{"line_number":259,"context_line":"                type(cfg), from_persistent_config)"},{"line_number":260,"context_line":"            if not interfaces:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6dfc22cc_2ea3d8bc","line":257,"range":{"start_line":257,"start_character":12,"end_line":257,"end_character":68},"in_reply_to":"476f907d_645ce56c","updated":"2022-08-22 12:45:48.000000000","message":"pretty printing the cfg i think woudl be nice but for now ill just\ndrop the \\n and we can conisder adding pretty printed repr functions to these some other time.","commit_id":"daebea0dff4f36a5785be6ca9c75a01b882bacfb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f12d07fe3cc953a5d31280fee9e8f966b32020c","unresolved":true,"context_lines":[{"line_number":274,"context_line":"                if cfg \u003d\u003d interface:"},{"line_number":275,"context_line":"                    return interface"},{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                 LOG.debug("},{"line_number":278,"context_line":"                     f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                     f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                 )"},{"line_number":281,"context_line":"        return None"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def get_vcpus_info(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"a6cb29f6_145d3799","line":280,"range":{"start_line":277,"start_character":16,"end_line":280,"end_character":18},"updated":"2022-08-17 10:28:31.000000000","message":"this is indented 1 space too many causing the pep8 issue","commit_id":"daebea0dff4f36a5785be6ca9c75a01b882bacfb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                if cfg \u003d\u003d interface:"},{"line_number":275,"context_line":"                    return interface"},{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                 LOG.debug("},{"line_number":278,"context_line":"                     f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                     f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                 )"},{"line_number":281,"context_line":"        return None"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def get_vcpus_info(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9712ea4b_4103eaab","line":280,"range":{"start_line":277,"start_character":16,"end_line":280,"end_character":18},"in_reply_to":"a6cb29f6_145d3799","updated":"2022-08-22 12:45:48.000000000","message":"Done","commit_id":"daebea0dff4f36a5785be6ca9c75a01b882bacfb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":true,"context_lines":[{"line_number":275,"context_line":"                    return interface"},{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                LOG.debug("},{"line_number":278,"context_line":"                    f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                    f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                )"},{"line_number":281,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":6,"id":"0efeba6a_1c31ea50","line":278,"range":{"start_line":278,"start_character":45,"end_line":278,"end_character":51},"updated":"2022-08-19 10:44:02.000000000","message":"ditto","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                    return interface"},{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                LOG.debug("},{"line_number":278,"context_line":"                    f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                    f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                )"},{"line_number":281,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":6,"id":"ee687353_f63591cd","line":278,"range":{"start_line":278,"start_character":45,"end_line":278,"end_character":51},"in_reply_to":"0efeba6a_1c31ea50","updated":"2022-08-22 12:45:48.000000000","message":"Done","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"68d3e4b714f621904ef4575c230f1753843102ad","unresolved":true,"context_lines":[{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                LOG.debug("},{"line_number":278,"context_line":"                    f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                    f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                )"},{"line_number":281,"context_line":"        return None"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"e0f2b992_782fb471","line":279,"range":{"start_line":279,"start_character":44,"end_line":279,"end_character":67},"updated":"2022-08-19 10:44:02.000000000","message":"1) this is pretty printed so \\n might help here\n2) but this make our logs pretty noisy.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":false,"context_lines":[{"line_number":276,"context_line":"            else:"},{"line_number":277,"context_line":"                LOG.debug("},{"line_number":278,"context_line":"                    f\u0027interface for config: {cfg}\\n\u0027"},{"line_number":279,"context_line":"                    f\u0027not found in domain: {self._domain.XMLDesc(0)}\u0027"},{"line_number":280,"context_line":"                )"},{"line_number":281,"context_line":"        return None"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"b408e475_2b9603c2","line":279,"range":{"start_line":279,"start_character":44,"end_line":279,"end_character":67},"in_reply_to":"e0f2b992_782fb471","updated":"2022-08-22 12:45:48.000000000","message":"this should normally not be printed\nexcept perhaps in negitive tests.\n\nin production i expect that this branch will not be taken.\n\nin test code if it is taken and its not a negitive test then it indicates an issue with our test setup.\n\nin general i donnt think the verbosity will cause an issue.\n\ni originally had this print {list(interfaces)} instead\nbut that failed for test that did not properly construct the interface objects so i went with the xml which shoudl always be printable.\n\nill add a note to track that this could be replace with {list(interfaces)} once that works for all tests.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":1550,"context_line":"        dev_path \u003d nodedev.vdpa_capability.dev_path"},{"line_number":1551,"context_line":"        assert dev_path not in (None, \u0027\u0027), ("},{"line_number":1552,"context_line":"            f\u0027dev_path must be set to a non-empty path. value: {dev_path}\u0027"},{"line_number":1553,"context_line":"        )"},{"line_number":1554,"context_line":"        return dev_path"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    def list_pci_devices(self, flags\u003d0):"}],"source_content_type":"text/x-python","patch_set":6,"id":"2037ad55_26417670","line":1553,"updated":"2022-08-19 11:45:20.000000000","message":"ditto (about using asserts)","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}],"tox.ini":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"21ffb15665f2c895e5bfadcbdf67c7c5c0a435b4","unresolved":true,"context_lines":[{"line_number":26,"context_line":"# NOTE(sean-k-mooney) optimization is enabled by default and when enabled"},{"line_number":27,"context_line":"# asserts are complied out. disable optimization to allow asserts in"},{"line_number":28,"context_line":"# nova to fire in unit and functional tests"},{"line_number":29,"context_line":"  PYTHONOPTIMIZE\u003d"},{"line_number":30,"context_line":"# TODO(stephenfin): Remove once we bump our upper-constraint to SQLAlchemy 2.0"},{"line_number":31,"context_line":"  SQLALCHEMY_WARN_20\u003d1"},{"line_number":32,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":6,"id":"7b7f80e4_441bebb0","line":29,"updated":"2022-08-19 11:45:20.000000000","message":"or just don\u0027t use asserts in production code 😇","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cc144e6cb1274d7b6939ce3f6c6532dfdc23a30","unresolved":true,"context_lines":[{"line_number":26,"context_line":"# NOTE(sean-k-mooney) optimization is enabled by default and when enabled"},{"line_number":27,"context_line":"# asserts are complied out. disable optimization to allow asserts in"},{"line_number":28,"context_line":"# nova to fire in unit and functional tests"},{"line_number":29,"context_line":"  PYTHONOPTIMIZE\u003d"},{"line_number":30,"context_line":"# TODO(stephenfin): Remove once we bump our upper-constraint to SQLAlchemy 2.0"},{"line_number":31,"context_line":"  SQLALCHEMY_WARN_20\u003d1"},{"line_number":32,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":6,"id":"5622573b_9bd18cfc","line":29,"in_reply_to":"6bd33c11_8da0c270","updated":"2022-08-22 14:21:17.000000000","message":"Yeah. I tend to agree with Sean here. I would like to use assert for preconditions that should not (even could not) happen in production but can happen in badly set up unit or functional test. But this does not worth to block the vdpa series. We can take this outside :)","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"795607794fe323390cf386dcf80186320db60739","unresolved":true,"context_lines":[{"line_number":26,"context_line":"# NOTE(sean-k-mooney) optimization is enabled by default and when enabled"},{"line_number":27,"context_line":"# asserts are complied out. disable optimization to allow asserts in"},{"line_number":28,"context_line":"# nova to fire in unit and functional tests"},{"line_number":29,"context_line":"  PYTHONOPTIMIZE\u003d"},{"line_number":30,"context_line":"# TODO(stephenfin): Remove once we bump our upper-constraint to SQLAlchemy 2.0"},{"line_number":31,"context_line":"  SQLALCHEMY_WARN_20\u003d1"},{"line_number":32,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":6,"id":"6bd33c11_8da0c270","line":29,"in_reply_to":"7b7f80e4_441bebb0","updated":"2022-08-22 12:45:48.000000000","message":"asserts exist separately form exceptions explicitly so that they can be optimized out at runtime.\n\nwe discussed this on irc im going to move this to passevn so that we can disable it if we want to on the command line when running tests locally.","commit_id":"81c6418deb28744474949d9c69beb615b49f9159"}]}
