)]}'
{".zuul.yaml":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f58bec993a3aec751f536c0ac8b2e67106e47a0b","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    parent: whitebox-multinode-devstack-base"},{"line_number":140,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":141,"context_line":"    description: |"},{"line_number":142,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"},{"line_number":143,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":144,"context_line":"      skipped in the test code itself."},{"line_number":145,"context_line":"      "},{"line_number":146,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"},{"line_number":147,"context_line":"      also enables the direct download of images via rbd into the local"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"e77e728a_336fe32c","line":144,"range":{"start_line":142,"start_character":0,"end_line":144,"end_character":38},"updated":"2021-04-20 19:11:24.000000000","message":"Do we really need to run everything given the only difference here is ceph?\n\nWould it be better to namespace the tests somehow and only run things that actually rely on ceph here?","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"464cafdd4642cc8dc958798a8545c2f994d89b16","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    parent: whitebox-multinode-devstack-base"},{"line_number":140,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":141,"context_line":"    description: |"},{"line_number":142,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"},{"line_number":143,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":144,"context_line":"      skipped in the test code itself."},{"line_number":145,"context_line":"      "},{"line_number":146,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"},{"line_number":147,"context_line":"      also enables the direct download of images via rbd into the local"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"edf3a05e_36b488eb","line":144,"range":{"start_line":142,"start_character":0,"end_line":144,"end_character":38},"in_reply_to":"e77e728a_336fe32c","updated":"2021-04-20 19:20:58.000000000","message":"Yeah afaik all the other tests are passing, so why namespace? didn\u0027t we need a ceph whitebox job, but this is using local ephemeral so..","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"d2dc36a46c29df02d8b4ff4660fdd804c23ba21f","unresolved":true,"context_lines":[{"line_number":142,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"},{"line_number":143,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":144,"context_line":"      skipped in the test code itself."},{"line_number":145,"context_line":"      "},{"line_number":146,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"},{"line_number":147,"context_line":"      also enables the direct download of images via rbd into the local"},{"line_number":148,"context_line":"      imagecache for Nova."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"b31808c7_1a8af99c","line":145,"range":{"start_line":145,"start_character":0,"end_line":145,"end_character":6},"updated":"2021-04-20 16:43:23.000000000","message":"will remove this whitespace","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f58bec993a3aec751f536c0ac8b2e67106e47a0b","unresolved":true,"context_lines":[{"line_number":164,"context_line":"            libvirt:"},{"line_number":165,"context_line":"              images_type: default"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- project:"},{"line_number":168,"context_line":"    templates:"},{"line_number":169,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":170,"context_line":"    check:"},{"line_number":171,"context_line":"        jobs:"},{"line_number":172,"context_line":"            - whitebox-multinode-devstack"},{"line_number":173,"context_line":"    gate:"},{"line_number":174,"context_line":"        jobs:"},{"line_number":175,"context_line":"            - whitebox-multinode-devstack"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5c6e2ba0_a4cb66f1","line":175,"range":{"start_line":167,"start_character":0,"end_line":175,"end_character":41},"updated":"2021-04-20 19:11:24.000000000","message":"You need to add it to a pipeline here, start with check while testing but I think this might want to live in an experimental queue eventually.","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"464cafdd4642cc8dc958798a8545c2f994d89b16","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            libvirt:"},{"line_number":165,"context_line":"              images_type: default"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- project:"},{"line_number":168,"context_line":"    templates:"},{"line_number":169,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":170,"context_line":"    check:"},{"line_number":171,"context_line":"        jobs:"},{"line_number":172,"context_line":"            - whitebox-multinode-devstack"},{"line_number":173,"context_line":"    gate:"},{"line_number":174,"context_line":"        jobs:"},{"line_number":175,"context_line":"            - whitebox-multinode-devstack"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2e0419b8_5f5704f0","line":175,"range":{"start_line":167,"start_character":0,"end_line":175,"end_character":41},"in_reply_to":"5c6e2ba0_a4cb66f1","updated":"2021-04-20 19:20:58.000000000","message":"Ack","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"d2d9f367cb2a33638476ec3a67beb7edbaf95510","unresolved":true,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- job:"},{"line_number":140,"context_line":"    name: whitebox-ceph-compute-local-ephemeral-devstack"},{"line_number":141,"context_line":"    parent: whitebox-multinode-devstack-base"},{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"58480584_0aee6d07","line":141,"updated":"2021-05-03 15:18:07.000000000","message":"As this is a multinode job, if it\u0027s not possible to inherit from devstack-plugin-ceph-multinode-tempest-py3, please at least copy its configuration (especially group-vars.subnode):\n\n\nhttps://opendev.org/openstack/devstack-plugin-ceph/src/commit/ce772c0047c43c5ebf8cf3488e78fb32b644790b/.zuul.yaml#L198","commit_id":"68e09383470869c0731fcdf0103798206438098a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"df0edfc63f12145c67c9aefb27b25c658e38df6e","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- job:"},{"line_number":140,"context_line":"    name: whitebox-ceph-compute-local-ephemeral-devstack"},{"line_number":141,"context_line":"    parent: whitebox-multinode-devstack-base"},{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"89dcf911_4a1e6767","line":141,"in_reply_to":"58480584_0aee6d07","updated":"2021-05-03 15:43:39.000000000","message":"Ack","commit_id":"68e09383470869c0731fcdf0103798206438098a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1c44f274df3d1fcef0358fe2f4077c77c5e9fb4f","unresolved":true,"context_lines":[{"line_number":173,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":174,"context_line":"    check:"},{"line_number":175,"context_line":"        jobs:"},{"line_number":176,"context_line":"            - whitebox-multinode-devstack"},{"line_number":177,"context_line":"            - whitebox-ceph-compute-local-ephemeral-devstack"},{"line_number":178,"context_line":"    gate:"},{"line_number":179,"context_line":"        jobs:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"e31d8c58_654a52b8","line":176,"updated":"2021-05-03 14:57:15.000000000","message":"While this is WIP could you just comment out the devstack job to avoid wasting gate resources?","commit_id":"68e09383470869c0731fcdf0103798206438098a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"df0edfc63f12145c67c9aefb27b25c658e38df6e","unresolved":true,"context_lines":[{"line_number":173,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":174,"context_line":"    check:"},{"line_number":175,"context_line":"        jobs:"},{"line_number":176,"context_line":"            - whitebox-multinode-devstack"},{"line_number":177,"context_line":"            - whitebox-ceph-compute-local-ephemeral-devstack"},{"line_number":178,"context_line":"    gate:"},{"line_number":179,"context_line":"        jobs:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"21eca5aa_c038b0b1","line":176,"in_reply_to":"e31d8c58_654a52b8","updated":"2021-05-03 15:43:39.000000000","message":"ah yes!","commit_id":"68e09383470869c0731fcdf0103798206438098a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":141,"context_line":"    parent: whitebox-devstack-multinode-base"},{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"},{"line_number":145,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":146,"context_line":"      skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"72373998_2d9da75f","line":145,"range":{"start_line":144,"start_character":0,"end_line":145,"end_character":26},"updated":"2021-09-13 13:52:02.000000000","message":"I think it should but at the moment your regex is just against the test_rbd_direct_download test.","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    parent: whitebox-devstack-multinode-base"},{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs with"},{"line_number":145,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":146,"context_line":"      skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"e699e3ec_74e0f131","line":145,"range":{"start_line":144,"start_character":0,"end_line":145,"end_character":26},"in_reply_to":"72373998_2d9da75f","updated":"2021-09-13 19:21:36.000000000","message":"Done","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":145,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":146,"context_line":"      skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"},{"line_number":149,"context_line":"      also enables the direct download of images via rbd into the local"},{"line_number":150,"context_line":"      imagecache for Nova."},{"line_number":151,"context_line":"    required-projects:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"ae8e4745_f1f1e7f1","line":148,"range":{"start_line":148,"start_character":6,"end_line":148,"end_character":71},"updated":"2021-09-13 13:52:02.000000000","message":"Might be easier to say it uses the default qcow2 file based imagebackend for ephemeral storage.","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":false,"context_lines":[{"line_number":145,"context_line":"      ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA node are"},{"line_number":146,"context_line":"      skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      This job does not configure Nova to use rbd for ephemeral storage. It"},{"line_number":149,"context_line":"      also enables the direct download of images via rbd into the local"},{"line_number":150,"context_line":"      imagecache for Nova."},{"line_number":151,"context_line":"    required-projects:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"fe3bd381_0a3790c2","line":148,"range":{"start_line":148,"start_character":6,"end_line":148,"end_character":71},"in_reply_to":"ae8e4745_f1f1e7f1","updated":"2021-09-13 19:21:36.000000000","message":"Done","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":153,"context_line":"    vars:"},{"line_number":154,"context_line":"      devstack_plugins:"},{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"bc317a1a_a0bdadc6","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":89},"updated":"2021-09-13 13:52:02.000000000","message":"As above.","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    vars:"},{"line_number":154,"context_line":"      devstack_plugins:"},{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"28d72c1d_5d75dd4a","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":89},"in_reply_to":"bc317a1a_a0bdadc6","updated":"2021-09-13 19:21:36.000000000","message":"Done","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""},{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"d451ba94_c56ee6a3","line":158,"range":{"start_line":158,"start_character":1,"end_line":158,"end_character":53},"updated":"2021-09-13 13:52:02.000000000","message":"Already in whitebox-devstack-multinode-base right?","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""},{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"c37583eb_3a51bf6e","line":158,"range":{"start_line":158,"start_character":1,"end_line":158,"end_character":53},"in_reply_to":"d451ba94_c56ee6a3","updated":"2021-09-13 19:21:36.000000000","message":"Yes, right. Removed","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""},{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"},{"line_number":162,"context_line":"        post-config:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"9f7f6100_2ebc468e","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":31},"updated":"2021-09-13 13:52:02.000000000","message":"This should be the default in the plugin already.\n\nI1b31ef9dd13e1d56284f8d9f8be03e3fee0eb0a7","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":true,"context_lines":[{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        WHITEBOX_CPU_TOPOLOGY: \"0: [0,1,2,3,4,5,6,7]\""},{"line_number":159,"context_line":"        CEPH_RELEASE: \"pacific\""},{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"},{"line_number":162,"context_line":"        post-config:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"db98e8a6_a9ded4fc","line":159,"range":{"start_line":159,"start_character":8,"end_line":159,"end_character":31},"in_reply_to":"9f7f6100_2ebc468e","updated":"2021-09-13 19:21:36.000000000","message":"Ack, Removed","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"},{"line_number":162,"context_line":"        post-config:"},{"line_number":163,"context_line":"          $NOVA_CONF:"},{"line_number":164,"context_line":"            glance:"},{"line_number":165,"context_line":"              enable_rbd_download: True"},{"line_number":166,"context_line":"              rbd_user: glance"},{"line_number":167,"context_line":"              rbd_ceph_conf: /etc/ceph/ceph.conf"},{"line_number":168,"context_line":"              rbd_pool: images"},{"line_number":169,"context_line":"            libvirt:"},{"line_number":170,"context_line":"              images_type: default"},{"line_number":171,"context_line":"          $NOVA_CPU_CONF:"},{"line_number":172,"context_line":"            glance:"},{"line_number":173,"context_line":"              enable_rbd_download: True"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"504f4f95_f6c29167","line":170,"range":{"start_line":163,"start_character":0,"end_line":170,"end_character":34},"updated":"2021-09-13 13:52:02.000000000","message":"I forget if this is actually required, did you copy this from somewhere?","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":161,"context_line":"      devstack_local_conf:"},{"line_number":162,"context_line":"        post-config:"},{"line_number":163,"context_line":"          $NOVA_CONF:"},{"line_number":164,"context_line":"            glance:"},{"line_number":165,"context_line":"              enable_rbd_download: True"},{"line_number":166,"context_line":"              rbd_user: glance"},{"line_number":167,"context_line":"              rbd_ceph_conf: /etc/ceph/ceph.conf"},{"line_number":168,"context_line":"              rbd_pool: images"},{"line_number":169,"context_line":"            libvirt:"},{"line_number":170,"context_line":"              images_type: default"},{"line_number":171,"context_line":"          $NOVA_CPU_CONF:"},{"line_number":172,"context_line":"            glance:"},{"line_number":173,"context_line":"              enable_rbd_download: True"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"cdec40d7_03118907","line":170,"range":{"start_line":163,"start_character":0,"end_line":170,"end_character":34},"in_reply_to":"504f4f95_f6c29167","updated":"2021-09-13 19:21:36.000000000","message":"Got it from https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/748212/7/.zuul.yaml#128","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":183,"context_line":"          CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":184,"context_line":"        devstack_local_conf:"},{"line_number":185,"context_line":"          post-config:"},{"line_number":186,"context_line":"            $NOVA_CONF:"},{"line_number":187,"context_line":"              glance:"},{"line_number":188,"context_line":"                enable_rbd_download: True"},{"line_number":189,"context_line":"                rbd_user: glance"},{"line_number":190,"context_line":"                rbd_ceph_conf: /etc/ceph/ceph.conf"},{"line_number":191,"context_line":"                rbd_pool: images"},{"line_number":192,"context_line":"              libvirt:"},{"line_number":193,"context_line":"                images_type: default"},{"line_number":194,"context_line":"            $NOVA_CPU_CONF:"},{"line_number":195,"context_line":"              glance:"},{"line_number":196,"context_line":"                enable_rbd_download: True"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"a3cc49ba_05df7fdc","line":193,"range":{"start_line":186,"start_character":0,"end_line":193,"end_character":36},"updated":"2021-09-13 13:52:02.000000000","message":"As above.","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs test_rbd_direct_download test on single-NUMA, non-SMT, nested virt"},{"line_number":145,"context_line":"      VMs with ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA"},{"line_number":146,"context_line":"      node are skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      The job uses the default qcow2 file based imagebackend for ephemeral"},{"line_number":149,"context_line":"      storage. It also enables the direct download of images via rbd into"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"e9a17f16_4adb9322","line":146,"range":{"start_line":145,"start_character":36,"end_line":146,"end_character":47},"updated":"2021-09-14 09:04:40.000000000","message":"Sorry I missed this, you can also drop it here.","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    nodeset: nested-virt-multinode"},{"line_number":143,"context_line":"    description: |"},{"line_number":144,"context_line":"      Runs test_rbd_direct_download test on single-NUMA, non-SMT, nested virt"},{"line_number":145,"context_line":"      VMs with ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA"},{"line_number":146,"context_line":"      node are skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      The job uses the default qcow2 file based imagebackend for ephemeral"},{"line_number":149,"context_line":"      storage. It also enables the direct download of images via rbd into"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"b72e2778_007417f4","line":146,"range":{"start_line":145,"start_character":36,"end_line":146,"end_character":47},"in_reply_to":"e9a17f16_4adb9322","updated":"2021-09-14 14:10:41.000000000","message":"Done","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":false,"context_lines":[{"line_number":145,"context_line":"      VMs with ceph plugin enabled. Tests that need SMT and/or more than 1 NUMA"},{"line_number":146,"context_line":"      node are skipped in the test code itself."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      The job uses the default qcow2 file based imagebackend for ephemeral"},{"line_number":149,"context_line":"      storage. It also enables the direct download of images via rbd into"},{"line_number":150,"context_line":"      the local imagecache for Nova."},{"line_number":151,"context_line":"    required-projects:"},{"line_number":152,"context_line":"        - openstack/devstack-plugin-ceph"},{"line_number":153,"context_line":"    vars:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"bdf88b5d_c1accd20","line":150,"range":{"start_line":148,"start_character":0,"end_line":150,"end_character":36},"updated":"2021-09-14 09:04:40.000000000","message":"✔","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":154,"context_line":"      devstack_plugins:"},{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":159,"context_line":"      devstack_local_conf:"},{"line_number":160,"context_line":"        post-config:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"aa517208_84c63fff","line":157,"range":{"start_line":157,"start_character":6,"end_line":157,"end_character":22},"updated":"2021-09-14 09:04:40.000000000","message":"re the compute features toggle, set it here:\n\nCOMPUTE_FEATURE_RBD_DOWNLOAD: True","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":false,"context_lines":[{"line_number":154,"context_line":"      devstack_plugins:"},{"line_number":155,"context_line":"        devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph"},{"line_number":156,"context_line":"      tempest_test_regex: \u0027^whitebox_tempest_plugin.api.compute.test_rbd_direct_download\u0027"},{"line_number":157,"context_line":"      devstack_localrc:"},{"line_number":158,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":159,"context_line":"      devstack_local_conf:"},{"line_number":160,"context_line":"        post-config:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"ed79a114_0511d238","line":157,"range":{"start_line":157,"start_character":6,"end_line":157,"end_character":22},"in_reply_to":"aa517208_84c63fff","updated":"2021-09-14 14:10:41.000000000","message":"Done","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        #- whitebox-devstack-multinode"},{"line_number":207,"context_line":"        #- whitebox-devstack-multinode-cpupinning"},{"line_number":208,"context_line":"        #- whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":209,"context_line":"        - whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":210,"context_line":"    #gate:"},{"line_number":211,"context_line":"    #  jobs:"},{"line_number":212,"context_line":"        #- whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9a799dea_03cc4b0f","line":209,"range":{"start_line":209,"start_character":10,"end_line":209,"end_character":56},"updated":"2021-09-14 09:04:40.000000000","message":"I\u0027m not sure if it\u0027s worth running this on every change in the check and gate queues. \n\nWe can either limit it to changes to the actual test file or move it into an experimental queue that we can optionally run from time to time.\n\nEventually are there any plans to have some of these jobs triggered by Nova\u0027s check queue for libvirt driver changes etc?","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        #- whitebox-devstack-multinode"},{"line_number":207,"context_line":"        #- whitebox-devstack-multinode-cpupinning"},{"line_number":208,"context_line":"        #- whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":209,"context_line":"        - whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":210,"context_line":"    #gate:"},{"line_number":211,"context_line":"    #  jobs:"},{"line_number":212,"context_line":"        #- whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"c56ad9bd_a1b3a52c","line":209,"range":{"start_line":209,"start_character":10,"end_line":209,"end_character":56},"in_reply_to":"9a799dea_03cc4b0f","updated":"2021-09-14 14:10:41.000000000","message":"Yes, there are plans but for now we can keep it separate from check and gate queues. For now ill keep this to test and once we get a +1 and are ready to merge, ill submit a fixing change","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8bab2a00a92cb33a6dda8ae91cfa6e4e0f7a1ec6","unresolved":true,"context_lines":[{"line_number":207,"context_line":"        - whitebox-devstack-multinode-cpupinning"},{"line_number":208,"context_line":"        - whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":209,"context_line":"        # TODO(amodi): Add below job to another queue"},{"line_number":210,"context_line":"        #- whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":211,"context_line":"    gate:"},{"line_number":212,"context_line":"      jobs:"},{"line_number":213,"context_line":"        - whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"a26169be_d36860e1","line":210,"updated":"2021-09-22 19:35:35.000000000","message":"Don\u0027t forget to uncomment this.","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"3162d92da577c1b04da1254cee861fdeea34a1a8","unresolved":true,"context_lines":[{"line_number":207,"context_line":"        - whitebox-devstack-multinode-cpupinning"},{"line_number":208,"context_line":"        - whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":209,"context_line":"        # TODO(amodi): Add below job to another queue"},{"line_number":210,"context_line":"        #- whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":211,"context_line":"    gate:"},{"line_number":212,"context_line":"      jobs:"},{"line_number":213,"context_line":"        - whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"3c8bc885_5112058c","line":210,"in_reply_to":"a26169be_d36860e1","updated":"2021-09-22 20:25:26.000000000","message":"This isn\u0027t ready to be added to check or gate queue yet, the TODO and comment is there to move it to another queue in future","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"351a349ea1c15ba0e1c83767783839de92f9fd7a","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":159,"context_line":"      devstack_local_conf:"},{"line_number":160,"context_line":"        post-config:"},{"line_number":161,"context_line":"          $NOVA_CONF:"},{"line_number":162,"context_line":"            glance:"},{"line_number":163,"context_line":"              enable_rbd_download: True"},{"line_number":164,"context_line":"              rbd_user: glance"},{"line_number":165,"context_line":"              rbd_ceph_conf: /etc/ceph/ceph.conf"},{"line_number":166,"context_line":"              rbd_pool: images"},{"line_number":167,"context_line":"            libvirt:"},{"line_number":168,"context_line":"              images_type: default"},{"line_number":169,"context_line":"          $NOVA_CPU_CONF:"},{"line_number":170,"context_line":"            glance:"},{"line_number":171,"context_line":"              enable_rbd_download: True"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3a2834ca_1306ce12","line":168,"range":{"start_line":161,"start_character":0,"end_line":168,"end_character":34},"updated":"2021-09-27 16:22:18.000000000","message":"nit - didn\u0027t we say this wasn\u0027t needed outside of the compute config below?","commit_id":"8977dcc18519e8610cbe4eba87cc118055db41ec"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"e0c4420484056f8a546f9c272439c8ceb96fa17e","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        CINDER_CEPH_UUID: d531d2d4-3937-429c-b0c2-658fe41e82ab"},{"line_number":159,"context_line":"      devstack_local_conf:"},{"line_number":160,"context_line":"        post-config:"},{"line_number":161,"context_line":"          $NOVA_CONF:"},{"line_number":162,"context_line":"            glance:"},{"line_number":163,"context_line":"              enable_rbd_download: True"},{"line_number":164,"context_line":"              rbd_user: glance"},{"line_number":165,"context_line":"              rbd_ceph_conf: /etc/ceph/ceph.conf"},{"line_number":166,"context_line":"              rbd_pool: images"},{"line_number":167,"context_line":"            libvirt:"},{"line_number":168,"context_line":"              images_type: default"},{"line_number":169,"context_line":"          $NOVA_CPU_CONF:"},{"line_number":170,"context_line":"            glance:"},{"line_number":171,"context_line":"              enable_rbd_download: True"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"f55fb3b8_069c1891","line":168,"range":{"start_line":161,"start_character":0,"end_line":168,"end_character":34},"in_reply_to":"3a2834ca_1306ce12","updated":"2021-09-27 16:32:08.000000000","message":"in PS #24 u do mention this section but nothing about removing it, is removing it going to still pass the job? i can try it now","commit_id":"8977dcc18519e8610cbe4eba87cc118055db41ec"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"9341fca3899d409fe4520e8ffea7a67ae480db1f","unresolved":true,"context_lines":[{"line_number":193,"context_line":"        - whitebox-devstack-multinode-cpupinning"},{"line_number":194,"context_line":"        - whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":195,"context_line":"        # TODO(amodi): Add below job to another queue"},{"line_number":196,"context_line":"        # - whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":197,"context_line":"    gate:"},{"line_number":198,"context_line":"      jobs:"},{"line_number":199,"context_line":"        - whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"0d0e3c81_b7d82421","line":196,"updated":"2021-10-01 14:47:18.000000000","message":"Add this to check and gate please, and make the TODO about adding perdiodic.","commit_id":"28b562ba0d4a545b759b73b18ef4aed8cb475371"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"28a43da2b70061f433e6d6e23222c609380e1475","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        - whitebox-devstack-multinode-cpupinning"},{"line_number":194,"context_line":"        - whitebox-devstack-multinode-cpupinninglegacy"},{"line_number":195,"context_line":"        # TODO(amodi): Add below job to another queue"},{"line_number":196,"context_line":"        # - whitebox-devstack-ceph-compute-local-ephemeral"},{"line_number":197,"context_line":"    gate:"},{"line_number":198,"context_line":"      jobs:"},{"line_number":199,"context_line":"        - whitebox-devstack-multinode"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"2f80dece_e18eb448","line":196,"in_reply_to":"0d0e3c81_b7d82421","updated":"2021-10-01 15:33:50.000000000","message":"Ack","commit_id":"28b562ba0d4a545b759b73b18ef4aed8cb475371"}],"/COMMIT_MSG":[{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"2b8ceef155b939ae229e284c148d0bbe8efc9d93","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Archit Modi \u003camodi@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-05-20 20:57:22 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Rbd direct download test"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tests based on the below shown related upstream RFE. This tests glance images"},{"line_number":10,"context_line":"are downloaded directly into the libvirt image cache via RBD and checks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"d237016e_c3e6fbf9","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"updated":"2021-05-20 21:02:17.000000000","message":"RBD","commit_id":"87d4f9f817e210c3d3cdc531bf88a6cc32edd3c5"}],"devstack/settings":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b54603363c6dbaab11746efb8e6f3334d2c8e236","unresolved":true,"context_lines":[{"line_number":8,"context_line":"WHITEBOX_NOVA_COMPUTE_CONFIG_PATH\u003d${WHITEBOX_NOVA_COMPUTE_CONFIG_PATH:-/etc/nova/nova-cpu.conf}"},{"line_number":9,"context_line":"WHITEBOX_NOVA_COMPUTE_STOP_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_STOP_COMMAND:-\u0027systemctl stop devstack@n-cpu\u0027}"},{"line_number":10,"context_line":"WHITEBOX_NOVA_COMPUTE_START_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_START_COMMAND:-\u0027systemctl start devstack@n-cpu\u0027}"},{"line_number":11,"context_line":"WHITEBOX_NOVA_COMPUTE_EXECUTE_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_EXECUTE_COMMAND:-\"journalctl -u devstack@n-cpu -g \u0027Attempting to export RBD image[:] [[]pool_name: %s[]] [[]image_uuid: %s[]]\u0027\"}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"WHITEBOX_LIBVIRT_START_COMMAND\u003d${WHITEBOX_LIBVIRT_START_COMMAND:-\u0027systemctl start libvirtd\u0027}"},{"line_number":14,"context_line":"WHITEBOX_LIBVIRT_STOP_COMMAND\u003d${WHITEBOX_LIBVIRT_STOP_COMMAND:-\u0027systemctl stop libvirtd\u0027}"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"a55349c8_79e9d710","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":190},"updated":"2021-05-10 15:46:09.000000000","message":"Why is this in here?","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"12eafebe952565fae81e28d7b1dbcd21e4ab9e42","unresolved":true,"context_lines":[{"line_number":8,"context_line":"WHITEBOX_NOVA_COMPUTE_CONFIG_PATH\u003d${WHITEBOX_NOVA_COMPUTE_CONFIG_PATH:-/etc/nova/nova-cpu.conf}"},{"line_number":9,"context_line":"WHITEBOX_NOVA_COMPUTE_STOP_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_STOP_COMMAND:-\u0027systemctl stop devstack@n-cpu\u0027}"},{"line_number":10,"context_line":"WHITEBOX_NOVA_COMPUTE_START_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_START_COMMAND:-\u0027systemctl start devstack@n-cpu\u0027}"},{"line_number":11,"context_line":"WHITEBOX_NOVA_COMPUTE_EXECUTE_COMMAND\u003d${WHITEBOX_NOVA_COMPUTE_EXECUTE_COMMAND:-\"journalctl -u devstack@n-cpu -g \u0027Attempting to export RBD image[:] [[]pool_name: %s[]] [[]image_uuid: %s[]]\u0027\"}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"WHITEBOX_LIBVIRT_START_COMMAND\u003d${WHITEBOX_LIBVIRT_START_COMMAND:-\u0027systemctl start libvirtd\u0027}"},{"line_number":14,"context_line":"WHITEBOX_LIBVIRT_STOP_COMMAND\u003d${WHITEBOX_LIBVIRT_STOP_COMMAND:-\u0027systemctl stop libvirtd\u0027}"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"722c3c1a_d8e44e19","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":190},"in_reply_to":"a55349c8_79e9d710","updated":"2021-05-11 15:35:08.000000000","message":"Just wanted to get it working and passing first","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":17,"context_line":"WHITEBOX_CPU_TOPOLOGY\u003d${WHITEBOX_CPU_TOPOLOGY:-\u0027\u0027}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"COMPUTE_FEATURE_VIRTIO_RNG\u003d${COMPUTE_FEATURE_VIRTIO_RNG:-\u0027True\u0027}"},{"line_number":20,"context_line":"COMPUTE_FEATURE_RBD_DOWNLOAD\u003d${COMPUTE_FEATURE_RBD_DOWNLOAD:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":24,"id":"f520e586_811ea36d","line":20,"range":{"start_line":20,"start_character":62,"end_line":20,"end_character":66},"updated":"2021-09-13 13:52:02.000000000","message":"False?","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":true,"context_lines":[{"line_number":17,"context_line":"WHITEBOX_CPU_TOPOLOGY\u003d${WHITEBOX_CPU_TOPOLOGY:-\u0027\u0027}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"COMPUTE_FEATURE_VIRTIO_RNG\u003d${COMPUTE_FEATURE_VIRTIO_RNG:-\u0027True\u0027}"},{"line_number":20,"context_line":"COMPUTE_FEATURE_RBD_DOWNLOAD\u003d${COMPUTE_FEATURE_RBD_DOWNLOAD:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":24,"id":"f611445b_6c446ec0","line":20,"range":{"start_line":20,"start_character":62,"end_line":20,"end_character":66},"in_reply_to":"f520e586_811ea36d","updated":"2021-09-13 19:21:36.000000000","message":"Don\u0027t we need this True as a default for the zuul RBD job to run the test","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":17,"context_line":"WHITEBOX_CPU_TOPOLOGY\u003d${WHITEBOX_CPU_TOPOLOGY:-\u0027\u0027}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"COMPUTE_FEATURE_VIRTIO_RNG\u003d${COMPUTE_FEATURE_VIRTIO_RNG:-\u0027True\u0027}"},{"line_number":20,"context_line":"COMPUTE_FEATURE_RBD_DOWNLOAD\u003d${COMPUTE_FEATURE_RBD_DOWNLOAD:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":26,"id":"d86abed9_55e34d68","line":20,"range":{"start_line":20,"start_character":62,"end_line":20,"end_character":66},"updated":"2021-09-14 09:04:40.000000000","message":"False here but set to True in the zuul definition of the job, otherwise it\u0027s going to be True for every other job using this plugin.","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":false,"context_lines":[{"line_number":17,"context_line":"WHITEBOX_CPU_TOPOLOGY\u003d${WHITEBOX_CPU_TOPOLOGY:-\u0027\u0027}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"COMPUTE_FEATURE_VIRTIO_RNG\u003d${COMPUTE_FEATURE_VIRTIO_RNG:-\u0027True\u0027}"},{"line_number":20,"context_line":"COMPUTE_FEATURE_RBD_DOWNLOAD\u003d${COMPUTE_FEATURE_RBD_DOWNLOAD:-\u0027True\u0027}"}],"source_content_type":"application/octet-stream","patch_set":26,"id":"158c836a_efe6868c","line":20,"range":{"start_line":20,"start_character":62,"end_line":20,"end_character":66},"in_reply_to":"d86abed9_55e34d68","updated":"2021-09-14 14:10:41.000000000","message":"Done","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"}],"whitebox_tempest_plugin/api/compute/base.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"47c8063a6ce3ef45eb587baf10ed4cc42f5d74bb","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        xml \u003d virshxml.dumpxml(server_instance_name)"},{"line_number":127,"context_line":"        return ET.fromstring(xml)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_server_blockdevice_path(self, server_id, shell_cmd\u003dNone):"},{"line_number":130,"context_line":"        server \u003d self.servers_client.show_server(server_id)"},{"line_number":131,"context_line":"        host \u003d server[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":132,"context_line":"        cntrlplane_addr \u003d whitebox_utils.get_ctlplane_address(host)"}],"source_content_type":"text/x-python","patch_set":31,"id":"d56dfd32_43ede49b","line":129,"updated":"2021-09-24 14:23:05.000000000","message":"I\u0027m not a fan of passing the raw shell command. Could we not pass something like the device name (so \u0027vda\u0027 in this case), and this method would do the grep and awk? Or better yet, parse it in Python natively? Should be fairly easy to do...\n\n  blklist \u003d virshxml.domblklist(server_id, shell_cmd).splitlines()\n  for line in blklist:\n    if device_name in line:\n      target, source \u003d line.split() # This might\n  return source or None","commit_id":"4cee9be59e8bb788b818368a5f332d22da71ff06"}],"whitebox_tempest_plugin/api/compute/test_rbd_direct_download.py":[{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"d2dc36a46c29df02d8b4ff4660fdd804c23ba21f","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        cmd \u003d \"sh -c \\\"zgrep \u0027Attempting to export RBD image: \" \\"},{"line_number":50,"context_line":"              \"[pool_name: %s] [image_uuid: %s]\u0027 /var/log/nova/*\\\"\" \\"},{"line_number":51,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":52,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":53,"context_line":"        self.assertNotEqual("},{"line_number":54,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"},{"line_number":55,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"d9f05977_75a78d02","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":47},"updated":"2021-04-20 16:43:23.000000000","message":"sometimes, the host on which the instance has spun up, doesn\u0027t contain the logs \u0027Attempting to export RBD...\", need a better solution here","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f04e3e3eff9b4863191de4db1878159d00063779","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        cmd \u003d \"sh -c \\\"zgrep \u0027Attempting to export RBD image: \" \\"},{"line_number":50,"context_line":"              \"[pool_name: %s] [image_uuid: %s]\u0027 /var/log/nova/*\\\"\" \\"},{"line_number":51,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":52,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":53,"context_line":"        self.assertNotEqual("},{"line_number":54,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"},{"line_number":55,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"e04cf126_b995374a","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":47},"in_reply_to":"d9f05977_75a78d02","updated":"2021-04-20 16:44:34.000000000","message":"The comment should\u0027ve been for the above line","commit_id":"6f20fd30fac71d46538f0913719ba760b793a2f2"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"49b3d6287a6a110e5c0f46984a655584c652cddf","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":53,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":54,"context_line":"        cmd \u003d \"sh -c \\\"zgrep \u0027Attempting to export RBD image[:] \" \\"},{"line_number":55,"context_line":"              \"[[]pool_name: %s[]] [[]image_uuid: %s[]]\u0027 /var/log/nova/*\\\"\" \\"},{"line_number":56,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":57,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":58,"context_line":"        self.assertNotEqual("},{"line_number":59,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"4aa5d8af_da494c8f","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":49},"updated":"2021-04-28 12:04:42.000000000","message":"With devstack this would need to be journalctl, you might want to throw this logic in the base class.\n\n  cmd \u003d f\"journalctl -u devstack@n-cpu -g \u0027Attempting to export RBD image: [pool_name: {rbd_pool}] [image_uuid: {server[\u0027image\u0027][\u0027id\u0027]}]\u0027\"","commit_id":"d867642ca0a8039920f00dd6f1d83174292ef371"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"2a31a39752ef60dfc5490c274f33236bc1afd03a","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":53,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":54,"context_line":"        cmd \u003d \"sh -c \\\"zgrep \u0027Attempting to export RBD image[:] \" \\"},{"line_number":55,"context_line":"              \"[[]pool_name: %s[]] [[]image_uuid: %s[]]\u0027 /var/log/nova/*\\\"\" \\"},{"line_number":56,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":57,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":58,"context_line":"        self.assertNotEqual("},{"line_number":59,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"73390217_59f05604","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":49},"in_reply_to":"4aa5d8af_da494c8f","updated":"2021-04-28 20:35:05.000000000","message":"ack, just that i won\u0027t be using f strings since [1]- not implementing this for OSP 13 but better to keep it consistent throughout the plugin\n\n[1] https://review.opendev.org/c/openstack/whitebox-tempest-plugin/+/775321","commit_id":"d867642ca0a8039920f00dd6f1d83174292ef371"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"1d4af1ee7429e85f1f3be242029ade5fbfd767f6","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestRBDDirectDownload(base.BaseWhiteboxComputeTest):"},{"line_number":28,"context_line":"    \"\"\"Tests checking VirtIO Rng device in the"},{"line_number":29,"context_line":"       server XML"},{"line_number":30,"context_line":"    \"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def skip_checks(cls):"},{"line_number":34,"context_line":"        super(TestRBDDirectDownload, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":14,"id":"0150dc2b_18fab552","line":31,"range":{"start_line":28,"start_character":3,"end_line":31,"end_character":0},"updated":"2021-05-04 16:28:59.000000000","message":"will update this","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"1d4af1ee7429e85f1f3be242029ade5fbfd767f6","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":53,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":54,"context_line":"        cmd \u003d CONF.whitebox_nova_compute.execute_command % \\"},{"line_number":55,"context_line":"            (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":56,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":57,"context_line":"        self.assertNotEqual("}],"source_content_type":"text/x-python","patch_set":14,"id":"a471d498_f09151a9","line":54,"range":{"start_line":54,"start_character":14,"end_line":54,"end_character":56},"updated":"2021-05-04 16:28:59.000000000","message":"should i add a skip check above if this value is not defined?","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b54603363c6dbaab11746efb8e6f3334d2c8e236","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":53,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":54,"context_line":"        cmd \u003d CONF.whitebox_nova_compute.execute_command % \\"},{"line_number":55,"context_line":"            (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":56,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":57,"context_line":"        self.assertNotEqual("},{"line_number":58,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"},{"line_number":59,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":14,"id":"d44a9ed8_34c0cdf8","line":59,"range":{"start_line":54,"start_character":0,"end_line":59,"end_character":9},"updated":"2021-05-10 15:46:09.000000000","message":"Lets take a step back here, I\u0027ve asked that we assert that the image has been cached locally and assert that we can find something logged about this.\n\nObviously we\u0027d like that to be generic enough to run upstream and downstream so you\u0027re going to need a configurable to define how you search logs in both. journalctl upstream and zgrep downstream etc.","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"12eafebe952565fae81e28d7b1dbcd21e4ab9e42","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":53,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":54,"context_line":"        cmd \u003d CONF.whitebox_nova_compute.execute_command % \\"},{"line_number":55,"context_line":"            (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":56,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":57,"context_line":"        self.assertNotEqual("},{"line_number":58,"context_line":"            len(ssh_client.execute(cmd, container_name\u003d\u0027nova_compute\u0027)), 0"},{"line_number":59,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":14,"id":"280aed59_36e44f9a","line":59,"range":{"start_line":54,"start_character":0,"end_line":59,"end_character":9},"in_reply_to":"d44a9ed8_34c0cdf8","updated":"2021-05-11 15:35:08.000000000","message":"Yes i was waiting for someone to recommend this and not just implement it right away. So iiuc we need a log parser client which will run commands according to the deployment which will also be configurable","commit_id":"266cb3bcd1a09743bda4222f72ca8e23d91dc27d"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"2b8ceef155b939ae229e284c148d0bbe8efc9d93","unresolved":true,"context_lines":[{"line_number":50,"context_line":"                                             self.os_admin.services_client)"},{"line_number":51,"context_line":"        rbd_pool \u003d host_sm.get_conf_opt(\u0027glance\u0027, \u0027rbd_pool\u0027)"},{"line_number":52,"context_line":"        # Assert RBD direct download conf options"},{"line_number":53,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":54,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":55,"context_line":"        cmd \u003d r\u0027Attempting to export RBD image: \u0027 \\"},{"line_number":56,"context_line":"              r\u0027\\[pool_name: %s\\] \\[image_uuid: %s\\]\u0027 \\"}],"source_content_type":"text/x-python","patch_set":15,"id":"151f6bdb_f7bd6369","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":44},"updated":"2021-05-20 21:02:17.000000000","message":"can we assume this should be the value [glance]/rbd_pool\u003d\u0027images\u0027? or should i make this configurable","commit_id":"87d4f9f817e210c3d3cdc531bf88a6cc32edd3c5"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_rbd_logs_and_conf(self):"},{"line_number":41,"context_line":"        base_server \u003d self.create_test_server()"},{"line_number":42,"context_line":"        image \u003d self.create_image_from_server(base_server[\u0027id\u0027],"},{"line_number":43,"context_line":"                                              name\u003d\u0027base-server-img\u0027,"},{"line_number":44,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":45,"context_line":"        # Creating a server from above image should generate a new log"},{"line_number":46,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":47,"context_line":"                                         image_id\u003dimage[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"f8100c76_d63e0625","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":66},"updated":"2021-05-24 16:11:53.000000000","message":"nit - not a fan of overhangs like this, try something like:\n\n    image \u003d self.create_image_from_server(\n        base_server[\u0027id\u0027],\n        name\u003d\u0027base-server-img\u0027,                                            \n        wait_until\u003d\u0027ACTIVE\u0027\n    )","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_rbd_logs_and_conf(self):"},{"line_number":41,"context_line":"        base_server \u003d self.create_test_server()"},{"line_number":42,"context_line":"        image \u003d self.create_image_from_server(base_server[\u0027id\u0027],"},{"line_number":43,"context_line":"                                              name\u003d\u0027base-server-img\u0027,"},{"line_number":44,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":45,"context_line":"        # Creating a server from above image should generate a new log"},{"line_number":46,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":47,"context_line":"                                         image_id\u003dimage[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"b5e247fc_0c46e901","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":66},"in_reply_to":"f8100c76_d63e0625","updated":"2021-05-24 19:34:13.000000000","message":"Done","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        # Assert RBD direct download conf options"},{"line_number":53,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":54,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":55,"context_line":"        cmd \u003d r\u0027Attempting to export RBD image: \u0027 \\"},{"line_number":56,"context_line":"              r\u0027\\[pool_name: %s\\] \\[image_uuid: %s\\]\u0027 \\"},{"line_number":57,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":58,"context_line":"        host_ip \u003d get_ctlplane_address(host)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fedffa66_46589615","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":11},"updated":"2021-05-24 16:11:53.000000000","message":"log_query_string?","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        # Assert RBD direct download conf options"},{"line_number":53,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":54,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":55,"context_line":"        cmd \u003d r\u0027Attempting to export RBD image: \u0027 \\"},{"line_number":56,"context_line":"              r\u0027\\[pool_name: %s\\] \\[image_uuid: %s\\]\u0027 \\"},{"line_number":57,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":58,"context_line":"        host_ip \u003d get_ctlplane_address(host)"}],"source_content_type":"text/x-python","patch_set":19,"id":"d3e015c2_c8a67ec1","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":11},"in_reply_to":"fedffa66_46589615","updated":"2021-05-24 19:34:13.000000000","message":"Done","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        # Assert RBD direct download conf options"},{"line_number":53,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":54,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":55,"context_line":"        cmd \u003d r\u0027Attempting to export RBD image: \u0027 \\"},{"line_number":56,"context_line":"              r\u0027\\[pool_name: %s\\] \\[image_uuid: %s\\]\u0027 \\"},{"line_number":57,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":58,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":59,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":60,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":19,"id":"055a2a62_6bba5225","line":57,"range":{"start_line":55,"start_character":14,"end_line":57,"end_character":49},"updated":"2021-05-24 16:11:53.000000000","message":"f-strings ftw!\n\n    f\"Attempting to export RBD image: [pool_name: {rbd_pool}] [image_uuid {server[\u0027image\u0027][\u0027id\u0027]}]\"","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ec8ba30473bc812e20bb5d3bcdabd402b244c286","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        # Assert RBD direct download conf options"},{"line_number":53,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":54,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":55,"context_line":"        cmd \u003d r\u0027Attempting to export RBD image: \u0027 \\"},{"line_number":56,"context_line":"              r\u0027\\[pool_name: %s\\] \\[image_uuid: %s\\]\u0027 \\"},{"line_number":57,"context_line":"              % (rbd_pool, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":58,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":59,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":60,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":19,"id":"b6921a99_860faa05","line":57,"range":{"start_line":55,"start_character":14,"end_line":57,"end_character":49},"in_reply_to":"055a2a62_6bba5225","updated":"2021-05-24 20:19:03.000000000","message":"Added f string, but escaping square brackets looks a bit ugly, no?","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":19,"id":"4e471021_4e564277","line":64,"updated":"2021-05-24 16:11:53.000000000","message":"I\u0027ve also asked if we can assert that the image is present in the file cache but happy for that to be a TODO if you don\u0027t have the time at the moment.","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ec8ba30473bc812e20bb5d3bcdabd402b244c286","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":19,"id":"73d15670_25fe1bfa","line":64,"in_reply_to":"4e471021_4e564277","updated":"2021-05-24 20:19:03.000000000","message":"Ill take a look","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b455ad90acd4e464569491c052d1eeec7553f154","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a4aaf46_a4c4e772","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"updated":"2021-05-26 14:09:24.000000000","message":"This is still wrong, are you testing this somewhere before you submit?\n\n  python\n  Python 3.9.5 (default, May 14 2021, 00:00:00) \n  [..]\n  \u003e\u003e\u003e server \u003d {\u0027image\u0027: {\u0027id\u0027: \u0027foo\u0027}}\n  \u003e\u003e\u003e rbd_pool\u003d\u0027test\u0027\n  \u003e\u003e\u003e x \u003d f\"Attempting to export RBD image: \" \\\n  ...     f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\\n  ...     f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\"\n  \u003e\u003e\u003e x\n  \u0027Attempting to export RBD image: [[]pool_name: test[]] [[]image_uuid: foo[]]\u0027\n  \u003e\u003e\u003e x \u003d f\"Attempting to export RBD image: \" \\\n  ...     f\"[pool_name: {rbd_pool}] [image_uuid: \" \\\n  ...     f\"{server[\u0027image\u0027][\u0027id\u0027]}]\"\n  \u003e\u003e\u003e x\n  \u0027Attempting to export RBD image: [pool_name: test] [image_uuid: foo]\u0027\n\n\n  257     ¦   ¦   LOG.debug(\"Attempting to export RBD image: \"                        \n  258     ¦   ¦   ¦   ¦   ¦ \"[pool_name: %s] [image_uuid: %s] \"                       \n  259     ¦   ¦   ¦   ¦   ¦ \"[snapshot_name: %s] [dst_path: %s]\",                     \n  260     ¦   ¦   ¦   ¦   ¦ pool_name, image_uuid, snapshot_name, dst_path)  \n\nhttps://github.com/openstack/nova/blob/b0cd985f0c09088098f74cc0cb1df616cc0ef12b/nova/image/glance.py#L257-L260","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"977fa4c9c9af6abbd559bbba816b1159796bb8f8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"b91ead8c_e45a79a9","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"in_reply_to":"4507ccea_18aa19fb","updated":"2021-06-07 18:45:15.000000000","message":"Also, I cannot use escaping square brackets with f strings (can use r strings instead), pep8 give me the below error:\n\n./whitebox_tempest_plugin/api/compute/test_rbd_direct_download.py:58:15: W605 invalid escape sequence \u0027\\[\u0027\n            f\"\\[pool_name: {rbd_pool}\\] \\[image_uuid: \" \\\n              ^\n./whitebox_tempest_plugin/api/compute/test_rbd_direct_download.py:58:38: W605 invalid escape sequence \u0027\\]\u0027\n            f\"\\[pool_name: {rbd_pool}\\] \\[image_uuid: \" \\\n                                     ^\n./whitebox_tempest_plugin/api/compute/test_rbd_direct_download.py:58:41: W605 invalid escape sequence \u0027\\[\u0027\n            f\"\\[pool_name: {rbd_pool}\\] \\[image_uuid: \" \\\n                                        ^\n./whitebox_tempest_plugin/api/compute/test_rbd_direct_download.py:59:38: W605 invalid escape sequence \u0027\\]\u0027\n            f\"{server[\u0027image\u0027][\u0027id\u0027]}\\]\"\n                                     ^","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"c47420f440d9ce6ef1ec6a79f94c100bb44aa4ae","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"c4e34e49_323807ec","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"in_reply_to":"5a4aaf46_a4c4e772","updated":"2021-05-26 18:17:20.000000000","message":"It\u0027s not wrong, yes the test passes. We add the query string inside single quotes, so need to have this. The actual command is shown below:\n\nheat-admin@compute-1 ~]$ sudo podman exec -u root nova_compute sh -c \"zgrep \u0027Attempting to export RBD image: [[]pool_\nname: images[]] [[]image_uuid: 4c90424d-b22f-4eae-8083-2ac8fa1e88c0[]]\u0027 /var/log/nova/*\"\n\n/var/log/nova/nova-compute.log.12.gz:2021-05-20 20:18:14.469 7 DEBUG nova.image.glance [req-941fe4c6-2d60-4bff-9b70-c0dc0aaeb7ba 9fc1f0d181234faf90a763c217b5ff95 1a6d43131720402699b72840b23595c8 - default default] Attempting to export RBD image: [pool_name: images] [image_uuid: 4c90424d-b22f-4eae-8083-2ac8fa1e88c0] [snapshot_name: snap] [dst_path: /var/lib/nova/instances/_base/584d46836da1359a03b9c145eecaadaf738e5200.part] rbd_download /usr/lib/python3.6/site-packages/nova/image/glance.py:263","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"70df3a85ce9ebbd893d558f502a4b32a2d11f4e5","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"d6508cdd_099c2e83","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"in_reply_to":"b91ead8c_e45a79a9","updated":"2021-06-09 13:19:16.000000000","message":"Ah does `\\\\` work?","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3ae3502ddc87ed3d7f63f00a69bdbf2e692b65c4","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"4507ccea_18aa19fb","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"in_reply_to":"c4e34e49_323807ec","updated":"2021-05-27 09:38:03.000000000","message":"Ah right the bracket expressions get interpreted sorry, it\u0027s cleaner to just escape them in this case IMHO but I\u0027ll not -1 on this:\n\n    $ zgrep \u0027Attempting to export RBD image: [pool_name: images] [image_uuid: 4c90424d-b22f-4eae-8083-2ac8fa1e88c0]\u0027 test.log.gz \n/usr/bin/grep: Invalid range end\n\n\n    $ zgrep \u0027Attempting to export RBD image: \\[pool_name: images\\] \\[image_uuid: 4c90424d-b22f-4eae-8083-2ac8fa1e88c0\\]\u0027 test.log.gz \n2021-05-20 20:18:14.469 7 DEBUG nova.image.glance [req-941fe4c6-2d60-4bff-9b70-c0dc0aaeb7ba 9fc1f0d181234faf90a763c217b5ff95 1a6d43131720402699b72840b23595c8 - default default] Attempting to export RBD image: [pool_name: images] [image_uuid: 4c90424d-b22f-4eae-8083-2ac8fa1e88c0] [snapshot_name: snap] [dst_path: /var/lib/nova/instances/_base/584d46836da1359a03b9c145eecaadaf738e5200.part] rbd_download /usr/lib/python3.6/site-packages/nova/image/glance.py:263","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"c082c41a225ca78c695028ce16e8336feb56ffaf","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # Assert RBD direct download conf options"},{"line_number":55,"context_line":"        self.assertEqual(\u0027images\u0027, rbd_pool)"},{"line_number":56,"context_line":"        self.assertTrue(host_sm.get_conf_opt(\u0027glance\u0027, \u0027enable_rbd_download\u0027))"},{"line_number":57,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":58,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":59,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":60,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":61,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":62,"context_line":"        # Assert if log with specified image is found"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a74e9e8_18e1122b","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":41},"in_reply_to":"d6508cdd_099c2e83","updated":"2021-06-09 13:37:13.000000000","message":"okay nice, yes it works! :))","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        self.assertNotEqual("},{"line_number":64,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":67,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":68,"context_line":"            path \u003d f\"/var/lib/nova/instances/{server[\u0027id\u0027]}/disk\""},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            path \u003d f\"/opt/stack/data/nova/instances/{server[\u0027id\u0027]}/disk\""},{"line_number":71,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":72,"context_line":"        # Assert image disk is present in file cache"},{"line_number":73,"context_line":"        self.assertEqual(ssh_client.execute("},{"line_number":74,"context_line":"            f\u0027[ -e \"{path}\" ] \u0026\u0026 echo True || echo False\u0027,"},{"line_number":75,"context_line":"            container_name\u003d\u0027nova_compute\u0027).strip(\u0027\\n\u0027), \u0027True\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"38ce0291_d0211bad","line":75,"range":{"start_line":66,"start_character":0,"end_line":75,"end_character":63},"updated":"2021-09-13 13:52:02.000000000","message":"So the easier thing to do here would be to use virsh to determine the path for us:\n\npath \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{print $2}\u0027\"\n\nThe image also ends up ../_base relative to that ^\n\n$ tree /opt/stack/data/nova/instances/\n/opt/stack/data/nova/instances/\n├── 216f9481-4c9d-4530-b865-51cedfa4b8e7\n│   ├── console.log\n│   ├── disk\n│   └── disk.info\n├── _base\n│   └── 2fdf9c2766deaaa1038a382bf1e921a32d7d545e\n├── compute_nodes\n└── locks\n    ├── nova-2fdf9c2766deaaa1038a382bf1e921a32d7d545e\n    └── nova-storage-registry-lock","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.assertNotEqual("},{"line_number":64,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":67,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":68,"context_line":"            path \u003d f\"/var/lib/nova/instances/{server[\u0027id\u0027]}/disk\""},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            path \u003d f\"/opt/stack/data/nova/instances/{server[\u0027id\u0027]}/disk\""},{"line_number":71,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":72,"context_line":"        # Assert image disk is present in file cache"},{"line_number":73,"context_line":"        self.assertEqual(ssh_client.execute("},{"line_number":74,"context_line":"            f\u0027[ -e \"{path}\" ] \u0026\u0026 echo True || echo False\u0027,"},{"line_number":75,"context_line":"            container_name\u003d\u0027nova_compute\u0027).strip(\u0027\\n\u0027), \u0027True\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"b9fe290d_b5962b0d","line":75,"range":{"start_line":66,"start_character":0,"end_line":75,"end_character":63},"in_reply_to":"38ce0291_d0211bad","updated":"2021-09-13 19:21:36.000000000","message":"Done","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":38,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_rbd_logs_and_conf(self):"},{"line_number":41,"context_line":"        base_server \u003d self.create_test_server()"},{"line_number":42,"context_line":"        image \u003d self.create_image_from_server("},{"line_number":43,"context_line":"            base_server[\u0027id\u0027],"},{"line_number":44,"context_line":"            name\u003d\u0027base-server-img\u0027,"},{"line_number":45,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        )"},{"line_number":47,"context_line":"        # Creating a server from above image should generate a new log"},{"line_number":48,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":49,"context_line":"                                         image_id\u003dimage[\u0027id\u0027])"},{"line_number":50,"context_line":"        host \u003d server[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":51,"context_line":"        host_sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":52,"context_line":"                                             self.os_admin.services_client)"}],"source_content_type":"text/x-python","patch_set":26,"id":"ec06d3c1_c3e48a99","line":49,"range":{"start_line":41,"start_character":0,"end_line":49,"end_character":62},"updated":"2021-09-14 09:04:40.000000000","message":"Might be worth commenting here that we have to do this to ensure a fresh attempt is made to download an image from the rbd pool to the local compute.","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_rbd_logs_and_conf(self):"},{"line_number":41,"context_line":"        base_server \u003d self.create_test_server()"},{"line_number":42,"context_line":"        image \u003d self.create_image_from_server("},{"line_number":43,"context_line":"            base_server[\u0027id\u0027],"},{"line_number":44,"context_line":"            name\u003d\u0027base-server-img\u0027,"},{"line_number":45,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        )"},{"line_number":47,"context_line":"        # Creating a server from above image should generate a new log"},{"line_number":48,"context_line":"        server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":49,"context_line":"                                         image_id\u003dimage[\u0027id\u0027])"},{"line_number":50,"context_line":"        host \u003d server[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":51,"context_line":"        host_sm \u003d clients.NovaServiceManager(host, \u0027nova-compute\u0027,"},{"line_number":52,"context_line":"                                             self.os_admin.services_client)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f0cf0b7_288c9e38","line":49,"range":{"start_line":41,"start_character":0,"end_line":49,"end_character":62},"in_reply_to":"ec06d3c1_c3e48a99","updated":"2021-09-14 14:10:41.000000000","message":"Done","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        self.assertNotEqual("},{"line_number":64,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        path \u003d f\"\"\""},{"line_number":67,"context_line":"        sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{print $2}\u0027\""},{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":70,"context_line":"        # Assert image disk is present in file cache"},{"line_number":71,"context_line":"        self.assertEqual(ssh_client.execute("}],"source_content_type":"text/x-python","patch_set":26,"id":"e61abd87_cb0d5e7e","line":68,"range":{"start_line":66,"start_character":0,"end_line":68,"end_character":11},"updated":"2021-09-14 09:04:40.000000000","message":"You need to escape the \u0027{print $2}\u0027 part within the f-string.\n\n  path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \"\n         f\"grep vda | awk \u0027{{print $2}}\u0027\"\n\n\n  \u003e\u003e\u003e f\"sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{print $2}\u0027\"\n  File \"\u003cstdin\u003e\", line 1\n    (print $2)\n  \u003e\u003e\u003e f\"sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{{print $2}}\u0027\"\n  \"sudo virsh domblklist 1 | grep vda | awk \u0027{print $2}\u0027\"\n\n\nFWIW this is likely causing the weird pep8 error on the file.","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        self.assertNotEqual("},{"line_number":64,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        path \u003d f\"\"\""},{"line_number":67,"context_line":"        sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{print $2}\u0027\""},{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":70,"context_line":"        # Assert image disk is present in file cache"},{"line_number":71,"context_line":"        self.assertEqual(ssh_client.execute("}],"source_content_type":"text/x-python","patch_set":26,"id":"79d8f1d3_4a589617","line":68,"range":{"start_line":66,"start_character":0,"end_line":68,"end_character":11},"in_reply_to":"e61abd87_cb0d5e7e","updated":"2021-09-14 14:10:41.000000000","message":"True, fixing this resolved the pep8 issue, thanks","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        sudo virsh domblklist {server[\u0027id\u0027]} | grep vda | awk \u0027{print $2}\u0027\""},{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":70,"context_line":"        # Assert image disk is present in file cache"},{"line_number":71,"context_line":"        self.assertEqual(ssh_client.execute("},{"line_number":72,"context_line":"            f\u0027[ -e \"{path}\" ] \u0026\u0026 echo True || echo False\u0027,"},{"line_number":73,"context_line":"            container_name\u003d\u0027nova_compute\u0027).strip(\u0027\\n\u0027), \u0027True\u0027)"}],"source_content_type":"text/x-python","patch_set":26,"id":"53bd2580_4a76b6f0","line":70,"range":{"start_line":70,"start_character":39,"end_line":70,"end_character":52},"updated":"2021-09-14 09:04:40.000000000","message":"in ephemeral instances_path and not in rbd\n\nYou can assert this without ssh\u0027ing back to the compute also with something like:\n\n  self.assertNotIn(\u0027rbd\u0027, path)","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"6da9e4fcafa0774b5f671b64689173feba6d1a16","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":61,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":62,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"}],"source_content_type":"text/x-python","patch_set":27,"id":"a719a9e7_afd34aca","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":54},"updated":"2021-09-20 14:08:30.000000000","message":"Why does this need the IP btw?","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"07b78a3cdd0727da9ac582e30d0e64789fbcb709","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":61,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":62,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"}],"source_content_type":"text/x-python","patch_set":27,"id":"ddb8334f_d2d1e561","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":54},"in_reply_to":"a719a9e7_afd34aca","updated":"2021-09-20 14:37:45.000000000","message":"Cz the SSHClient uses ctlplane address to ssh","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"412034f53efc89d98b9824caf8ab5e1bd952862e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        log_query_string \u003d f\"Attempting to export RBD image: \" \\"},{"line_number":61,"context_line":"            f\"[[]pool_name: {rbd_pool}[]] [[]image_uuid: \" \\"},{"line_number":62,"context_line":"            f\"{server[\u0027image\u0027][\u0027id\u0027]}[]]\""},{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"}],"source_content_type":"text/x-python","patch_set":27,"id":"ae05dfac_39f1ae57","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":54},"in_reply_to":"ddb8334f_d2d1e561","updated":"2021-09-21 14:30:31.000000000","message":"kk that\u0027s a wrinkle given how the NovaServiceManager appears to work above.","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"6da9e4fcafa0774b5f671b64689173feba6d1a16","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"}],"source_content_type":"text/x-python","patch_set":27,"id":"9df7aef9_d7e63633","line":66,"range":{"start_line":66,"start_character":13,"end_line":66,"end_character":27},"updated":"2021-09-20 14:08:30.000000000","message":"self.assertFalse(len(logs_client.parse(log_query_string))","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"2bed7ba19e1fb28a994c915d8860591b07e01d7b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"}],"source_content_type":"text/x-python","patch_set":27,"id":"51744781_0aa7b74d","line":66,"range":{"start_line":66,"start_character":13,"end_line":66,"end_character":27},"in_reply_to":"157e4223_c8d88442","updated":"2021-09-21 14:41:41.000000000","message":"We don\u0027t want it to assert False, the len of the string should not be empty if the match is found","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"0afdf0eaf69c42f2a1122d84377f3f4125373e66","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"}],"source_content_type":"text/x-python","patch_set":27,"id":"953c2885_58d65da2","line":66,"range":{"start_line":66,"start_character":13,"end_line":66,"end_character":27},"in_reply_to":"89d93db2_2a77996c","updated":"2021-09-21 14:09:35.000000000","message":"correction: self.assertTrue()","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"412034f53efc89d98b9824caf8ab5e1bd952862e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"}],"source_content_type":"text/x-python","patch_set":27,"id":"157e4223_c8d88442","line":66,"range":{"start_line":66,"start_character":13,"end_line":66,"end_character":27},"in_reply_to":"953c2885_58d65da2","updated":"2021-09-21 14:30:31.000000000","message":"It\u0027s assertFalse if len(logs_client.parse(log_query_string) returns 0 \n\n```\nipython\nPython 3.9.7 (default, Aug 30 2021, 00:00:00) \nType \u0027copyright\u0027, \u0027credits\u0027 or \u0027license\u0027 for more information\nIPython 7.20.0 -- An enhanced Interactive Python. Type \u0027?\u0027 for help.\n\nIn [1]: import unittest                                                                                                                           \n\nIn [2]: t \u003d unittest.TestCase()                                                                                                                   \n\nIn [3]: x \u003d []                                                                                                                                    \n\nIn [4]: t.assertFalse(len(x))                                                                                                                     \n\nIn [5]: x \u003d [\u0027foo\u0027]                                                                                                                               \n\nIn [6]: t.assertFalse(len(x))                                                                                                                     \n---------------------------------------------------------------------------\nAssertionError                            Traceback (most recent call last)\n\u003cipython-input-6-ad584a756844\u003e in \u003cmodule\u003e\n----\u003e 1 t.assertFalse(len(x))\n\n/usr/lib64/python3.9/unittest/case.py in assertFalse(self, expr, msg)\n    672         if expr:\n    673             msg \u003d self._formatMessage(msg, \"%s is not false\" % safe_repr(expr))\n--\u003e 674             raise self.failureException(msg)\n    675 \n    676     def assertTrue(self, expr, msg\u003dNone):\n\nAssertionError: 1 is not false\n```","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"07b78a3cdd0727da9ac582e30d0e64789fbcb709","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        host_ip \u003d get_ctlplane_address(host)"},{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"}],"source_content_type":"text/x-python","patch_set":27,"id":"89d93db2_2a77996c","line":66,"range":{"start_line":66,"start_character":13,"end_line":66,"end_character":27},"in_reply_to":"9df7aef9_d7e63633","updated":"2021-09-20 14:37:45.000000000","message":"Ack","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"6da9e4fcafa0774b5f671b64689173feba6d1a16","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":70,"context_line":"               f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":71,"context_line":"        # Assert image disk is present in ephemeral"},{"line_number":72,"context_line":"        # instances_path and not in rbd"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027rbd\u0027, path)"}],"source_content_type":"text/x-python","patch_set":27,"id":"4b37312a_43960995","line":70,"range":{"start_line":69,"start_character":5,"end_line":70,"end_character":47},"updated":"2021-09-20 14:08:30.000000000","message":"You need to run this on the compute for it to be useful, you\u0027re just formatting the string at the moment and this passes below as \u0027rbd\u0027 isn\u0027t part of the string.","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"07b78a3cdd0727da9ac582e30d0e64789fbcb709","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":70,"context_line":"               f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":71,"context_line":"        # Assert image disk is present in ephemeral"},{"line_number":72,"context_line":"        # instances_path and not in rbd"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027rbd\u0027, path)"}],"source_content_type":"text/x-python","patch_set":27,"id":"aff03ee8_aef61301","line":70,"range":{"start_line":69,"start_character":5,"end_line":70,"end_character":47},"in_reply_to":"4b37312a_43960995","updated":"2021-09-20 14:37:45.000000000","message":"So anyway we will have to ssh once to the compute, so what was the issue with PS #26. Can u suggest a better to fetch path","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"2bed7ba19e1fb28a994c915d8860591b07e01d7b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":70,"context_line":"               f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":71,"context_line":"        # Assert image disk is present in ephemeral"},{"line_number":72,"context_line":"        # instances_path and not in rbd"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027rbd\u0027, path)"}],"source_content_type":"text/x-python","patch_set":27,"id":"8e999853_2f811b02","line":70,"range":{"start_line":69,"start_character":5,"end_line":70,"end_character":47},"in_reply_to":"5c704340_2dc39890","updated":"2021-09-21 14:41:41.000000000","message":"Done","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"412034f53efc89d98b9824caf8ab5e1bd952862e","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        self.assertNotEqual("},{"line_number":67,"context_line":"            len(logs_client.parse(log_query_string)), 0"},{"line_number":68,"context_line":"        )"},{"line_number":69,"context_line":"        path \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":70,"context_line":"               f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":71,"context_line":"        # Assert image disk is present in ephemeral"},{"line_number":72,"context_line":"        # instances_path and not in rbd"},{"line_number":73,"context_line":"        self.assertNotIn(\u0027rbd\u0027, path)"}],"source_content_type":"text/x-python","patch_set":27,"id":"5c704340_2dc39890","line":70,"range":{"start_line":69,"start_character":5,"end_line":70,"end_character":47},"in_reply_to":"aff03ee8_aef61301","updated":"2021-09-21 14:30:31.000000000","message":"The issue with PS#26 was just the way you were finding the path, this command should find it for you on any deployment either up or downstream.","commit_id":"bcc31e86c7bb16f3f8369d656817ccb65d8fe9ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8bab2a00a92cb33a6dda8ae91cfa6e4e0f7a1ec6","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertTrue(len(logs_client.parse(log_query_string)))"},{"line_number":67,"context_line":"        path_cmd \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":68,"context_line":"                   f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":69,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":70,"context_line":"        path \u003d ssh_client.execute("}],"source_content_type":"text/x-python","patch_set":29,"id":"bc3e0012_a434aed0","line":67,"updated":"2021-09-22 19:35:35.000000000","message":"Could we not integrate this into the VirshClient? Something like get_server_blockdevice_path? Lee might have a better idea for the name.","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"3162d92da577c1b04da1254cee861fdeea34a1a8","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        logs_client \u003d clients.LogParserClient(host_ip)"},{"line_number":65,"context_line":"        # Assert if log with specified image is found"},{"line_number":66,"context_line":"        self.assertTrue(len(logs_client.parse(log_query_string)))"},{"line_number":67,"context_line":"        path_cmd \u003d f\"sudo virsh domblklist {server[\u0027id\u0027]} | \" \\"},{"line_number":68,"context_line":"                   f\"grep vda | awk \u0027{{print $2}}\u0027\""},{"line_number":69,"context_line":"        ssh_client \u003d clients.SSHClient(host_ip)"},{"line_number":70,"context_line":"        path \u003d ssh_client.execute("}],"source_content_type":"text/x-python","patch_set":29,"id":"73590e25_2a16f85c","line":67,"in_reply_to":"bc3e0012_a434aed0","updated":"2021-09-22 20:25:26.000000000","message":"Yeah that sounds feasible and a better way to approach this, ill implement this","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"}],"whitebox_tempest_plugin/config.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        help\u003d\u0027Command to stop the nova-compute service, without any \u0027"},{"line_number":134,"context_line":"             \u0027privilege management (ie, no sudo).\u0027),"},{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_service\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""}],"source_content_type":"text/x-python","patch_set":19,"id":"fea85039_fe8c0588","line":136,"range":{"start_line":136,"start_character":9,"end_line":136,"end_character":20},"updated":"2021-05-24 16:11:53.000000000","message":"log_query_command?","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        help\u003d\u0027Command to stop the nova-compute service, without any \u0027"},{"line_number":134,"context_line":"             \u0027privilege management (ie, no sudo).\u0027),"},{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_service\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""}],"source_content_type":"text/x-python","patch_set":19,"id":"ace3dbf3_8fa4f357","line":136,"range":{"start_line":136,"start_character":9,"end_line":136,"end_character":20},"in_reply_to":"fea85039_fe8c0588","updated":"2021-05-24 19:34:13.000000000","message":"Done","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"70df3a85ce9ebbd893d558f502a4b32a2d11f4e5","unresolved":true,"context_lines":[{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_query_command\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""},{"line_number":140,"context_line":"             \"Currently, supported values are \u0027journalctl\u0027 (default) \""},{"line_number":141,"context_line":"             \"for devstack and \u0027zgrep\u0027\"),"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a5093ed_2978db47","line":138,"range":{"start_line":138,"start_character":18,"end_line":138,"end_character":28},"updated":"2021-06-09 13:19:16.000000000","message":"This isn\u0027t valid, you need to use the -g argument with journalctl to grep the logs, ideally against the devstack@n-cpu service.","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"c66a604e79bfac328333fcfe9e4799af188c4edc","unresolved":true,"context_lines":[{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_query_command\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""},{"line_number":140,"context_line":"             \"Currently, supported values are \u0027journalctl\u0027 (default) \""},{"line_number":141,"context_line":"             \"for devstack and \u0027zgrep\u0027\"),"}],"source_content_type":"text/x-python","patch_set":20,"id":"347bd243_49efd279","line":138,"range":{"start_line":138,"start_character":18,"end_line":138,"end_character":28},"in_reply_to":"1a5093ed_2978db47","updated":"2021-06-09 13:30:28.000000000","message":"i already do this in the client method itself\nhttps://review.opendev.org/c/openstack/whitebox-tempest-plugin/+/786979/21/whitebox_tempest_plugin/services/clients.py#70","commit_id":"46ac3bfd31662705feb9aad044bc62141a9b2702"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":true,"context_lines":[{"line_number":136,"context_line":"        \u0027log_query_command\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""},{"line_number":140,"context_line":"             \"Currently, supported values are \u0027journalctl\u0027 (default) \""},{"line_number":141,"context_line":"             \"for devstack and \u0027zgrep\u0027\"),"},{"line_number":142,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a41d867_82e20141","line":139,"range":{"start_line":139,"start_character":26,"end_line":139,"end_character":33},"updated":"2021-09-13 13:52:02.000000000","message":"utility to run","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"},{"line_number":139,"context_line":"        help\u003d\"Name of the service running LogParserClient commands. \""},{"line_number":140,"context_line":"             \"Currently, supported values are \u0027journalctl\u0027 (default) \""},{"line_number":141,"context_line":"             \"for devstack and \u0027zgrep\u0027\"),"},{"line_number":142,"context_line":"]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"libvirt_group \u003d cfg.OptGroup("}],"source_content_type":"text/x-python","patch_set":24,"id":"b4c59925_b6c3c08f","line":141,"range":{"start_line":141,"start_character":32,"end_line":141,"end_character":37},"updated":"2021-09-13 13:52:02.000000000","message":"nit - .. for TripleO","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"f6c89016e7c491fd671a9ddfe1a656bc92f26807","unresolved":false,"context_lines":[{"line_number":241,"context_line":"             \u0027with vGPU devices\u0027)"},{"line_number":242,"context_line":"]"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"compute_features_group_opts \u003d ["},{"line_number":245,"context_line":"    cfg.BoolOpt(\u0027virtio_rng\u0027,"},{"line_number":246,"context_line":"                default\u003dFalse,"},{"line_number":247,"context_line":"                help\u003d\"If false, skip virtio rng tests\"),"},{"line_number":248,"context_line":"    cfg.BoolOpt(\u0027rbd_download\u0027,"},{"line_number":249,"context_line":"                default\u003dFalse,"},{"line_number":250,"context_line":"                help\u003d\"If false, skip rbd direct download tests\")"},{"line_number":251,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":24,"id":"875417aa_e9c8254c","line":250,"range":{"start_line":244,"start_character":0,"end_line":250,"end_character":64},"updated":"2021-09-13 13:52:02.000000000","message":"I almost feel that we need a separate group for whitebox specific compute features but there\u0027s already an example here so I assume people are okay with this for now?","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"f3e6ed608549d664a721751cdc8d6e63a0cc6288","unresolved":false,"context_lines":[{"line_number":241,"context_line":"             \u0027with vGPU devices\u0027)"},{"line_number":242,"context_line":"]"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"compute_features_group_opts \u003d ["},{"line_number":245,"context_line":"    cfg.BoolOpt(\u0027virtio_rng\u0027,"},{"line_number":246,"context_line":"                default\u003dFalse,"},{"line_number":247,"context_line":"                help\u003d\"If false, skip virtio rng tests\"),"},{"line_number":248,"context_line":"    cfg.BoolOpt(\u0027rbd_download\u0027,"},{"line_number":249,"context_line":"                default\u003dFalse,"},{"line_number":250,"context_line":"                help\u003d\"If false, skip rbd direct download tests\")"},{"line_number":251,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":24,"id":"a78058b3_f5f0d846","line":250,"range":{"start_line":244,"start_character":0,"end_line":250,"end_character":64},"in_reply_to":"875417aa_e9c8254c","updated":"2021-09-13 19:21:36.000000000","message":"+1 for the need for a separate group, but i suppose it\u0027s okay using this for now. We can discuss this with Artom, Sean and James","commit_id":"312b0163ef4f58089fd6c09d85e1fd139e6fc0da"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8bab2a00a92cb33a6dda8ae91cfa6e4e0f7a1ec6","unresolved":true,"context_lines":[{"line_number":132,"context_line":"        \u0027stop_command\u0027,"},{"line_number":133,"context_line":"        help\u003d\u0027Command to stop the nova-compute service, without any \u0027"},{"line_number":134,"context_line":"             \u0027privilege management (ie, no sudo).\u0027),"},{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_query_command\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"}],"source_content_type":"text/x-python","patch_set":29,"id":"32edfb50_36a258ab","line":135,"updated":"2021-09-22 19:35:35.000000000","message":"So I would unify this into a single freeform log_query_command option, and have the value be the full  command string, including the \u0027%s\u0027 that\u0027ll get replaced with the thing we\u0027re searching for. See later for what the expected values would look like.","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"3162d92da577c1b04da1254cee861fdeea34a1a8","unresolved":true,"context_lines":[{"line_number":132,"context_line":"        \u0027stop_command\u0027,"},{"line_number":133,"context_line":"        help\u003d\u0027Command to stop the nova-compute service, without any \u0027"},{"line_number":134,"context_line":"             \u0027privilege management (ie, no sudo).\u0027),"},{"line_number":135,"context_line":"    cfg.StrOpt("},{"line_number":136,"context_line":"        \u0027log_query_command\u0027,"},{"line_number":137,"context_line":"        default\u003d\"journalctl\","},{"line_number":138,"context_line":"        choices\u003d[\"journalctl\", \"zgrep\"],"}],"source_content_type":"text/x-python","patch_set":29,"id":"49227ce8_cdb314cd","line":135,"in_reply_to":"32edfb50_36a258ab","updated":"2021-09-22 20:25:26.000000000","message":"Lee wanted it this way, so ill wait for his reply","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"}],"whitebox_tempest_plugin/services/clients.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":70,"context_line":"class LogParserClient(SSHClient):"},{"line_number":71,"context_line":"    \"\"\"A client to parse logs\"\"\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"}],"source_content_type":"text/x-python","patch_set":19,"id":"69693d01_f5b868e0","line":73,"range":{"start_line":73,"start_character":20,"end_line":73,"end_character":32},"updated":"2021-05-24 16:11:53.000000000","message":"query_string?","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"class LogParserClient(SSHClient):"},{"line_number":71,"context_line":"    \"\"\"A client to parse logs\"\"\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"}],"source_content_type":"text/x-python","patch_set":19,"id":"f1a8390e_030701c2","line":73,"range":{"start_line":73,"start_character":20,"end_line":73,"end_character":32},"in_reply_to":"69693d01_f5b868e0","updated":"2021-05-24 19:34:13.000000000","message":"Done","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % grep_command"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":19,"id":"e1bc8c6b_4129bd35","line":76,"range":{"start_line":76,"start_character":42,"end_line":76,"end_character":58},"updated":"2021-05-24 16:11:53.000000000","message":"/var/log/containers/nova","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"59bff15bad3cacfe8639e870662379e945cdac91","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % grep_command"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":19,"id":"2d01f5ea_2fe50a88","line":76,"range":{"start_line":76,"start_character":12,"end_line":76,"end_character":75},"updated":"2021-05-24 16:11:53.000000000","message":"tbh I think this entire string could be templated and provided by a configurable.","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % grep_command"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":19,"id":"51e44219_40c19f2e","line":76,"range":{"start_line":76,"start_character":12,"end_line":76,"end_character":75},"in_reply_to":"2d01f5ea_2fe50a88","updated":"2021-05-24 19:34:13.000000000","message":"can you pls suggest how you want it to be?","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"ebd89533868a5184b66d97538dd8549d65d058c7","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, grep_command):"},{"line_number":74,"context_line":"        log_service \u003d CONF.whitebox_nova_compute.log_service"},{"line_number":75,"context_line":"        if log_service \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % grep_command"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % grep_command"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":19,"id":"c946c125_5b529357","line":76,"range":{"start_line":76,"start_character":42,"end_line":76,"end_character":58},"in_reply_to":"e1bc8c6b_4129bd35","updated":"2021-05-24 19:34:13.000000000","message":"We\u0027ll be ssh\u0027ing to the container, so logs would be in /var/log/nova/*","commit_id":"f64f285f755d6ecd07cf87567de2e99b50695f5a"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"e70f69d6edfdfda6ef1f4e5ff39166400c82a910","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, query_string):"},{"line_number":74,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":75,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % query_string"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % query_string"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9c9bdd8b_6e29a7cb","line":76,"range":{"start_line":76,"start_character":43,"end_line":76,"end_character":57},"updated":"2021-09-14 09:04:40.000000000","message":"Do we run this from within the nova_compute container?\n\nThis could also be a configurable FWIW, CONF.whitebox_nova_compute.log_path for example.","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"6af8ce0acb44b489f63921d6ddef3fa7c91158ef","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def parse(self, query_string):"},{"line_number":74,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":75,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":76,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 /var/log/nova/*\"\u0027 % query_string"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % query_string"},{"line_number":79,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":26,"id":"fe26badd_d72799a4","line":76,"range":{"start_line":76,"start_character":43,"end_line":76,"end_character":57},"in_reply_to":"9c9bdd8b_6e29a7cb","updated":"2021-09-14 14:10:41.000000000","message":"Yes we do run this from within the nova_compute container (check line #79). Sure i can make the configurable with the default as \u0027/var/log/nova/*\u0027","commit_id":"76fae90c80c77057da26ff3dac4f90326545a367"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8bab2a00a92cb33a6dda8ae91cfa6e4e0f7a1ec6","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":75,"context_line":"        log_path \u003d CONF.whitebox_nova_compute.log_path"},{"line_number":76,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":77,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 %s\"\u0027 % (query_string, log_path)"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % query_string"},{"line_number":80,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":29,"id":"e89af4f6_4df02a0c","line":77,"updated":"2021-09-22 19:35:35.000000000","message":"With my previous suggestion, this value would be \u0027zgrep %s /var/log/nova\u0027\n\n(Why do we need the `sh -c` again?)","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":27478,"name":"Archit Modi","email":"amodi@redhat.com","username":"amodi"},"change_message_id":"3162d92da577c1b04da1254cee861fdeea34a1a8","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        log_query_command \u003d CONF.whitebox_nova_compute.log_query_command"},{"line_number":75,"context_line":"        log_path \u003d CONF.whitebox_nova_compute.log_path"},{"line_number":76,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":77,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 %s\"\u0027 % (query_string, log_path)"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % query_string"},{"line_number":80,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":29,"id":"c9c74804_bd4736cf","line":77,"in_reply_to":"e89af4f6_4df02a0c","updated":"2021-09-22 20:25:26.000000000","message":"The query_string which we are using contains colons/square brackets which break the command when not used with \u0027sh -c\u0027","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"8bab2a00a92cb33a6dda8ae91cfa6e4e0f7a1ec6","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        if log_query_command \u003d\u003d \u0027zgrep\u0027:"},{"line_number":77,"context_line":"            command \u003d \u0027sh -c \"zgrep \\\u0027%s\\\u0027 %s\"\u0027 % (query_string, log_path)"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            command \u003d \u0027journalctl -u devstack@n-cpu -g \\\u0027%s\\\u0027\u0027 % query_string"},{"line_number":80,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_compute\u0027, sudo\u003dTrue)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"799a6019_94e8587c","line":79,"updated":"2021-09-22 19:35:35.000000000","message":"This value remains unchanged.","commit_id":"2f3d3efcce0db85d2f8a479cc88ebe3d7e2fbc71"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"47c8063a6ce3ef45eb587baf10ed4cc42f5d74bb","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        command \u003d \u0027virsh capabilities\u0027"},{"line_number":67,"context_line":"        return self.execute(command, container_name\u003d\u0027nova_libvirt\u0027, sudo\u003dTrue)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def domblklist(self, server_id, shell_cmd\u003dNone):"},{"line_number":70,"context_line":"        command \u003d \u0027virsh domblklist %s\u0027 % server_id"},{"line_number":71,"context_line":"        if shell_cmd:"},{"line_number":72,"context_line":"            command \u003d \u0027virsh domblklist %s %s\u0027 % (server_id, shell_cmd)"}],"source_content_type":"text/x-python","patch_set":31,"id":"2e0eb664_5a4e08e4","line":69,"updated":"2021-09-24 14:23:05.000000000","message":"OK, I see what you\u0027ve done, this command just dumps out the entire domblklist output.\n\nYeah OK, we have precedent for that, I guess this works.","commit_id":"4cee9be59e8bb788b818368a5f332d22da71ff06"}]}
